AgentLine Calls API

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

Operations 6

POST /v1/calls Create Call #
GET /v1/calls List Calls #
GET /v1/calls/{call_id} Get Call #
POST /v1/calls/{call_id}/context Push Call Context #
POST /v1/calls/{call_id}/hangup Hangup Call #
GET /v1/calls/{call_id}/transcript Get Transcript #

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/agentline-cloud:agentline-cloud-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

agentline-cloud-calls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agentline Cloud Calls API
  version: 0.3.0
  x-refined-note:
  - x-guidance differs across the merged source definitions and was not carried
  description: 'Operations tagged Calls across 2 of this provider''s published API definitions: agentline.cloud_openapi.json, agentline-cloud-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.agentline.cloud
  description: Production
tags:
- name: Calls
paths:
  /v1/calls:
    post:
      tags:
      - Calls
      summary: Create Call
      description: 'Make an outbound phone call from your AI agent.


        Dials a real person or business from the agent''s number. The agent holds

        the whole conversation on its own with its system prompt, voice and

        greeting (or this call''s overrides). The call reaches a third party and

        is billed to the account at $0.12 per minute, first minute charged in

        full, so confirm with the user first. Not idempotent: every successful

        call dials again.


        Prerequisites: an agent with an active number from buy_phone_number

        (HTTP 400 otherwise), plus remaining subscription minutes or at least

        $0.50 of wallet balance (HTTP 402 otherwise). Included minutes are used

        first; only uncovered call time is charged to the wallet.


        Returns right after dialing with the call id (call_...), agent_id,

        from_number, to_number, direction, status and started_at; the call runs

        on its own. Check get_call_details for progress and call

        get_call_transcript once status is completed.'
      operationId: make_outbound_call
      security:
      - API Key or OAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CallRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - calls
      x-fern-sdk-method-name: create
    get:
      tags:
      - Calls
      summary: List Calls
      description: 'List voice calls made by your AI agents.


        Returns call history with optional filters by agent or status.

        Each entry includes direction (inbound/outbound), duration,

        phone numbers, and current status.


        Filters:

        - agent_id: only calls for a specific AI agent

        - status: "initiated", "in-progress", "completed", or "failed"'
      operationId: list_calls
      security:
      - API Key or OAuth: []
      parameters:
      - name: agent_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter calls by AI agent ID
          title: Agent Id
        description: Filter calls by AI agent ID
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Filter by call status: ''initiated'', ''in-progress'', ''completed'', or ''failed'''
          title: Status
        description: 'Filter by call status: ''initiated'', ''in-progress'', ''completed'', or ''failed'''
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          description: Maximum number of calls to return (1-200)
          default: 50
          title: Limit
        description: Maximum number of calls to return (1-200)
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Number of calls to skip for pagination
          default: 0
          title: Offset
        description: Number of calls to skip for pagination
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - calls
      x-fern-sdk-method-name: list
    servers:
    - url: https://api.agentline.cloud
      description: Production
  /v1/calls/{call_id}:
    get:
      tags:
      - Calls
      summary: Get Call
      description: 'Get full details of a specific voice call.


        Returns the call''s metadata including direction, phone numbers,

        status, duration, AI agent configuration used, and the full

        conversation transcript between the AI agent and the caller.'
      operationId: get_call_details
      security:
      - API Key or OAuth: []
      parameters:
      - name: call_id
        in: path
        required: true
        schema:
          type: string
          title: Call Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - calls
      x-fern-sdk-method-name: get
    servers:
    - url: https://api.agentline.cloud
      description: Production
  /v1/calls/{call_id}/context:
    post:
      tags:
      - Calls
      summary: Push Call Context
      description: 'Push context into a LIVE relay-mode call (mid-call context injection).


        This is the required way for backend agents (Hermes, OpenClaw, etc.) to

        answer a live caller after a ``call.utterance`` event. Do your work, then

        POST short facts, not a script. Include ``disposition``.

        ``progress`` adds a note and keeps the caller on hold with canned lines; the text is not spoken, and the turn stays open.

        ``done`` (the default), ``facts``, and ``failed`` close the turn. The hosted voice rephrases the facts in one or two sentences. It does not read your text aloud.

        ``noop`` closes the turn with no facts.

        You receive this request only for something

        the hosted voice does not know. Poll ``GET /v1/calls/{call_id}`` for updates.


        AUTHENTICATION (one of):

        1. **Push token** (preferred — no API key): the ``push_token`` from the

        ``call.utterance`` payload, via ``X-Push-Token`` header, ``?token=``

        query param, or ``push_token`` body field.

        2. **Bearer API key**: ``Authorization: Bearer al_live_...`` for the

        account that owns the call.


        Body — any of these keys works (``context`` is canonical):

        {"context": "John emailed yesterday about an invoice."}


        Other accepted keys: ``summary``, ``answer``, ``response``, ``reply``,

        ``text``, ``result``.


        Every response must include the exact ``turn_id`` from ``call.utterance``.

        Late context is rejected instead of being applied to another question.


        Returns:

        delivered=true, status="live" — accepted for this turn

        delivered=true, status="duplicate" — identical retry already accepted

        HTTP 409 — turn is stale/cancelled

        HTTP 410 — **call has ended.** STOP working

        on this request and abandon any in-flight lookup.'
      operationId: push_call_context
      parameters:
      - name: call_id
        in: path
        required: true
        schema:
          type: string
          title: Call Id
      - name: token
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Push token (alt to X-Push-Token header / body).
          title: Token
        description: Push token (alt to X-Push-Token header / body).
      - name: turn_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Turn ID from call.utterance.
          title: Turn Id
        description: Turn ID from call.utterance.
      - name: X-Push-Token
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Push-Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - calls
      x-fern-sdk-method-name: push_context
      security:
      - API Key or OAuth: []
    servers:
    - url: https://api.agentline.cloud
      description: Production
  /v1/calls/{call_id}/hangup:
    post:
      tags:
      - Calls
      summary: Hangup Call
      description: 'Hang up an active phone call.


        Programmatically terminates an in-progress voice call. Use this

        when the AI agent needs to end the conversation, or to force-stop

        a call that is no longer needed. The call''s final transcript and

        billing are processed automatically after hangup.'
      operationId: hangup_call
      security:
      - API Key or OAuth: []
      parameters:
      - name: call_id
        in: path
        required: true
        schema:
          type: string
          title: Call Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - calls
      x-fern-sdk-method-name: hangup
    servers:
    - url: https://api.agentline.cloud
      description: Production
  /v1/calls/{call_id}/transcript:
    get:
      tags:
      - Calls
      summary: Get Transcript
      description: 'Get the full conversation transcript for a call.


        Returns the complete speech-to-text transcript of the phone call,

        with each turn labeled by role ("human" for the caller, "agent"

        for the AI agent). The call.utterance conversation field uses user and assistant instead. Useful for reviewing what was said on the call,

        extracting information, or auditing AI agent behavior.'
      operationId: get_call_transcript
      security:
      - API Key or OAuth: []
      parameters:
      - name: call_id
        in: path
        required: true
        schema:
          type: string
          title: Call Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - calls
      x-fern-sdk-method-name: get_transcript
    servers:
    - url: https://api.agentline.cloud
      description: Production
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
    CallRequest:
      properties:
        agent_id:
          type: string
          title: Agent Id
          description: ID of the AI agent making the call (e.g. 'agt_abc123')
        to_number:
          type: string
          title: To Number
          description: Destination phone number in E.164 format (e.g. '+12125551234')
        system_prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: System Prompt
          description: Per-call system prompt override. Replaces the agent's default prompt for this call ONLY. If omitted, the agent's default system_prompt is used.
        initial_greeting:
          anyOf:
          - type: string
          - type: 'null'
          title: Initial Greeting
          description: Per-call greeting override. Replaces the agent's default greeting for this call ONLY. If omitted, the agent's default initial_greeting is used.
        voice_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Voice Id
          description: 'Override the TTS voice for this call: preset name (e.g. ''female-1'') or Cartesia UUID'
        from_number_id:
          anyOf:
          - type: string
          - type: 'null'
          title: From Number Id
          description: Specific phone number ID to call from; defaults to the agent's assigned number
      type: object
      required:
      - agent_id
      - to_number
      title: CallRequest
    CallContextPush:
      properties:
        context:
          anyOf:
          - type: string
          - type: 'null'
          title: Context
          description: The facts for the caller, in plain text, e.g. "John emailed yesterday about an invoice." The hosted voice rephrases them. Required unless disposition is noop.
        disposition:
          type: string
          enum:
          - partial
          - progress
          - done
          - failed
          - noop
          - facts
          title: Disposition
          description: 'What this push does with the open task. partial: one real fact so far, spoken now, task stays open. progress: a note for the voice, not spoken, task stays open. done (default): final facts, settles the task. failed: could not do it, settles the task. noop: settle the task with nothing to say; context not needed. facts: a briefing for the whole call at any time, no turn_id needed.'
          default: done
      additionalProperties: true
      type: object
      title: CallContextPush
      description: 'Body of push_call_context. Extra keys are accepted for runtime SDKs

        that send context under another name; MCP clients use these two.'
    CallRequest_2:
      properties:
        agent_id:
          type: string
          title: Agent Id
          description: ID of the AI agent making the call (e.g. 'agt_abc123')
        to_number:
          type: string
          pattern: ^\+[1-9]\d{7,14}$
          title: To Number
          description: Destination phone number in E.164 format (e.g. '+12125551234')
        system_prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: System Prompt
          description: Per-call system prompt override. Replaces the agent's default prompt for this call ONLY. If omitted, the agent's default system_prompt is used.
        initial_greeting:
          anyOf:
          - type: string
          - type: 'null'
          title: Initial Greeting
          description: Per-call greeting override. Replaces the agent's default greeting for this call ONLY. If omitted, the agent's default initial_greeting is used.
        voice_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Voice Id
          description: 'Override the TTS voice for this call: preset name (e.g. ''female-1'') or a voice UUID'
        from_number_id:
          anyOf:
          - type: string
          - type: 'null'
          title: From Number Id
          description: Specific phone number ID to call from; defaults to the agent's assigned number
      type: object
      required:
      - agent_id
      - to_number
      title: CallRequest
  securitySchemes:
    API_Key_or_OAuth:
      type: http
      description: 'AgentLine API key. Get one via the email OTP flow (POST /v1/auth/otp then POST /v1/auth/verify). Pass as: Authorization: Bearer al_live_... (legacy sk_live_... still works).'
      scheme: bearer
      bearerFormat: API key (al_live_...)
      x-fern-bearer:
        name: apiKey
        env: AGENTLINE_API_KEY
x-refined-from:
- agentline.cloud_openapi.json
- agentline-cloud-openapi.json