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

# Get Contact Calls

> Get Contact Calls.

### Authorizations

<ParamField header="X-Api-Key" type="string" required>
  Your Agni API key used to authenticate the request. Pass it in the `X-Api-Key` header. Find or rotate it from your Ravan AI account settings.
</ParamField>

***

### Path Parameters

<ParamField path="id" type="string" required>
  The unique ID of the resource in the path. Use the ID returned by the related create or list endpoint.
</ParamField>

***

### Response

<ResponseField name="success" type="boolean">
  Whether the request succeeded.
</ResponseField>

<ResponseField name="message" type="string">
  Human-readable status message.
</ResponseField>

<ResponseField name="data" type="array">
  Array of call session objects.
</ResponseField>


## OpenAPI

````yaml GET /api/v1/contacts/{id}/calls
openapi: 3.0.1
info:
  title: Agni API
  version: 1.0.0
  description: >-
    Agni API for managing agents, tools, widget settings, telephony, and
    integrations.
servers:
  - url: https://api.ravan.ai
security:
  - X-Api-Key: []
tags:
  - name: AgentService
  - name: AgentToolService
  - name: WidgetSettingsService
  - name: PhoneService
  - name: AppointmentService
  - name: GHLService
  - name: CalComService
  - name: CampaignService
  - name: ContactService
  - name: CallingService
  - name: RAGService
  - name: ModelService
  - name: HealthService
paths:
  /api/v1/contacts/{id}/calls:
    get:
      tags:
        - ContactService
      summary: Get Contact Calls
      operationId: GetContactCalls
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Contact ID
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetContactCallsResponse'
components:
  schemas:
    GetContactCallsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/CallSession'
    CallSession:
      type: object
      properties:
        id:
          type: string
          description: Session ID
        agentId:
          type: string
          description: Agent ID
        organizationId:
          type: string
          description: Organization ID
        roomId:
          type: string
          description: LiveKit room ID
        callerNumber:
          type: string
          description: Caller phone number
        calleeNumber:
          type: string
          description: Callee phone number
        callerName:
          type: string
          description: Caller name
        callerEmail:
          type: string
          description: Caller email
        channel:
          type: string
          description: Call channel
        status:
          type: string
          description: Call status
        summary:
          type: string
          description: Call summary
        metadata:
          type: object
          description: Custom metadata
        errorMessage:
          type: string
          description: Error message, if any
        disconnectReason:
          type: string
          description: Reason for disconnect
        promptDynamicVariables:
          type: object
          description: Prompt dynamic variables used for the call
        extractDynamicVariables:
          type: object
          nullable: true
          description: Extracted dynamic variables returned after the call
        callLatencyMs:
          type: integer
          description: Call latency in milliseconds
        startedAt:
          type: string
          description: Start timestamp
        endedAt:
          type: string
          description: End timestamp
        durationSec:
          type: integer
          description: Duration in seconds
        createdAt:
          type: string
          description: Creation timestamp
        recordingUrl:
          type: string
          description: Pre-signed recording URL
        costTotal:
          type: string
          description: Total call cost
        agentName:
          type: string
          description: Agent name
        postCallAnalysisResult:
          type: object
          description: Post-call analysis result
        creditBreakdown:
          $ref: '#/components/schemas/CreditBreakdown'
      example:
        id: <string>
        agentId: <string>
        organizationId: <string>
        roomId: <string>
        callerNumber: <string>
        calleeNumber: <string>
        callerName: <string>
        callerEmail: <string>
        channel: <string>
        status: <string>
        summary: <string>
        metadata: {}
        errorMessage: <string>
        disconnectReason: <string>
        promptDynamicVariables: {}
        extractDynamicVariables: null
        callLatencyMs: 0
        startedAt: <string>
        endedAt: <string>
        durationSec: 0
        createdAt: <string>
        recordingUrl: <string>
        costTotal: <string>
        agentName: <string>
        postCallAnalysisResult: {}
        creditBreakdown:
          channel: <string>
          duration_sec: 0
          model_credits: 0
          provider_credits: 0
          provider_managed: true
          telephony_type: <string>
          total_credits: 0
    CreditBreakdown:
      type: object
      properties:
        channel:
          type: string
        duration_sec:
          type: integer
        model_credits:
          type: number
        provider_credits:
          type: number
        provider_managed:
          type: boolean
        telephony_type:
          type: string
        total_credits:
          type: number
  securitySchemes:
    X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key

````