> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# X API v2 でダイレクトメッセージのブロックを管理する

> X API v2 の Manage DM blocks エンドポイントを使用して、認証済みユーザーの代理で指定したアカウントをブロックまたはブロック解除し、誰がダイレクトメッセージを送信できるかを制御します。

manage DM blocks エンドポイントを使用すると、認証済みユーザーの代理で指定したアカウントをブロックまたはブロック解除できます。これらのエンドポイントには、次の 2 つの POST メソッドが用意されています。

* **/2/users/:id/dm/block**: アカウントをブロックできます
* **/2/users/:id/dm/unblock**: アカウントのブロックを解除できます

### はじめに

### 認証

ユーザーの代理でリクエストを行うため、これらのエンドポイントは [OAuth 1.0a User Context](/resources/fundamentals/authentication#obtaining-access-tokens-using-3-legged-oauth-flow) または [OAuth 2.0 Authorization Code with PKCE](/resources/fundamentals/authentication#oauth-2-0-authorization-code-flow-with-pkce-2) のいずれかで認証し、リクエスト対象のユーザーに紐づく user Access Token を利用する必要があります。この user Access Token は、[3-legged OAuth flow](https://developer.x.com/resources/fundamentals/authentication/obtaining-user-access-tokens)（OAuth 1.0a）または [Authorization Code with PKCE grant flow](/resources/fundamentals/authentication#oauth-2-0-authorization-code-flow-with-pkce-2)（OAuth 2.0）を使用して生成できます。

### リクエストの実行

Block

ユーザーがアプリで認証を完了したら、以下のようにユーザーの代理で Block エンドポイントを呼び出すことができます。

```
curl --request POST 'https://api.x.com/2/users/:id/dm/block' --header 'Authorization: ••••••'
```

リクエストが成功すると、以下のような JSON レスポンスが返されます。

```json theme={null}
{
   "data": {
       "blocked": true
   }
}
```

**Unblock**

ユーザーがアプリで認証を完了したら、以下のようにユーザーの代理で Unblock エンドポイントを呼び出すことができます。

```
curl --request POST 'https://api.x.com/2/users/:id/dm/unblock' --header 'Authorization: ••••••'
```

リクエストが成功すると、以下のような JSON レスポンスが返されます。

```json theme={null}
{
   "data": {
       "blocked": false
   }
}
```
