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

# Get Call

> Retrieve a specific call with full details including transcript, recording, cost, and analysis.

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET https://api.thinnest.ai/v2/calls/{call_id} \
    -H "Authorization: Bearer $THINNESTAI_API_KEY"
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.thinnest.ai/v2/calls/{call_id}"
  headers = {
      "Authorization": "Bearer " + "YOUR_THINNESTAI_API_KEY",
  }

  response = requests.get(url, headers=headers)
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.thinnest.ai/v2/calls/{call_id}", {
    method: "GET",
    headers: {
      "Authorization": "Bearer " + "YOUR_THINNESTAI_API_KEY",
    },
  });

  const data = await response.json();
  console.log(data);
  ```

  ```go Go theme={null}
  package main

  import (
      "fmt"
      "io"
      "net/http"
  )

  func main() {
      req, _ := http.NewRequest("GET", "https://api.thinnest.ai/v2/calls/{call_id}", nil)
      req.Header.Set("Authorization", "Bearer YOUR_THINNESTAI_API_KEY")

      resp, err := http.DefaultClient.Do(req)
      if err != nil { panic(err) }
      defer resp.Body.Close()
      body, _ := io.ReadAll(resp.Body)
      fmt.Println(string(body))
  }
  ```
</RequestExample>

### Response `200`

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": 77,
    "type": "web",
    "status": "ended",
    "agent_id": "ag_5d2678fd_e556",
    "agent_name": "Priya Support Agent",

    "started_at": "2026-03-25T10:20:57Z",
    "ended_at": "2026-03-25T10:22:36Z",
    "duration_seconds": 99.1,
    "ended_reason": "user_hangup",

    "transcript": [
      { "role": "assistant", "content": "नमस्ते, मैं प्रिया हूँ...", "timestamp": "0.0" },
      { "role": "user", "content": "मुझे मदद चाहिए", "timestamp": "5.2" },
      { "role": "assistant", "content": "जी बिल्कुल, बताइए...", "timestamp": "6.1" }
    ],

    "recording_url": "https://storage.googleapis.com/thinnestai-recordings/recordings/...",
    "recording_duration": 99,

    "cost": {
      "total_usd": 0.08,
      "total_inr": 6.80,
      "breakdown": {
        "platform_fee": 0.05,
        "stt": 0.01,
        "tts": 0.015,
        "llm": 0.005,
        "telephony": 0.00
      }
    },

    "model": {
      "provider": "groq",
      "model_id": "llama-3.3-70b-versatile"
    },
    "transcriber": {
      "provider": "deepgram",
      "model": "nova-3"
    },
    "voice": {
      "provider": "cartesia",
      "model": "sonic-3",
      "voice_id": "be79f378-47fe-..."
    },

    "latency_ms": 475,
    "interruptions": 2,

    "analysis": {
      "summary": {
        "overview": "Customer asked about billing. Agent resolved the issue.",
        "key_topics": ["billing", "refund"],
        "action_items": ["Process refund within 3 days"],
        "outcome": "resolved"
      },
      "sentiment": "positive",
      "score": { "score": 85, "reasoning": "Polite, resolved issue quickly" },
      "tags": ["support", "billing"],
      "knowledge_gaps": []
    },

    "phone_number": null,
    "caller_phone": null,
    "call_direction": "web",

    "created_at": "2026-03-25T10:20:57Z",
    "updated_at": "2026-03-25T10:22:38Z"
  }
  ```
</ResponseExample>

### Response Fields

<ResponseField name="id" type="integer">
  Call ID
</ResponseField>

<ResponseField name="type" type="string">
  web, inbound, outbound
</ResponseField>

<ResponseField name="status" type="string">
  active, ended, error, pending, deleted
</ResponseField>

<ResponseField name="agent_id" type="string">
  Agent public ID
</ResponseField>

<ResponseField name="duration_seconds" type="number">
  Total call duration
</ResponseField>

<ResponseField name="ended_reason" type="string">
  Why the call ended
</ResponseField>

<ResponseField name="transcript" type="array">
  Conversation messages
</ResponseField>

<ResponseField name="transcript[].role" type="string">
  assistant or user
</ResponseField>

<ResponseField name="transcript[].content" type="string">
  Message text
</ResponseField>

<ResponseField name="transcript[].timestamp" type="string">
  Seconds from call start
</ResponseField>

<ResponseField name="recording_url" type="string">
  Pre-signed URL (expires in 1 hour)
</ResponseField>

<ResponseField name="recording_duration" type="integer">
  Recording length in seconds
</ResponseField>

<ResponseField name="cost.total_usd" type="number">
  Total cost in USD
</ResponseField>

<ResponseField name="cost.total_inr" type="number">
  Total cost in INR
</ResponseField>

<ResponseField name="cost.breakdown.*" type="number">
  Per-component costs (platform, STT, TTS, LLM, telephony)
</ResponseField>

<ResponseField name="model" type="object">
  LLM provider + model used
</ResponseField>

<ResponseField name="transcriber" type="object">
  STT provider + model used
</ResponseField>

<ResponseField name="voice" type="object">
  TTS provider + voice used
</ResponseField>

<ResponseField name="latency_ms" type="integer">
  Average turn-around latency in ms
</ResponseField>

<ResponseField name="interruptions" type="integer">
  Number of user interruptions
</ResponseField>

<ResponseField name="analysis.summary" type="object">
  AI-generated call summary
</ResponseField>

<ResponseField name="analysis.sentiment" type="string">
  Overall sentiment (positive, neutral, negative)
</ResponseField>

<ResponseField name="analysis.score" type="object">
  Call quality score (0-100)
</ResponseField>

<ResponseField name="analysis.tags" type="array">
  Auto-detected call tags
</ResponseField>

<ResponseField name="phone_number" type="string">
  Agent's phone number (for phone calls)
</ResponseField>

<ResponseField name="caller_phone" type="string">
  Caller's phone number
</ResponseField>

### Errors

| Code  | Description                        |
| ----- | ---------------------------------- |
| `404` | Call not found                     |
| `403` | Not authorized to access this call |
