messagebird Calls API

Operations for creating, listing, and managing voice calls.

Operations 4

GET /calls List all calls #
POST /calls Create a call #
GET /calls/{callId} View a call #
DELETE /calls/{callId} Delete a call #

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/messagebird-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

messagebird-calls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MessageBird Voice Calling Calls API
  description: The MessageBird Voice Calling API enables developers to make, receive, and control phone calls programmatically. It supports call flows for building interactive voice response systems, call recording, call transfers, and real-time webhooks for call events. The API provides global coverage and can be used to build contact center solutions, automated calling systems, and voice-enabled applications.
  version: '1.0'
  contact:
    name: MessageBird Support
    url: https://support.messagebird.com
  termsOfService: https://www.messagebird.com/en/terms
servers:
- url: https://voice.messagebird.com
  description: Production Server
security:
- accessKey: []
tags:
- name: Calls
  description: Operations for creating, listing, and managing voice calls.
paths:
  /calls:
    get:
      operationId: listCalls
      summary: List all calls
      description: Retrieves a paginated list of all calls made or received on the account.
      tags:
      - Calls
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/perPageParam'
      responses:
        '200':
          description: A list of calls
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallList'
        '401':
          description: Unauthorized
    post:
      operationId: createCall
      summary: Create a call
      description: Creates a new outbound call. The call will be placed from the specified source to the destination number, and the call flow will be executed.
      tags:
      - Calls
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallCreate'
      responses:
        '201':
          description: Call created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResponse'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
  /calls/{callId}:
    get:
      operationId: viewCall
      summary: View a call
      description: Retrieves the details of an existing call by its unique identifier.
      tags:
      - Calls
      parameters:
      - $ref: '#/components/parameters/callIdParam'
      responses:
        '200':
          description: Call details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResponse'
        '401':
          description: Unauthorized
        '404':
          description: Call not found
    delete:
      operationId: deleteCall
      summary: Delete a call
      description: Deletes an existing call by hanging up all active legs and removing the call resource.
      tags:
      - Calls
      parameters:
      - $ref: '#/components/parameters/callIdParam'
      responses:
        '204':
          description: Call deleted
        '401':
          description: Unauthorized
        '404':
          description: Call not found
components:
  parameters:
    perPageParam:
      name: perPage
      in: query
      required: false
      description: The number of items per page.
      schema:
        type: integer
        default: 10
    callIdParam:
      name: callId
      in: path
      required: true
      description: The unique identifier of the call.
      schema:
        type: string
    pageParam:
      name: page
      in: query
      required: false
      description: The page number for pagination.
      schema:
        type: integer
        default: 1
  schemas:
    CallList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Call'
        pagination:
          $ref: '#/components/schemas/Pagination'
    CallFlowStep:
      type: object
      required:
      - action
      properties:
        id:
          type: string
          description: The unique identifier of the step.
        action:
          type: string
          description: The action to perform in this step.
          enum:
          - say
          - play
          - pause
          - record
          - fetchCallFlow
          - hangup
          - transfer
        options:
          type: object
          description: Action-specific options for the step.
    Call:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the call.
        status:
          type: string
          description: The status of the call.
          enum:
          - queued
          - starting
          - ongoing
          - ended
        source:
          type: string
          description: The caller ID number.
        destination:
          type: string
          description: The destination number or SIP URI.
        createdAt:
          type: string
          format: date-time
          description: The date and time when the call was created.
        updatedAt:
          type: string
          format: date-time
          description: The date and time when the call was last updated.
        endedAt:
          type: string
          format: date-time
          description: The date and time when the call ended.
    VoiceWebhookCreate:
      type: object
      required:
      - url
      properties:
        url:
          type: string
          format: uri
          description: The URL to receive webhook callbacks.
        token:
          type: string
          description: A token for webhook signature validation.
    CallResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Call'
    CallFlowCreate:
      type: object
      required:
      - steps
      properties:
        title:
          type: string
          description: A human-readable title for the call flow.
        record:
          type: boolean
          description: Whether to record the entire call.
        steps:
          type: array
          description: A sequence of steps that define the call flow behavior.
          items:
            $ref: '#/components/schemas/CallFlowStep'
    Pagination:
      type: object
      properties:
        totalCount:
          type: integer
          description: The total number of items available.
        pageCount:
          type: integer
          description: The total number of pages.
        currentPage:
          type: integer
          description: The current page number.
        perPage:
          type: integer
          description: The number of items per page.
    CallCreate:
      type: object
      required:
      - source
      - destination
      - callFlow
      properties:
        source:
          type: string
          description: The caller ID to display, must be a purchased MessageBird number.
        destination:
          type: string
          description: The phone number or SIP URI to call.
        callFlow:
          $ref: '#/components/schemas/CallFlowCreate'
        webhook:
          $ref: '#/components/schemas/VoiceWebhookCreate'
  securitySchemes:
    accessKey:
      type: apiKey
      in: header
      name: Authorization
      description: Access key authentication in the form of 'AccessKey {accessKey}'.
externalDocs:
  description: Voice Calling API Documentation
  url: https://developers.messagebird.com/api/voice-calling/