Vocode Calls API

The Calls API from Vocode — 5 operation(s) for calls.

Operations 5

POST /calls/create Create an outbound call #
GET /calls Get a call #
GET /calls/list List calls #
POST /calls/end End a call #
GET /calls/recording Get a call recording #

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/vocode-calls-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

vocode-calls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vocode Hosted Actions Calls API
  description: Hosted REST API for the Vocode voice AI platform. Place and manage outbound and inbound phone calls driven by configurable voice agents, and manage the agents, voices, prompts, actions, phone numbers, and webhooks that power them. All requests are authenticated with a Bearer API key. This specification covers the hosted API and is distinct from the open-source vocode-core Python library.
  termsOfService: https://www.vocode.dev
  contact:
    name: Vocode Support
    url: https://docs.vocode.dev
  version: 1.0.0
servers:
- url: https://api.vocode.dev/v1
  description: Production environment
security:
- HTTPBearer: []
tags:
- name: Calls
paths:
  /calls/create:
    post:
      operationId: createCall
      tags:
      - Calls
      summary: Create an outbound call
      description: Places an outbound phone call using the provided from/to numbers and an inline or saved agent.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCallRequest'
      responses:
        '200':
          description: The created call.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Call'
        '422':
          $ref: '#/components/responses/ValidationError'
  /calls:
    get:
      operationId: getCall
      tags:
      - Calls
      summary: Get a call
      description: Retrieves a single call by id.
      parameters:
      - name: id
        in: query
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The requested call.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Call'
        '422':
          $ref: '#/components/responses/ValidationError'
  /calls/list:
    get:
      operationId: listCalls
      tags:
      - Calls
      summary: List calls
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Size'
      - $ref: '#/components/parameters/SortColumn'
      - $ref: '#/components/parameters/SortDesc'
      responses:
        '200':
          description: A paginated page of calls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallPage'
        '422':
          $ref: '#/components/responses/ValidationError'
  /calls/end:
    post:
      operationId: endCall
      tags:
      - Calls
      summary: End a call
      description: Ends an active call by id.
      parameters:
      - name: id
        in: query
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The ended call.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Call'
        '422':
          $ref: '#/components/responses/ValidationError'
  /calls/recording:
    get:
      operationId: getRecording
      tags:
      - Calls
      summary: Get a call recording
      description: Downloads the audio recording for a completed call.
      parameters:
      - name: id
        in: query
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The call recording audio.
          content:
            audio/wav:
              schema:
                type: string
                format: binary
        '422':
          $ref: '#/components/responses/ValidationError'
components:
  schemas:
    CallStatus:
      type: string
      enum:
      - not_started
      - in_progress
      - error
      - ended
    Call:
      type: object
      required:
      - id
      - user_id
      - status
      - to_number
      - from_number
      - agent
      - telephony_provider
      properties:
        id:
          type: string
          format: uuid
        user_id:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/CallStatus'
        to_number:
          type: string
        from_number:
          type: string
        agent:
          $ref: '#/components/schemas/Agent'
        telephony_provider:
          type: string
          enum:
          - vonage
          - twilio
        agent_phone_number:
          type: string
        transcript:
          type:
          - string
          - 'null'
        error_message:
          type:
          - string
          - 'null'
        recording_available:
          type: boolean
        human_detection_result:
          type:
          - string
          - 'null'
        do_not_call_result:
          type:
          - boolean
          - 'null'
        stage:
          type:
          - string
          - 'null'
        stage_outcome:
          type:
          - string
          - 'null'
        start_time:
          type:
          - string
          - 'null'
        end_time:
          type:
          - string
          - 'null'
        hipaa_compliant:
          type: boolean
    ValidationError:
      type: object
      required:
      - loc
      - msg
      - type
      properties:
        loc:
          type: array
          items:
            type: string
        msg:
          type: string
        type:
          type: string
    HTTPValidationError:
      type: object
      properties:
        detail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
    CreateCallRequest:
      type: object
      required:
      - from_number
      - to_number
      - agent
      properties:
        from_number:
          type: string
          description: The phone number to place the call from (must be owned or linked).
        to_number:
          type: string
          description: The destination phone number to dial.
        agent:
          description: A saved agent id (UUID) or an inline agent configuration.
          oneOf:
          - type: string
            format: uuid
          - $ref: '#/components/schemas/AgentParams'
        on_no_human_answer:
          type: string
          enum:
          - continue
          - hangup
          default: continue
        run_do_not_call_detection:
          type:
          - boolean
          - 'null'
        hipaa_compliant:
          type: boolean
          default: false
        context:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
        telephony_params:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
    CallPage:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Call'
        page:
          type: integer
        size:
          type: integer
        total:
          type: integer
    Agent:
      type: object
      required:
      - id
      - user_id
      - prompt
      properties:
        id:
          type: string
          format: uuid
        user_id:
          type: string
          format: uuid
        name:
          type:
          - string
          - 'null'
        prompt:
          description: A prompt id (UUID) or inline prompt configuration.
          type: string
        language:
          type: string
        voice:
          type:
          - string
          - 'null'
          format: uuid
        initial_message:
          type:
          - string
          - 'null'
        webhook:
          type:
          - string
          - 'null'
          format: uuid
        vector_database:
          type:
          - string
          - 'null'
          format: uuid
        interrupt_sensitivity:
          type:
          - string
          - 'null'
          enum:
          - low
          - high
        actions:
          type: array
          items:
            type: string
            format: uuid
    AgentParams:
      type: object
      required:
      - prompt
      properties:
        name:
          type: string
        prompt:
          type: string
        language:
          type: string
        voice:
          type: string
          format: uuid
        initial_message:
          type: string
        webhook:
          type: string
          format: uuid
        vector_database:
          type: string
          format: uuid
        interrupt_sensitivity:
          type: string
          enum:
          - low
          - high
        actions:
          type: array
          items:
            type: string
            format: uuid
  parameters:
    Page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 1
    SortDesc:
      name: sort_desc
      in: query
      required: false
      schema:
        type: boolean
    SortColumn:
      name: sort_column
      in: query
      required: false
      schema:
        type: string
    Size:
      name: size
      in: query
      required: false
      schema:
        type: integer
        default: 10
  responses:
    ValidationError:
      description: Validation error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/HTTPValidationError'
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer