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

# Get a call

> The call's current status and, once it has ended, its duration, recording and outcome.

Scope: `calls:read`.



## OpenAPI

````yaml /api-reference/openapi.json get /calls/{id}
openapi: 3.1.0
info:
  title: Telleo API
  version: 1.0.0
  description: Start AI phone calls from your own systems and get each call's outcome back.
servers:
  - url: https://api.telleo.ai/v1
security:
  - ApiKey: []
tags:
  - name: Calls
  - name: Batches
  - name: Agents
  - name: Webhook
paths:
  /calls/{id}:
    get:
      tags:
        - Calls
      summary: Get a call
      description: >-
        The call's current status and, once it has ended, its duration,
        recording and outcome.


        Scope: `calls:read`.
      operationId: getCall
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The call.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Call'
              example:
                id: call_6f1d2c9a8b7e4f3a2d1c0b9a
                object: call
                status: completed
                agent_id: 17ea33d2-5b6c-4c1e-9a1f-2d4e6f8a9b0c
                phone_number: '+919876543210'
                contact:
                  name: Asha Verma
                  email: asha@example.com
                  external_id: lead-8812
                variables:
                  course: NEET 2027
                  city: Indore
                metadata:
                  crm_owner: u_42
                batch_id: null
                test: false
                duration_seconds: 142
                created_at: '2026-10-13T09:30:02Z'
                dialed_at: '2026-10-13T09:30:03Z'
                ended_at: '2026-10-13T09:32:31Z'
                recording_url: >-
                  https://media.example-cdn.com/recordings/abc.mp3?X-Amz-Signature=…
                recording_expires_at: '2026-10-14T09:40:00Z'
                outcome:
                  disposition: Interested
                  summary: >-
                    Asha wants the NEET 2027 weekend batch and asked for the fee
                    structure on WhatsApp.
                  answers:
                    Which course are you interested in?: NEET 2027
                    Preferred batch timing?: Weekends
                  lead_rating: 8
                  callback_requested: true
                  callback_time_text: tomorrow after 6 pm
                  follow_up: CALL
                  follow_up_note: Send the fee structure; call back tomorrow evening.
                  meeting:
                    requested: true
                    at: '2026-10-14T18:00:00+05:30'
                    time_text: tomorrow after 6 pm
                    type: call
                  transcript:
                    - speaker: agent
                      text: >-
                        Hi Asha, this is Riya from Shiksha Academy. Is this a
                        good time?
                    - speaker: contact
                      text: Yes, tell me.
        '401':
          description: The key is missing, unknown, revoked or expired.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                missing_api_key:
                  value:
                    error:
                      code: missing_api_key
                      message: Send your API key in the X-API-Key header.
                      request_id: req_8f2c1a7e
                invalid_api_key:
                  value:
                    error:
                      code: invalid_api_key
                      message: This API key is not valid.
                      request_id: req_8f2c1a7e
        '404':
          description: No call with this id belongs to your account.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                not_found:
                  value:
                    error:
                      code: not_found
                      message: Call not found.
                      request_id: req_8f2c1a7e
        '429':
          description: Too many requests for this key.
          headers:
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                rate_limited:
                  value:
                    error:
                      code: rate_limited
                      message: Too many requests. Retry after 12 seconds.
                      request_id: req_8f2c1a7e
