CoraPilot WhatsApp API

The whatsapp API from CoraPilot — 12 operation(s) for whatsapp.

GitHub OpenAPI

Operations 12

GET /whatsapp/mcp Get Mcp Connection #
PUT /whatsapp/mcp/legacy Set Mcp Legacy #
POST /whatsapp/mcp/regenerate Regenerate Mcp Token #
POST /whatsapp/sync-groups Sync Groups #
POST /whatsapp/connect Connect Whatsapp #
GET /whatsapp/qrcode Get Qrcode #
GET /whatsapp/status Whatsapp Status #
GET /whatsapp/stats Whatsapp Stats #
POST /whatsapp/groups/resync Resync Groups #
POST /whatsapp/disconnect Disconnect Whatsapp #
GET /whatsapp/messages List Messages #
POST /whatsapp/send Send Whatsapp Message #

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/corapilot-com:corapilot-com-whatsapp-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

corapilot-com-whatsapp-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Corapilot Com WhatsApp API
  version: 0.1.0
  description: 'Operations tagged whatsapp across 2 of this provider''s published API definitions: corapilot-com-openapi.json, corapilot-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://corapilot.com
  description: Host serving this spec (/openapi.json), its Swagger UI (/docs) and the OAuth-protected MCP resource (https://corapilot.com/mcp per /.well-known/oauth-protected-resource); the published spec carries no servers[].
tags:
- name: whatsapp
paths:
  /whatsapp/mcp:
    get:
      tags:
      - whatsapp
      summary: Get Mcp Connection
      description: Return this account's MCP connection URL (for Claude/ChatGPT to connect).
      operationId: get_mcp_connection_whatsapp_mcp_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Get Mcp Connection Whatsapp Mcp Get
      security:
      - HTTPBearer: []
  /whatsapp/mcp/legacy:
    put:
      tags:
      - whatsapp
      summary: Set Mcp Legacy
      description: Enable/disable the legacy token-in-URL access (off by default).
      operationId: set_mcp_legacy_whatsapp_mcp_legacy_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegacyToggle'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Set Mcp Legacy Whatsapp Mcp Legacy Put
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /whatsapp/mcp/regenerate:
    post:
      tags:
      - whatsapp
      summary: Regenerate Mcp Token
      description: Rotate the legacy MCP token (invalidates the previous key-URL).
      operationId: regenerate_mcp_token_whatsapp_mcp_regenerate_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Regenerate Mcp Token Whatsapp Mcp Regenerate Post
      security:
      - HTTPBearer: []
  /whatsapp/sync-groups:
    post:
      tags:
      - whatsapp
      summary: Sync Groups
      description: Refresh the account's WhatsApp group list (names) in the background.
      operationId: sync_groups_whatsapp_sync_groups_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Sync Groups Whatsapp Sync Groups Post
      security:
      - HTTPBearer: []
  /whatsapp/connect:
    post:
      tags:
      - whatsapp
      summary: Connect Whatsapp
      description: Create a WhatsApp instance and return the QR code for pairing.
      operationId: connect_whatsapp_whatsapp_connect_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Connect Whatsapp Whatsapp Connect Post
      security:
      - HTTPBearer: []
  /whatsapp/qrcode:
    get:
      tags:
      - whatsapp
      summary: Get Qrcode
      description: Get the current QR code (poll this until status is 'open').
      operationId: get_qrcode_whatsapp_qrcode_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Get Qrcode Whatsapp Qrcode Get
      security:
      - HTTPBearer: []
  /whatsapp/status:
    get:
      tags:
      - whatsapp
      summary: Whatsapp Status
      description: Get WhatsApp connection status for the customer's account.
      operationId: whatsapp_status_whatsapp_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Whatsapp Status Whatsapp Status Get
      security:
      - HTTPBearer: []
  /whatsapp/stats:
    get:
      tags:
      - whatsapp
      summary: Whatsapp Stats
      description: 'WhatsApp sync stats for the connection panel.


        Returns connection timing plus message/group/contact counts and a preview

        of the most recently synced message, so users can see the connector is

        alive and how much it has synced.'
      operationId: whatsapp_stats_whatsapp_stats_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Whatsapp Stats Whatsapp Stats Get
      security:
      - HTTPBearer: []
  /whatsapp/groups/resync:
    post:
      tags:
      - whatsapp
      summary: Resync Groups
      description: Manually refresh WhatsApp group names/metadata (used when groups show no name).
      operationId: resync_groups_whatsapp_groups_resync_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Resync Groups Whatsapp Groups Resync Post
      security:
      - HTTPBearer: []
  /whatsapp/disconnect:
    post:
      tags:
      - whatsapp
      summary: Disconnect Whatsapp
      description: 'Disconnect and remove the WhatsApp instance.


        Also wipes all stored WhatsApp messages for this account so the next

        connection starts from a clean slate (no history from a prior device).'
      operationId: disconnect_whatsapp_whatsapp_disconnect_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Disconnect Whatsapp Whatsapp Disconnect Post
      security:
      - HTTPBearer: []
  /whatsapp/messages:
    get:
      tags:
      - whatsapp
      summary: List Messages
      description: 'Return recent WhatsApp messages stored for this account.


        The agent uses this to know what messages the user has received

        without auto-replying to any of them.'
      operationId: list_messages_whatsapp_messages_get
      security:
      - HTTPBearer: []
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          default: 50
          title: Limit
      - name: unread_only
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Unread Only
      - name: contact
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by phone number
          title: Contact
        description: Filter by phone number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response List Messages Whatsapp Messages Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /whatsapp/send:
    post:
      tags:
      - whatsapp
      summary: Send Whatsapp Message
      description: 'Send a WhatsApp message on behalf of the user.


        This is called when the user explicitly tells the agent to send a

        message (e.g. "Reply to John on WhatsApp saying I''ll be late").

        The agent must NEVER call this on its own without the user''s instruction.'
      operationId: send_whatsapp_message_whatsapp_send_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendMessageRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Send Whatsapp Message Whatsapp Send Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    LegacyToggle:
      properties:
        enabled:
          type: boolean
          title: Enabled
      type: object
      required:
      - enabled
      title: LegacyToggle
    SendMessageRequest:
      properties:
        to_number:
          type: string
          title: To Number
        text:
          type: string
          title: Text
      type: object
      required:
      - to_number
      - text
      title: SendMessageRequest
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
x-refined-from:
- corapilot-com-openapi.json
- corapilot-com-openapi.yml