Call2Me Chats API

The Chats API from Call2Me — 3 operation(s) for chats.

Operations 6

POST /v1/chats Create Session #
GET /v1/chats List Sessions #
GET /v1/chats/{session_id} Get Session #
DELETE /v1/chats/{session_id} Delete Session #
PATCH /v1/chats/{session_id} Update Session #
POST /v1/chats/{session_id}/messages Send 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/call2me-app:call2me-app-chats-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

call2me-app-chats-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Call2Me Chats API
  description: '# Call2Me Voice AI Platform API


    Programmatic interface to build, deploy and operate voice AI agents that can place

    and receive phone calls in real time. Designed to be consumed by humans **and** by

    AI agent frameworks (function-calling LLMs, MCP servers, automation platforms like

    Composio, Pipedream, Zapier, n8n).


    ## What you can do


    - **Place outbound calls** — give an agent a phone number to dial; the AI handles

    the conversation end-to-end and returns a transcript + recording.

    - **Manage AI agents** — create personalities, attach voices, system prompts,

    knowledge bases and post-call actions.

    - **Schedule calls** — one-shot or recurring (cron-like) outbound calls.

    - **Knowledge base (RAG)** — upload documents/URLs so the agent answers from your

    data with reduced hallucination.

    - **Inbound** — provision phone numbers that route to your agents.


    ## Common LLM tool-calling use cases


    | Goal | Endpoint |

    |------|----------|

    | "Call this person and read them this script" | `POST /v1/calls` |

    | "Schedule a follow-up tomorrow at 14:00" | `POST /v1/schedules` |

    | "Get the transcript of last call" | `GET /v1/calls/{id}` |

    | "Add this PDF to the agent''s brain" | `POST /v1/knowledge-base/{id}/sources` |


    ## Authentication


    Every request requires a Bearer token issued from the dashboard:


    ```

    Authorization: Bearer c2m_sk_xxxxxxxxxxxxxxxx

    ```


    Get your API key from the API Keys page.

    Keys are scoped per-workspace and can be rotated/revoked any time.


    ## Rate Limits


    | Plan | Requests/min | Concurrent Calls |

    |------|-------------|------------------|

    | Free | 60 | 1 |

    | Pro | 600 | 10 |

    | Enterprise | Unlimited | Unlimited |


    ## SDKs & Integrations


    - Python SDK

    - Node.js SDK

    - OpenAPI 3.1 spec: `/openapi.json` (use it to generate clients or register the

    service with AI tool platforms)


    ## Support


    - Email: support@call2me.app

    - Docs: https://docs.call2me.app

    - Discord: https://discord.gg/call2me'
  version: 1.0.0
  x-logo:
    url: https://call2me.app/logo.png
    altText: Call2Me Logo
  contact:
    name: Call2Me Support
    url: https://call2me.app/support
    email: support@call2me.app
  license:
    name: Commercial — see Terms of Service
    url: https://call2me.app/terms
  termsOfService: https://call2me.app/terms
servers:
- url: https://api.call2me.app
  description: Production
- url: http://localhost:8000
  description: Local Development
