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

# Get call details

> Retrieves detailed information about a specific call by its ID. The call must belong to an agent that belongs to your company. Transcript and recording URLs are presigned and valid for 60 minutes.



## OpenAPI

````yaml GET /v1/call/{call_id}
openapi: 3.0.3
info:
  title: Samora AI API
  description: >
    The Samora AI API lets you trigger immediate outbound calls and manage
    outbound campaigns through the Samora AI system. Use it to start calls with
    your AI agents, pass per-call context, create campaigns, add recipients, and
    manage campaign lifecycle from your server.


    **Authentication:** Every request must include your organization API key in
    the `X-API-Key` header. These APIs are intended for server-to-server
    integrations; do not expose your organization API key in browser or mobile
    clients.


    **Phone number format:** Destination numbers must be in E.164 format (e.g.
    `+919876543210`) and include the country code. The pattern is: `+` followed
    by 10-15 digits.


    **Call statuses:** When you fetch call details, `status` can be: `PENDING`,
    `TRIGGERED`, `ONGOING`, `CALL_FINISHED`, `UNANSWERED`, `REJECTED`.


    **Campaign statuses:** Campaign `status` can be: `DRAFT`, `SCHEDULED`,
    `IN_PROGRESS`, `PAUSED`, `FINISHED`, `FAILED`, `CANCELLED`.


    **Campaign lifecycle:** Recipients can be added only while a campaign is
    `DRAFT` or `PAUSED`. Campaigns can be started only from `DRAFT` or `PAUSED`,
    stopped only from `IN_PROGRESS`, and cancelled unless they are already
    `FINISHED`, `FAILED`, or `CANCELLED`.


    **Campaign API limits:** Request bodies are limited to 2 MiB. Campaign names
    can be up to 120 characters. List requests support `page_size` up to 100.
    Add recipients accepts up to 5000 phone numbers per request, and each
    recipient's `call_variables` can be up to 4 KiB.


    **Transcripts and recordings:** For finished calls, presigned URLs for
    transcript and recording are valid for 60 minutes.
  version: 1.0.0
  license:
    name: Proprietary
servers:
  - url: https://api.samora.ai
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /v1/call/{call_id}:
    get:
      description: >-
        Retrieves detailed information about a specific call by its ID. The call
        must belong to an agent that belongs to your company. Transcript and
        recording URLs are presigned and valid for 60 minutes.
      parameters:
        - name: call_id
          in: path
          required: true
          description: >-
            The UUID of the call to retrieve. Returned as `call_id` from the
            Trigger call endpoint.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Call details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCallDetailsResponse'
              examples:
                finishedCall:
                  value:
                    message: Call details fetched successfully
                    data:
                      agent_id: 123e4567-e89b-12d3-a456-426614174000
                      created_at: '2024-01-15T10:30:00Z'
                      updated_at: '2024-01-15T10:35:00Z'
                      started_at: '2024-01-15T10:30:05Z'
                      ended_at: '2024-01-15T10:35:30Z'
                      transcript_url: >-
                        https://s3.amazonaws.com/bucket/transcript.pdf?X-Amz-Algorithm=...
                      recording_url: >-
                        https://s3.amazonaws.com/bucket/recording.mp3?X-Amz-Algorithm=...
                      status: CALL_FINISHED
                      call_variables:
                        name: John Doe
                        email: john.doe@example.com
                        customer_id: CUST-001
                      call_dispositions:
                        - id: b1h2a3r4-t5i6-7890-1234-567890abcdef
                          name: Final Outcome
                          type: mcq
                          answer: Voicemail Left
                          _source: consensus
                          choices:
                            - Callback Scheduled
                            - Not Interested
                            - Voicemail Left
                            - Hung Up
                            - Abusive/DNC
                          question: What was the final outcome of the call?
                        - id: f5n6o7t8-e9s0-1234-5678-90abcdef1234
                          name: Call Summary
                          type: subjective
                          answer: >-
                            The call went to voicemail, and the assistant
                            attempted to engage but received no response.
                          _source: primary
                          question: Briefly summarize the call.
        '400':
          description: Bad request - invalid call ID format
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Call not found or does not belong to your company
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                callNotFound:
                  value:
                    message: Call not found or does not belong to your company
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    GetCallDetailsResponse:
      type: object
      required:
        - message
        - data
      properties:
        message:
          type: string
          description: Human-readable status message.
        data:
          $ref: '#/components/schemas/CallDetails'
      additionalProperties: false
    Error:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: Error message.
      additionalProperties: false
    CallDetails:
      type: object
      required:
        - agent_id
        - created_at
        - updated_at
        - status
      properties:
        agent_id:
          type: string
          format: uuid
          description: The UUID of the AI agent that conducted the call.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the call record was created (ISO 8601).
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the call record was last updated (ISO 8601).
        started_at:
          type: string
          nullable: true
          format: date-time
          description: Timestamp when the call started (ISO 8601). Null if not yet started.
        ended_at:
          type: string
          nullable: true
          format: date-time
          description: Timestamp when the call ended (ISO 8601). Null if not yet ended.
        transcript_url:
          type: string
          nullable: true
          format: uri
          description: >-
            Presigned URL to access the call transcript (valid for 60 minutes).
            Null if not available.
        recording_url:
          type: string
          nullable: true
          format: uri
          description: >-
            Presigned URL to access the call recording (valid for 60 minutes).
            Null if not available.
        status:
          type: string
          enum:
            - PENDING
            - TRIGGERED
            - ONGOING
            - CALL_FINISHED
            - UNANSWERED
            - REJECTED
          description: Current status of the call.
        call_variables:
          type: object
          nullable: true
          additionalProperties: true
          description: >-
            Additional variables associated with the call (e.g. metadata passed
            at trigger time). Null if none.
        call_dispositions:
          type: array
          nullable: true
          description: >-
            Call disposition evaluation answers generated for the call when
            available.
          items:
            $ref: '#/components/schemas/OutcomeEvaluationItem'
      additionalProperties: false
    OutcomeEvaluationItem:
      type: object
      required:
        - id
        - name
        - type
        - answer
        - _source
        - question
      properties:
        id:
          type: string
          description: Evaluation question identifier.
        name:
          type: string
          description: Human-readable evaluation field name.
        type:
          type: string
          enum:
            - mcq
            - subjective
          description: Evaluation answer type.
        answer:
          type: string
          description: Evaluation answer.
        _source:
          type: string
          description: Source used to derive the answer, for example primary or consensus.
        choices:
          type: array
          description: Possible options for MCQ evaluations.
          items:
            type: string
        question:
          type: string
          description: Evaluation question text.
      additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your unique organization API key. Required on all requests.

````