> ## 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.

> ## Agent Instructions
> - Base URLs: models `https://api.aisa.one/v1` (Gemini GenerateContent: `https://api.aisa.one/v1beta`); data APIs `https://api.aisa.one/apis/v1`. The `servers` of each operation in https://aisa.one/openapi.yaml is authoritative.
> - Auth: `Authorization: Bearer $AISA_API_KEY`. Never print, log, or commit the key.
> - MCP (preferred for agents): `https://mcp.aisa.one/mcp`, signed in with OAuth, so there is no key to paste.
> - Agent Skill: `npx skills add AIsa-team/agent-skills --skill aisa`. Fallback with the AIsa CLI: `aisa skills install aisa`.
> - Spending: docs, https://aisa.one/models, https://aisa.one/api, `/v1/models`, and MCP `search`, `list_categories`, `get_details`, `batch_quote`, and the `account` operation are free. Quote the exact calls before running them (MCP `batch_quote`, CLI `aisa quote --json`). If the quote reports `auto_execute_eligible: true`, run it unless the user set a tighter limit or asked only for a quote. Otherwise, tell the user in one message the planned calls, the quoted price, and a total USD budget for the task, then wait for approval. Direct HTTP calls follow the stricter rule at https://aisa.one/docs/get-started/cli.md#direct-http-fallback. Do not make paid calls to test availability. Full rule: https://aisa.one/llms.txt

# Mark a conversation as read

> Inbox. Changes your own setup; needs social:draft. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.

Marks all unread incoming messages in the conversation as read.

