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

# Get Instagram story insights

> Instagram. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.

Returns metrics for a single story. The `source` field discriminates between three states:

- `live`: fetched from Meta in real time (story is still active)
- `cached`: fetched from a persisted `story_insights` webhook payload (story has expired but we received its final-state metrics from Meta)
- `unavailable`: story has expired and Meta sent no `story_insights` webhook for it

Meta sends that webhook most reliably for accounts connected with Facebook Login or with their linked Facebook Page connected. So read insights while the story is live if you need final numbers.

Meta can report an expired story as an empty successful result rather than an error. So an expired story resolves to `cached` or `unavailable` even though the upstream request itself succeeded.

### Field semantics

Field semantics follow Meta's API.

- Counts below 5 may be returned as 0 due to Meta's privacy floor on small audiences.
- The `navigation` field is the sum of `tapsForward + tapsBack + exits + swipesForward`.

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

## 请求规范

* **方法与路径:** GET /apis/v1/social/accounts/\{accountId}/instagram/stories/\{storyId}/insights
* **可用状态:** enabled
* **请求 URL 模板:** `https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/stories/{storyId}/insights`
* **accountId:** path; 必填
* **storyId:** path; 必填
* **Runtime 事实版本:** 99acb5bddbedc8d3352e7c4fef86c3e6d8852c14772bcd18dbcf415237a642bd

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

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

```json theme={null}
{
  "operationId": "get_aisa_social_apis_v1_social_accounts_accountid_efb0e8",
  "method": "GET",
  "path": "/apis/v1/social/accounts/{accountId}/instagram/stories/{storyId}/insights",
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "parameters": [
    {
      "description": "One of your social accounts (acc_...).",
      "in": "path",
      "name": "accountId",
      "required": true,
      "schema": {
        "pattern": "^acc_[0-9A-Za-z]{22}$",
        "type": "string"
      }
    },
    {
      "description": "The Instagram media ID of the story.",
      "in": "path",
      "name": "storyId",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "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 GET /apis/v1/social/accounts/{accountId}/instagram/stories/{storyId}/insights
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/accounts/{accountId}/instagram/stories/{storyId}/insights:
    get:
      summary: Get Instagram story insights
      description: >-
        Instagram. Read only; needs social:read. Ids are yours: accounts
        acc_..., profiles prf_..., posts pst_...; every other object id is
        checked against your accounts before the call.


        Returns metrics for a single story. The `source` field discriminates
        between three states:


        - `live`: fetched from Meta in real time (story is still active)

        - `cached`: fetched from a persisted `story_insights` webhook payload
        (story has expired but we received its final-state metrics from Meta)

        - `unavailable`: story has expired and Meta sent no `story_insights`
        webhook for it


        Meta sends that webhook most reliably for accounts connected with
        Facebook Login or with their linked Facebook Page connected. So read
        insights while the story is live if you need final numbers.


        Meta can report an expired story as an empty successful result rather
        than an error. So an expired story resolves to `cached` or `unavailable`
        even though the upstream request itself succeeded.


        ### Field semantics


        Field semantics follow Meta's API.


        - Counts below 5 may be returned as 0 due to Meta's privacy floor on
        small audiences.

        - The `navigation` field is the sum of `tapsForward + tapsBack + exits +
        swipesForward`.


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

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

        <!-- aisa-pricing:end -->
      operationId: get_aisa_social_apis_v1_social_accounts_accountid_efb0e8
      parameters:
        - description: One of your social accounts (acc_...).
          in: path
          name: accountId
          required: true
          schema:
            pattern: ^acc_[0-9A-Za-z]{22}$
            type: string
        - description: The Instagram media ID of the story.
          in: path
          name: storyId
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    properties:
                      metrics:
                        properties:
                          exits:
                            description: Closed Stories interface entirely.
                            type: integer
                          follows:
                            type: integer
                          navigation:
                            description: >-
                              Total nav actions (tapsForward + tapsBack + exits
                              + swipesForward).
                            type: integer
                          profileVisits:
                            type: integer
                          reach:
                            description: Unique accounts that saw the story.
                            type: integer
                          replies:
                            description: DMs sent in reply to the story.
                            type: integer
                          reposts:
                            type: integer
                          shares:
                            type: integer
                          swipesForward:
                            description: Swiped left to next account's story.
                            type: integer
                          tapsBack:
                            description: Tapped left to previous slide.
                            type: integer
                          tapsForward:
                            description: Tapped right to next slide of SAME story.
                            type: integer
                          totalInteractions:
                            type: integer
                          views:
                            description: >-
                              Total story plays. Replaces deprecated
                              'impressions' for media created after 2024-07-02.
                            type: integer
                        required:
                          - exits
                          - follows
                          - navigation
                          - profileVisits
                          - reach
                          - replies
                          - reposts
                          - shares
                          - swipesForward
                          - tapsBack
                          - tapsForward
                          - totalInteractions
                          - views
                        type: object
                      source:
                        enum:
                          - live
                          - cached
                          - unavailable
                        type: string
                    required:
                      - metrics
                      - source
                    type: object
                required:
                  - data
                type: object
          description: Story insights
        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.