components:
  headers:
    RequestId:
      schema:
        type: string
      description: Unique id of this request. Quote it to support.
  schemas:
    Call:
      type: object
      properties:
        id:
          type: string
          example: call_6f1d2c9a8b7e4f3a2d1c0b9a
        object:
          type: string
          const: call
        status:
          type: string
          enum:
            - queued
            - dialing
            - in_progress
            - completed
            - no_answer
            - busy
            - failed
            - canceled
            - expired
        status_reason:
          type: string
          description: >-
            Why a call is waiting or did not happen, in plain words. Present
            only when there is one.
        scheduled_for:
          type: string
          format: date-time
          description: >-
            Present while a queued call is held until a later time (outside
            calling hours, a recall gap, the daily limit).
        agent_id:
          type: string
        phone_number:
          type: string
        contact:
          $ref: '#/components/schemas/Contact'
        variables:
          type: object
          additionalProperties: true
        metadata:
          type: object
          additionalProperties: true
        batch_id:
          type:
            - string
            - 'null'
        test:
          type: boolean
        duration_seconds:
          type:
            - integer
            - 'null'
        created_at:
          type: string
          format: date-time
        dialed_at:
          type:
            - string
            - 'null'
          format: date-time
        ended_at:
          type:
            - string
            - 'null'
          format: date-time
        recording_url:
          type:
            - string
            - 'null'
          description: >-
            A temporary link to the recording. Fetch the call again for a fresh
            link after `recording_expires_at`.
        recording_expires_at:
          type:
            - string
            - 'null'
          format: date-time
        outcome:
          $ref: '#/components/schemas/Outcome'
        idempotent_replay:
          type: boolean
          description: >-
            Only on `POST /calls`: `true` when this is the call created by an
            earlier request with the same `Idempotency-Key`.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: Machine-readable code. Branch on this, not on the message.
              example: invalid_request
            message:
              type: string
              description: A sentence you can log or show to an operator.
            request_id:
              type: string
              description: Quote this when you contact support.
            details:
              type: object
              additionalProperties: true
              description: >-
                Extra context, e.g. `errors: [{field, message}]` for validation
                errors or `call_id` for conflicts.
    Contact:
      type: object
      properties:
        name:
          type:
            - string
            - 'null'
          maxLength: 120
          description: >-
            How the agent addresses the person. Fills `{{name}}` in the agent's
            script.
        email:
          type:
            - string
            - 'null'
          format: email
        external_id:
          type:
            - string
            - 'null'
          maxLength: 255
          description: >-
            Your own id for this person or lead (CRM record id). Echoed back and
            filterable on `GET /calls`.
    Outcome:
      type:
        - object
        - 'null'
      description: >-
        What the AI took from the conversation. `null` until it has been
        processed (usually within a minute of the call ending), and for calls
        that did not connect.
      properties:
        disposition:
          type:
            - string
            - 'null'
          description: >-
            The agent's label for how the call went, from the dispositions
            configured on the agent (e.g. Interested, Not interested, Call back
            later).
        summary:
          type:
            - string
            - 'null'
        answers:
          type: object
          additionalProperties: true
          description: Each of the agent's extraction questions and the answer given.
        lead_rating:
          type:
            - integer
            - 'null'
          minimum: 1
          maximum: 10
          description: >-
            The AI's 1–10 score of the contact's interest; `null` when it could
            not tell.
        callback_requested:
          type: boolean
        callback_time_text:
          type:
            - string
            - 'null'
          description: >-
            When the contact asked to be called back, in their words (e.g.
            `tomorrow after 6 pm`).
        follow_up:
          type:
            - string
            - 'null'
          enum:
            - CALL
            - CALL_LATER
            - SKIP
            - null
          description: >-
            Whether a person should call this contact: `CALL` (now),
            `CALL_LATER` or `SKIP`. `null` when not assessed; never read `null`
            as `CALL`.
        follow_up_note:
          type:
            - string
            - 'null'
          description: >-
            One sentence on why, for the person deciding whether to call (at
            most 240 characters).
        meeting:
          type: object
          description: >-
            A meeting, demo, visit or callback the contact AGREED to at a
            specific day or time. `requested` is false when no time was agreed.
          properties:
            requested:
              type: boolean
            at:
              type:
                - string
                - 'null'
              description: >-
                ISO-8601 with offset, resolved from what was said, e.g.
                `2026-10-14T18:00:00+05:30`.
            time_text:
              type:
                - string
                - 'null'
              description: The contact's own words, e.g. `tomorrow 6 pm`.
            type:
              type:
                - string
                - 'null'
              description: '`demo`, `visit`, `call` or `meeting`.'
        transcript:
          type: array
          items:
            type: object
            properties:
              speaker:
                type: string
                enum:
                  - agent
                  - contact
              text:
                type: string
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Your AI calling API key (`vak_call_…`). `Authorization: Bearer <key>`
        also works.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.