For WhatsApp, this also sends read receipts (blue ticks) to the contact,
EXCEPT on coexistence accounts (where the WhatsApp Business app on the
customer's phone owns read state and we never override it).

For iMessage, this also marks the conversation read with the contact
(1:1 conversations only). Best-effort.

For Instagram (Instagram Login and Facebook Login) and Facebook Messenger,
this also sends a `mark_seen` read receipt to the contact, so they see the
conversation as seen. Best-effort: a Meta failure never fails the request.

This is the explicit, human-driven counterpart to `GET .../messages`,
which is side-effect-free and does NOT mark anything read. Call this when
a user actually views the conversation.

<!-- aisa-pricing:start -->
当前未提供请求参考价格；请使用接口支持的报价功能确认费用。 最终费用以账户适用价格及实际结算为准。
<!-- aisa-pricing:end -->

## 请求规范

* **方法与路径:** POST /apis/v1/social/inbox/conversations/\{conversationId}/read
* **可用状态:** enabled
* **请求 URL 模板:** `https://api.aisa.one/apis/v1/social/inbox/conversations/{conversationId}/read`
* **conversationId:** path; 必填
* **Runtime 事实版本:** 99acb5bddbedc8d3352e7c4fef86c3e6d8852c14772bcd18dbcf415237a642bd

[完整 OpenAPI 定义](https://aisa.one/docs/reference-contracts/zh/aisa-social.json)

有效请求与价格声明（包括认证和引用的 schema）：

```json theme={null}
{
  "operationId": "post_aisa_social_apis_v1_social_inbox_conversatio_2a39d2",
  "method": "POST",
  "path": "/apis/v1/social/inbox/conversations/{conversationId}/read",
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "parameters": [
    {
      "description": "The conversation ID",
      "in": "path",
      "name": "conversationId",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "example": {
          "accountId": "acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3"
        },
        "schema": {
          "properties": {
            "accountId": {
              "description": "One of your social accounts (acc_...).",
              "pattern": "^acc_[0-9A-Za-z]{22}$",
              "type": "string"
            }
          },
          "required": [
            "accountId"
          ],
          "type": "object"
        }
      }
    },
    "required": true
  },
  "x-aisa-status": "enabled",
  "x-aisa-pricing": {
    "description": "Included with your connected social accounts: AIsa does not charge per call.",
    "kind": "no_customer_charge"
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}
```

## 费用与请求规则

当前未提供请求参考价格；请使用接口支持的报价功能确认费用。 最终费用以账户适用价格及实际结算为准。

公开参考值不是你的账户报价或最终扣费。对于支持 X-AISA-Cost-Mode: quote 的接口，执行前请针对完整请求获取免费报价；执行后通过响应费用元数据和 Usage Logs 核对结算费用。1 USD 等于 1,000,000 个整数 micro-USD。


## OpenAPI

````yaml reference-contracts/zh/aisa-social.json POST /apis/v1/social/inbox/conversations/{conversationId}/read
openapi: 3.1.0
info:
  description: ''
  title: AIsa Social
  version: '1'
  x-aisa-capabilities:
    idempotency: Idempotency-Key
    max_price: X-AISA-Max-Price-USD
    quote:
      header: X-AISA-Cost-Mode
      value: quote
  x-aisa-configured-paths: []
  x-aisa-document:
    facts_hash: 99acb5bddbedc8d3352e7c4fef86c3e6d8852c14772bcd18dbcf415237a642bd
    generator_version: '3'
    protocol_version: '1'
    schema_version: '1'
    composer_version: '27'
    response_pending: []
    document_hash: sha256:7f9742cb1ea233c648dcb290fdfbf24e53a27dcf900ec1386f83a8ef2e6b1bf9
  x-aisa-plans:
    builder: 1
    display_plan: payg
    payg: 1
    similarweb_payg: 1
    team: 1
    version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-provider: aisa-social
  x-aisa-catalogs:
    aisa-social:
      title: AIsa Social
      description: ''
      x-aisa-document:
        facts_hash: 99acb5bddbedc8d3352e7c4fef86c3e6d8852c14772bcd18dbcf415237a642bd
        generator_version: '3'
        protocol_version: '1'
        schema_version: '1'
      x-aisa-plans:
        builder: 1
        display_plan: payg
        payg: 1
        similarweb_payg: 1
        team: 1
        version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
      x-aisa-capabilities:
        idempotency: Idempotency-Key
        max_price: X-AISA-Max-Price-USD
        quote:
          header: X-AISA-Cost-Mode
          value: quote
servers:
  - url: https://api.aisa.one
security:
  - bearerAuth: []
paths:
  /apis/v1/social/inbox/conversations/{conversationId}/read:
    post:
      summary: Mark a conversation as read
      description: >-
        Inbox. Changes your own setup; needs social:draft. Audited. Ids are
        yours: accounts acc_..., profiles prf_..., posts pst_...; every other
        object id is checked against your accounts before the call.


        Marks all unread incoming messages in the conversation as read.


        For WhatsApp, this also sends read receipts (blue ticks) to the contact,

        EXCEPT on coexistence accounts (where the WhatsApp Business app on the

        customer's phone owns read state and we never override it).


        For iMessage, this also marks the conversation read with the contact

        (1:1 conversations only). Best-effort.


        For Instagram (Instagram Login and Facebook Login) and Facebook
        Messenger,

        this also sends a `mark_seen` read receipt to the contact, so they see
        the

        conversation as seen. Best-effort: a Meta failure never fails the
        request.


        This is the explicit, human-driven counterpart to `GET .../messages`,

        which is side-effect-free and does NOT mark anything read. Call this
        when

        a user actually views the conversation.


        <!-- aisa-pricing:start -->

        当前未提供请求参考价格；请使用接口支持的报价功能确认费用。 最终费用以账户适用价格及实际结算为准。

        <!-- aisa-pricing:end -->
      operationId: post_aisa_social_apis_v1_social_inbox_conversatio_2a39d2
      parameters:
        - description: The conversation ID
          in: path
          name: conversationId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              accountId: acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3
            schema:
              properties:
                accountId:
                  description: One of your social accounts (acc_...).
                  pattern: ^acc_[0-9A-Za-z]{22}$
                  type: string
              required:
                - accountId
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  markedCount:
                    description: Number of messages marked read by this call
                    type: integer
                  success:
                    type: boolean
                type: object
          description: Conversation marked read
        default:
          content:
            application/json:
              schema:
                properties:
                  error:
                    properties:
                      code:
                        type:
                          - string
                          - 'null'
                      details:
                        additionalProperties: {}
                        type:
                          - object
                          - 'null'
                      message:
                        type:
                          - string
                          - 'null'
                      param:
                        type:
                          - string
                          - 'null'
                      retryHint:
                        enum:
                          - never
                          - after_delay
                          - after_reconnect
                          - reconcile_first
                          - null
                        type:
                          - string
                          - 'null'
                      retryable:
                        type:
                          - boolean
                          - 'null'
                      type:
                        type:
                          - string
                          - 'null'
                    type:
                      - object
                      - 'null'
                type: object
          description: Error. The code field is stable; see the error catalog.
components:
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.