security:
- BearerAuth: []
tags:
- name: Chats
paths:
  /v1/chats:
    post:
      tags:
      - Chats
      summary: Create Session
      description: Create a new chat session with an agent.
      operationId: create_session_v1_chats_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/src__routers__v1__chats__CreateSessionRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatSession'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Chats
      summary: List Sessions
      operationId: list_sessions_v1_chats_get
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          default: 20
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      - name: agent_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Id
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search
      - name: status
        in: query
        required: false
        schema:
          type: string
          default: active
          title: Status
      - name: source
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Source
      - name: external_user_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: External User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/src__routers__v1__chats__SessionList'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/chats/{session_id}:
    get:
      tags:
      - Chats
      summary: Get Session
      description: Get a chat session with all messages (supports both chat and widget sessions).
      operationId: get_session_v1_chats__session_id__get
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          title: Session Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/src__routers__v1__chats__SessionWithMessages'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Chats
      summary: Delete Session
      description: Delete (archive) a chat or widget session.
      operationId: delete_session_v1_chats__session_id__delete
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          title: Session Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - Chats
      summary: Update Session
      description: Update a chat session (title, status).
      operationId: update_session_v1_chats__session_id__patch
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          title: Session Id
      - name: title
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/chats/{session_id}/messages:
    post:
      tags:
      - Chats
      summary: Send Message
      description: Send a message and get a response from the agent.
      operationId: send_message_v1_chats__session_id__messages_post
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          title: Session Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/src__routers__v1__chats__SendMessageRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ChatMessage-Output:
      properties:
        message_id:
          type: string
          title: Message Id
        role:
          type: string
          title: Role
        content:
          type: string
          title: Content
        tokens_input:
          type: integer
          title: Tokens Input
          default: 0
        tokens_output:
          type: integer
          title: Tokens Output
          default: 0
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
        cost_usd:
          type: number
          title: Cost Usd
          default: 0
        created_at:
          type: string
          title: Created At
      type: object
      required:
      - message_id
      - role
      - content
      - created_at
      title: ChatMessage
    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
    src__routers__v1__chats__SessionWithMessages:
      properties:
        session_id:
          type: string
          title: Session Id
        user_id:
          type: string
          title: User Id
        agent_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Id
        agent_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Name
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        status:
          type: string
          title: Status
        message_count:
          type: integer
          title: Message Count
        total_tokens:
          type: integer
          title: Total Tokens
        total_cost_usd:
          type: number
          title: Total Cost Usd
        external_user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: External User Id
        created_at:
          type: string
          title: Created At
        updated_at:
          type: string
          title: Updated At
        source:
          type: string
          title: Source
          default: chat
        widget_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Widget Name
        visitor_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Visitor Name
        messages:
          items:
            $ref: '#/components/schemas/ChatMessage-Output'
          type: array
          title: Messages
      type: object
      required:
      - session_id
      - user_id
      - status
      - message_count
      - total_tokens
      - total_cost_usd
      - created_at
      - updated_at
      - messages
      title: SessionWithMessages
    ChatSession:
      properties:
        session_id:
          type: string
          title: Session Id
        user_id:
          type: string
          title: User Id
        agent_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Id
        agent_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Name
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        status:
          type: string
          title: Status
        message_count:
          type: integer
          title: Message Count
        total_tokens:
          type: integer
          title: Total Tokens
        total_cost_usd:
          type: number
          title: Total Cost Usd
        external_user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: External User Id
        created_at:
          type: string
          title: Created At
        updated_at:
          type: string
          title: Updated At
        source:
          type: string
          title: Source
          default: chat
        widget_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Widget Name
        visitor_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Visitor Name
      type: object
      required:
      - session_id
      - user_id
      - status
      - message_count
      - total_tokens
      - total_cost_usd
      - created_at
      - updated_at
      title: ChatSession
    src__routers__v1__chats__SendMessageRequest:
      properties:
        content:
          type: string
          maxLength: 4000
          minLength: 1
          title: Content
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
        stream:
          type: boolean
          title: Stream
          default: false
      type: object
      required:
      - content
      title: SendMessageRequest
    src__routers__v1__chats__SessionList:
      properties:
        sessions:
          items:
            $ref: '#/components/schemas/ChatSession'
          type: array
          title: Sessions
        total:
          type: integer
          title: Total
        limit:
          type: integer
          title: Limit
        offset:
          type: integer
          title: Offset
      type: object
      required:
      - sessions
      - total
      - limit
      - offset
      title: SessionList
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    src__routers__v1__chats__CreateSessionRequest:
      properties:
        agent_id:
          type: string
          title: Agent Id
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        external_user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: External User Id
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
      type: object
      required:
      - agent_id
      title: CreateSessionRequest
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Enter your API key
externalDocs:
  description: Full developer documentation
  url: https://docs.call2me.app