> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentline.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Push Call Context

> 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 facts here — do NOT only send the answer to WhatsApp/SMS/chat.

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": "the facts/answer the voice agent should speak"}

Other accepted keys: ``summary``, ``answer``, ``response``, ``message``,
``reply``, ``text``, ``result``.

Returns:
    delivered=true, status="live"     — voice agent will speak it now
    delivered=true, status="buffered" — caller moved on; held for their
      next question (late pushes are NOT rejected)
    HTTP 410                           — **call has ended.** STOP working
      on this request and abandon any in-flight lookup. No further context
      will be spoken.



## OpenAPI

````yaml /openapi.json post /v1/calls/{call_id}/context
openapi: 3.1.0
info:
  title: AgentLine
  description: >-
    AgentLine gives every AI agent a real phone number, a human-like voice, and
    the ability to make and receive calls and SMS autonomously. This SDK covers
    the core developer surface: agents, numbers, calls, messages, events,
    webhooks, billing, and voice.
  version: 0.3.0
  summary: Phone numbers, voice, and SMS for AI agents.
  contact:
    name: AgentLine
    url: https://agentline.cloud
  license:
    name: MIT
    url: https://opensource.org/license/mit
servers:
  - url: https://api.agentline.cloud
    description: Production
security:
  - API Key or OAuth: []
paths:
  /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 facts here — do NOT only send the answer to WhatsApp/SMS/chat.


        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": "the facts/answer the voice agent should speak"}

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

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


        Returns:
            delivered=true, status="live"     — voice agent will speak it now
            delivered=true, status="buffered" — caller moved on; held for their
              next question (late pushes are NOT rejected)
            HTTP 410                           — **call has ended.** STOP working
              on this request and abandon any in-flight lookup. No further context
              will be spoken.
      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: 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'
      security:
        - API Key or OAuth: []
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
  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 sk_live_...
      scheme: bearer
      bearerFormat: API key (sk_live_...)
      x-fern-bearer:
        name: apiKey
        env: AGENTLINE_API_KEY

````