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

# Get a call

> Returns one call with its summary, a temporary recording link and the transcript.

The call has the fields described in [Call fields](https://docs.olimi.ai/api-reference/endpoint/calls/calls.md#call-fields), plus its summary, recording and transcript. A call without a recording or transcript still returns `200`, with `recording` or `transcript` set to `null`. A call that connected but had no spoken turns has `transcript: []`.

> [!NOTE]
>
> The link in `recording.url` expires after `recording.expiresIn` seconds, usually one hour. Call Get a call again for a fresh link.


## OpenAPI

````yaml get /api/v2/calls/{id}
openapi: 3.0.1
info:
  title: Customer Management API
  description: API for managing customer lists and customers within those lists
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api-eg.olimi.ai
security:
  - bearerAuth: []
paths:
  /api/v2/calls/{id}:
    get:
      tags:
        - Calls
      summary: Get a call
      description: >-
        Returns one call with its summary, a temporary recording link and the
        transcript.
      parameters:
        - name: id
          in: path
          required: true
          description: The call's `id`.
          schema:
            type: string
            format: uuid
          example: c41f8e27-3b9a-4d6e-8f15-2a7c9e0b4d63
      responses:
        '200':
          description: The call.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResponse'
        '400':
          description: '`id` isn''t a valid UUID.'
        '401':
          description: The `X-API-KEY` header is missing or the key isn't valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: >-
            `call_not_found`: no call with that `id` belongs to your company, or
            it was deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - apiKeyAuth: []
components:
  schemas:
    CallResponse:
      type: object
      properties:
        message:
          type: string
          example: Call fetched successfully
        data:
          $ref: '#/components/schemas/CallDetail'
    ApiError:
      type: object
      properties:
        statusCode:
          type: integer
          example: 404
        errorCode:
          type: string
          description: Machine-readable error code.
          example: agent_not_found
        message:
          type: string
          description: Human-readable text. May change; don't match on it.
          example: Agent not found
    CallDetail:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The call's ID.
          example: c41f8e27-3b9a-4d6e-8f15-2a7c9e0b4d63
        callSid:
          type: string
          nullable: true
          description: The call's reference in the phone network. Searchable in full.
          example: CA7d3f1c9e2b8a4f60d5e1c7b93a2f8e41d6
        status:
          type: string
          enum:
            - pending
            - in_progress
            - answered
            - not_answered
            - failed
          description: >-
            See [Call status
            values](/api-reference/endpoint/calls/calls#call-status-values).
          example: answered
        callType:
          type: string
          enum:
            - inbound
            - outbound
            - web
          description: See [Call types](/api-reference/endpoint/calls/calls#call-types).
          example: outbound
        durationInSec:
          type: integer
          description: How long the call lasted, in seconds.
          example: 184
        isInterested:
          type: boolean
          nullable: true
          description: >-
            Whether the contact seemed interested, judged from the conversation.
            `null` when not determined.
          example: true
        tags:
          type: array
          nullable: true
          items:
            type: string
          description: Tags applied to the call.
          example:
            - interested
        tagsWithColors:
          type: array
          items:
            $ref: '#/components/schemas/CallTagWithColor'
          description: The same tags with their colour.
        customKeys:
          type: array
          items:
            $ref: '#/components/schemas/CallCustomKey'
          description: >-
            Values extracted from the conversation, one per custom key. `null`
            when none were extracted.
          nullable: true
        retryCount:
          type: integer
          description: Which retry this call was. `0` for the first attempt.
          example: 0
        isFinal:
          type: boolean
          description: >-
            Whether no more attempts will be made to reach this contact. See
            [When a call is
            final](/api-reference/endpoint/calls/calls#when-a-call-is-final).
          example: true
        createdAt:
          type: string
          format: date-time
          description: When the call was created (UTC).
          example: '2026-09-28T10:22:41.307Z'
        agent:
          $ref: '#/components/schemas/CallAgentRef'
        contact:
          $ref: '#/components/schemas/CallContactRef'
        campaign:
          $ref: '#/components/schemas/CallCampaignRef'
        didNumber:
          $ref: '#/components/schemas/CallDidNumberRef'
        summaryEn:
          type: string
          nullable: true
          description: The call summary in English, as Markdown.
          example: |-
            # Call Summary

            ## Brief Description:
            - The customer confirmed they want to renew.
        summaryAr:
          type: string
          nullable: true
          description: The call summary in Arabic, as Markdown.
          example: null
        callAnsweredAt:
          type: string
          format: date-time
          description: When the call was answered (UTC).
          example: '2026-09-28T10:22:43.102Z'
          nullable: true
        callFinishedAt:
          type: string
          format: date-time
          description: When the call ended (UTC).
          example: '2026-09-28T10:25:47.530Z'
          nullable: true
        recording:
          allOf:
            - $ref: '#/components/schemas/CallRecordingUrl'
          nullable: true
          description: >-
            A temporary link to the recording, valid for about an hour. `null`
            when the call has no recording.
        transcript:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/CallTranscriptMessage'
          description: >-
            The conversation, turn by turn. `null` when nothing was recorded,
            `[]` when there were no spoken turns.
    CallTagWithColor:
      type: object
      properties:
        name:
          type: string
          example: interested
        color:
          type: string
          nullable: true
          example: '#16A34A'
    CallCustomKey:
      type: object
      properties:
        key:
          type: string
          example: preferred_branch
        value:
          type: string
          example: Nasr City
    CallAgentRef:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: 0d6a3f7e-5b8c-4b1e-9a51-2f1d7c9e4a10
        name:
          type: string
          example: Renewals Agent
    CallContactRef:
      type: object
      nullable: true
      properties:
        id:
          type: string
          format: uuid
          example: b2f7c4e1-8a3d-4c59-9e06-1d5a7f3b8c42
        phoneNumber:
          type: string
          example: '+201001234567'
          description: >-
            Usually E.164. Website widget contacts and some inbound callers may
            have another format or an empty value.
        firstName:
          type: string
          nullable: true
          example: Ahmed
        lastName:
          type: string
          nullable: true
          example: Hassan
        callbackScheduled:
          type: boolean
          description: Whether the contact asked to be called back.
          example: false
    CallCampaignRef:
      type: object
      nullable: true
      properties:
        id:
          type: string
          format: uuid
          example: 3e8b5d21-7c4a-4f96-a1d0-6b2e9c7f4a58
        name:
          type: string
          example: September renewals
        maxRetries:
          type: integer
          example: 2
      description: >-
        `null` for calls outside a campaign, and for calls whose campaign was
        deleted.
    CallDidNumberRef:
      type: object
      nullable: true
      properties:
        id:
          type: string
          format: uuid
          example: d5a2e8c1-4f7b-4a93-b6d0-1e9c3f7a2b84
        phoneNumber:
          type: string
          example: '+20225550100'
    CallRecordingUrl:
      type: object
      properties:
        url:
          type: string
          description: A temporary link to stream or download the audio.
          example: https://<storage-host>/recordings/c41f8e27.wav?X-Amz-Signature=…
        mimeType:
          type: string
          description: >-
            The audio format as stored, for example `audio/wav` or `audio/mpeg`.
            Some recordings report another value such as
            `application/octet-stream`.
          example: audio/wav
        expiresIn:
          type: integer
          description: Seconds until `url` stops working.
          example: 3600
    CallTranscriptMessage:
      type: object
      properties:
        role:
          type: string
          enum:
            - assistant
            - user
          description: '`assistant` is the agent; `user` is the person called.'
          example: assistant
        content:
          type: string
          description: What was said.
          example: Hello, this is Olimi calling about your renewal.
        createdAt:
          type: string
          format: date-time
          nullable: true
          description: When it was said (UTC). Can be missing or `null`.
          example: '2026-09-28T10:22:44.918Z'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````

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