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

# 取消关注用户

> 使已认证的源用户在 X/Twitter 上取消关注目标用户。通过 AIsa 网关代理官方 X v2 取消关注用户端点。

代表已认证的源用户在 X/Twitter 上取消关注某个用户。这是官方 [X v2 `DELETE /2/users/{source_user_id}/following/{target_user_id}` 端点](https://docs.x.com/x-api/users/unfollow-user)的代理，通过 AIsa 网关上的 `https://api.aisa.one/apis/v1/twitter/unfollow_twitter` 提供。为与其他 Twitter 写入端点保持一致，AIsa 使用 `POST`。

## 前提条件

* **AIsa API 密钥**（每个请求均使用 Bearer token）。
* 源用户账户需完成一次性 **OAuth 授权**。调用 [`POST /apis/v1/twitter/auth_twitter`](/zh/api-reference/twitter/post_twitter-auth-twitter) 关联你的 X 账户。该端点会启动 OAuth 流程，并将生成的会话与 AIsa 密钥关联，因此无需在此请求正文中传递 OAuth token。
* X 会话必须具有以下作用域：`follows.write`、`tweet.read`、`users.read`。

<Tip>
  想要使用 `@username` 而非数字 ID 取消关注？请先通过 [`GET /twitter/user/info`](/zh/api-reference/twitter/get_twitter-user-info) 解析用户，然后将返回的 `id` 作为 `target_user_id` 传入。
</Tip>

## 响应字段

| 字段               | 类型      | 含义                                                                |
| ---------------- | ------- | ----------------------------------------------------------------- |
| `data.following` | boolean | 源用户不再关注目标用户后为 `false`。即使源用户最初并未关注目标用户，也会返回 `false`，因为取消关注操作具有幂等性。 |

## 幂等性

对未关注的用户调用 `unfollow_twitter` 不会执行任何操作。端点仍会返回 `200` 和 `{ "data": { "following": false } }`。这与 X 自身的行为一致，因此可以安全重试。

有关完整的错误响应和重试指南，请参阅[错误代码](/zh/api-reference/errors)。写入端点会计入 API 密钥的标准 RPM/TPM 限额，请参阅[速率限制](/zh/api-reference/rate-limits)。

## 相关内容

<CardGroup cols={3}>
  <Card title="关联 X 账户" icon="key" href="/zh/api-reference/twitter/post_twitter-auth-twitter">
    启动用于启用此端点的 OAuth 流程。
  </Card>

  <Card title="关注用户" icon="user-plus" href="/zh/api-reference/twitter/post_twitter-follow-twitter">
    执行相反操作。
  </Card>

  <Card title="检查关注关系" icon="user-group" href="/zh/api-reference/twitter/get_twitter-user-check-follow-relationship">
    调用前验证关注关系。
  </Card>
</CardGroup>


## OpenAPI

````yaml openapi/zh/twitter-actions.json POST /twitter/unfollow_twitter
openapi: 3.0.3
info:
  title: Twitter Actions API
  version: 1.0.0
  description: >-
    对 X/Twitter 执行写入操作，并通过 AIsa 网关路由。参照官方 X v2 API 端点建模（例如 POST
    /2/users/{id}/following）。
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - BearerAuth: []
paths:
  /twitter/unfollow_twitter:
    post:
      summary: 在 X/Twitter 上取消关注用户
      description: >-
        使已认证的源用户在 X/Twitter 上取消关注指定的目标用户。此操作对应[官方 X v2 `DELETE
        /2/users/{source_user_id}/following/{target_user_id}`
        端点](https://docs.x.com/x-api/users/unfollow-user)，并通过 AIsa 网关路由。为与其他
        AIsa Twitter 写入操作保持一致，此处使用 POST（而非 DELETE）。


        **身份验证。**需要源用户的 OAuth 会话，并将其关联到您的 AIsa API 密钥。通过 `POST
        /apis/v1/twitter/auth_twitter` 关联一次账户即可。


        **权限范围。**底层 X 会话必须具有 `follows.write`、`tweet.read` 和 `users.read` 权限。


        取消关注您当前并未关注的用户不会执行任何操作，但仍会返回 `200`，其中 `following: false`。
      operationId: unfollowTwitterUser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - target_user_id
              properties:
                target_user_id:
                  type: string
                  description: 要取消关注的 X/Twitter 用户的数字 ID。必须匹配 X 正则表达式 `^[0-9]{1,19}$`。
                  pattern: ^[0-9]{1,19}$
                  example: '2244994945'
            examples:
              unfollow_user:
                summary: Unfollow @TwitterDev (id 2244994945)
                value:
                  target_user_id: '2244994945'
      responses:
        '200':
          description: 取消关注成功（或源用户原本就未关注目标用户）。
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      following:
                        type: boolean
                        description: 当源用户不再关注目标用户后，值为 `false`。
              example:
                data:
                  following: false
        '400':
          description: 无效请求 — 缺少 `target_user_id` 或其格式不正确。
        '401':
          description: AIsa API 密钥缺失或无效。
        '403':
          description: >-
            OAuth 会话缺失、已过期或缺少 `follows.write` 作用域。请通过 `POST
            /apis/v1/twitter/auth_twitter` 重新授权。
        '429':
          description: 已触发速率限制——可能是您的 AIsa 密钥达到 RPM 上限，或上游 X 触发速率限制。
        '500':
          description: 内部错误。
        '502':
          description: 上游 X API 无法访问或返回错误。可安全地使用指数退避重试。
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: AISA API Key
      description: 你的 AIsa API 密钥。经过身份验证的源用户（执行关注操作的账户）由附加到你的密钥的 OAuth 会话决定。

````