AutoWhisper API

AutoWhisper API as documented publicly: 13 operations. Contract generated from the documentation by API Evangelist (2026-11-02); not the provider's own document.

Operations 13

POST /api/cmo/confirm POST /api/cmo/confirm #
PATCH /api/cmo/content/{contentType}/{contentId} Regenerates content for a given content type and ID. #
POST /api/cmo/message Sends a CMO message for marketing consultation. #
GET /api/cmo/status GET /api/cmo/status #
POST /api/cmo/status POST /api/cmo/status #
GET /api/content/context Retrieves the content context for the current workspace. #
POST /api/content/tasks Creates a new content generation task. #
POST /api/content/tasks/{taskId}/operations Performs an operation on a content task. #
GET /api/contract 服务端把对外接口的作用域做成了单一数据源并公开在 GET /api/contract。 #
GET /api/products/summary Retrieves a summary of products. #
POST /api/products/summary POST /api/products/summary #
POST /device/code Requests a device code for OAuth device flow. #
POST /device/token Exchanges a device code for an access token. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/autowhisper-xyz:autowhisper-xyz-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

autowhisper-xyz-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: AutoWhisper API
  version: '2026-11-02'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-02: 13 operation(s) read from 5 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; AutoWhisper has published no machine-readable contract that the
    pipeline could find. Engine: oss.'
  x-evidence-tiers:
    code-example: 4
    documentation: 9
    pages-with-code: 3
    pages-read: 5
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-02'
  x-generator: generate-contract-from-docs.py
  x-engine: oss
  x-sources:
  - https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
  - https://autowhisper.xyz/en/playbook/agent-or-ui
  - https://github.com/Qumge/autowhisper-skill/commit/2c92ce3e3324a93ff736a46e2390a071de9239b4
  - https://github.com/Qumge/autowhisper-skill/commit/0d7d07bbccabe79d13c78c4a2d126ab517a3a39b
  - https://github.com/Qumge/autowhisper-skill/commit/7e0991509965753b4393a796a8cc207a5cabde73
paths:
  /api/cmo/confirm:
    post:
      operationId: post_api_cmo_confirm
      tags:
      - Api
      summary: POST /api/cmo/confirm
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -s -X POST https://autowhisper.xyz/api/cmo/confirm  -H \" Authorization: Bearer $TOKEN \"  --data-urlencode \" message_id=<that\
          \ message_id> \"  --data-urlencode \" workspace_id= $WS \"  --data-urlencode \" decision=yes \" # or no \n The reply carries what actually\
          \ happened:\n {\"ok\":true,\"decision\":\"yes\",\"result\":{\"message\":\"…\",\"scheduled\":2}} .\n Read result.scheduled and report\
          \ it — see What approving "
  /api/cmo/content/{contentType}/{contentId}:
    patch:
      operationId: patch_api_cmo_content_contentType_contentId
      tags:
      - Api
      summary: Regenerates content for a given content type and ID.
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      parameters:
      - name: contentType
        in: path
        required: true
        schema:
          type: string
      - name: contentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/cmo/message:
    post:
      operationId: post_api_cmo_message
      tags:
      - Api
      summary: Sends a CMO message for marketing consultation.
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiCmoMessageRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/cmo/status:
    get:
      operationId: get_api_cmo_status
      tags:
      - Api
      summary: GET /api/cmo/status
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -s https://autowhisper.xyz/api/cmo/status  -H " Authorization: Bearer $TOKEN " | jq -r '' .current_workspace.id '' ) '
    post:
      operationId: post_api_cmo_status
      tags:
      - Api
      summary: POST /api/cmo/status
      x-source: https://github.com/Qumge/autowhisper-skill/commit/0d7d07bbccabe79d13c78c4a2d126ab517a3a39b
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiCmoStatusResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -s https://autowhisper.xyz/api/cmo/status \ 115 + -H " Authorization: Bearer $TOKEN " | jq -r '' .current_workspace.id
          '' ) 116 + # jq prints the literal string "null" when current_workspace is absent — and 117 + # unlike an unset/empty $WS (which the
          server correctly treats as "not passed" 118 + # and falls back on, per above), the STRING "null" is a non-empty workspace_id 119 + #
          value, so ev'
  /api/content/context:
    get:
      operationId: get_api_content_context
      tags:
      - Api
      summary: Retrieves the content context for the current workspace.
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/content/tasks:
    post:
      operationId: post_api_content_tasks
      tags:
      - Api
      summary: Creates a new content generation task.
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/content/tasks/{taskId}/operations:
    post:
      operationId: post_api_content_tasks_taskId_operations
      tags:
      - Api
      summary: Performs an operation on a content task.
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/contract:
    get:
      operationId: get_api_contract
      tags:
      - Api
      summary: 服务端把对外接口的作用域做成了单一数据源并公开在 GET /api/contract。
      description: 返回服务端公开的契约 JSON,描述接口作用域、端点路径及版本信息。
      x-source: https://github.com/Qumge/autowhisper-skill/commit/7e0991509965753b4393a796a8cc207a5cabde73
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiContractResponse'
      x-evidence:
        kind: documentation
  /api/products/summary:
    get:
      operationId: get_api_products_summary
      tags:
      - Api
      summary: Retrieves a summary of products.
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_products_summary
      tags:
      - Api
      summary: POST /api/products/summary
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiProductsSummaryResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -s https://autowhisper.xyz/api/products/summary  -H \" Authorization: Bearer $TOKEN \" | jq \n Full endpoint list: references/api-reference.md\
          \ . \n Optional CMO consultation \n For marketing judgment or product creation, send a CMO message and poll its reply. \n 1. Send a\
          \ message \n MID= $( curl -s -X POST https://autowhisper.xyz/api/cmo/message  -H \" Authorization: Bearer $TOKEN \"  --data-urlencode"
  /device/code:
    post:
      operationId: post_device_code
      tags:
      - Device
      summary: Requests a device code for OAuth device flow.
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostDeviceCodeRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostDeviceCodeResponse'
      x-evidence:
        kind: documentation
  /device/token:
    post:
      operationId: post_device_token
      tags:
      - Device
      summary: Exchanges a device code for an access token.
      x-source: https://github.com/Qumge/autowhisper-skill/blob/main/SKILL.md
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostDeviceTokenRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostDeviceTokenResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    PostApiCmoMessageRequest:
      type: object
      properties:
        message:
          type: string
        workspace_id:
          type: string
        product_id:
          type: string
      required:
      - message
      - workspace_id
    PostApiCmoStatusResponse:
      type: object
      properties:
        error:
          type: string
    GetApiContractResponse:
      type: object
      properties:
        scope_field_values:
          type: array
          description: 服务端允许的 scope 取值列表
        endpoints:
          type: array
          description: 每个端点的契约信息,包括路径、作用域和发现入口
        version:
          type: string
          description: 契约的版本标识
    PostApiProductsSummaryResponse:
      type: object
      properties:
        status:
          type: string
        message_id:
          type: integer
        workspace:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
            content_lang:
              type: string
    PostDeviceCodeRequest:
      type: object
      properties:
        device_name:
          type: string
      required:
      - device_name
    PostDeviceCodeResponse:
      type: object
      properties:
        device_code:
          type: string
        interval:
          type: integer
        verification_uri_complete:
          type: string
        expires_in:
          type: integer
    PostDeviceTokenRequest:
      type: object
      properties:
        device_code:
          type: string
      required:
      - device_code
    PostDeviceTokenResponse:
      type: object
      properties:
        access_token:
          type: string
        error:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Api
- name: Device