GET
/
calls
/
{id}
cURL
curl --request GET \
  --url https://api.callab.ai/v1/calls/{id} \
  --header 'Authorization: Bearer <token>'
{
  "status": "<string>",
  "message": "<string>",
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "call_sid": "<string>",
    "company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "campaign_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "ai_agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "call_provider": "<string>",
    "call_from": "<string>",
    "call_to": "<string>",
    "call_duration": 123,
    "call_status": "<string>",
    "call_direction": "<string>",
    "is_test": true,
    "call_rating": 123,
    "call_feedback": "<string>",
    "record_url": "<string>",
    "transcript": "<string>",
    "transcript_object": {},
    "transcript_language": "<string>",
    "cost": 123,
    "price_unit": "<string>",
    "latency": 123,
    "disconnect_reason": "<string>",
    "analysis_sentiment": "<string>",
    "agent_task_status": "<string>",
    "agent_task_feedback": "<string>",
    "metadata": {},
    "agent_dynamic_variables": {},
    "agent_post_call_outcomes": {},
    "notes": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "deleted_at": "2023-11-07T05:31:56Z",
    "started_at": "2023-11-07T05:31:56Z",
    "ended_at": "2023-11-07T05:31:56Z",
    "retry_at": "2023-11-07T05:31:56Z",
    "workspace_id": "<string>"
  }
}

Get A Call

This endpoint retrieves detailed information about a specific call by its unique identifier.

Endpoint Details

  • URL: /calls/{id}
  • Method: GET
  • Authentication: Required (API KEY or JWT Token)
  • Source: src/api/public_apis_v1/call/get_call/get_call_controller.rs

Path Parameters

ParameterTypeRequiredDescriptionExample
idUUIDYesThe unique identifier of the call to retrieve550e8400-e29b-41d4-a716-446655440000

Request Headers

HeaderValueDescription
AuthorizationBearer <api_key>Your API KEY or JWT Token
Content-Typeapplication/jsonRequest content type

Example Request

cURL

curl -X GET "https://api.callab.ai/calls/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

JavaScript

const getCall = async (callId) => {
  const url = `https://api.callab.ai/calls/${callId}`;
  const apiKey = 'YOUR_API_KEY';

  try {
    const response = await fetch(url, {
      method: 'GET',
      headers: {
        'Authorization': `Bearer ${apiKey}`,
        'Content-Type': 'application/json'
      }
    });

    if (!response.ok) {
      throw new Error(`HTTP error! Status: ${response.status}`);
    }

    const data = await response.json();
    return data;
  } catch (error) {
    console.error('Error fetching call:', error);
    throw error;
  }
};

// Usage
const callId = '550e8400-e29b-41d4-a716-446655440000';
getCall(callId).then(data => console.log(data));

Python

import requests

def get_call(call_id, api_key):
    url = f"https://api.callab.ai/calls/{call_id}"
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }
    
    response = requests.get(url, headers=headers)
    
    if response.status_code == 200:
        return response.json()
    else:
        raise Exception(f"Error: {response.status_code} - {response.text}")

# Usage
call_id = "550e8400-e29b-41d4-a716-446655440000"
api_key = "YOUR_API_KEY"
call_data = get_call(call_id, api_key)
print(call_data)

Response

Success Response

Status Code: 200 OK
{
  "status": "ok",
  "message": "ok",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "call_sid": "CALL_abc123def456",
    "campaign_id": "550e8400-e29b-41d4-a716-446655440001",
    "ai_agent_id": "550e8400-e29b-41d4-a716-446655440002",
    "contact_id": "550e8400-e29b-41d4-a716-446655440003",
    "company_id": "550e8400-e29b-41d4-a716-446655440004",
    "call_from": "+1234567890",
    "call_to": "+9876543210",
    "call_duration": 125,
    "call_status": "completed",
    "call_direction": "outbound",
    "call_provider": "twilio_clusterlab",
    "call_rating": 5,
    "call_feedback": "Great conversation",
    "record_url": "https://recordings.example.com/call_123.mp3",
    "transcript": "Agent: Hello, how can I help you today?\nCustomer: I'd like to inquire about your services...",
    "is_test": false,
    "transcript_object": {
      "segments": [
        {
          "speaker": "agent",
          "text": "Hello, how can I help you today?",
          "timestamp": 0
        },
        {
          "speaker": "customer",
          "text": "I'd like to inquire about your services",
          "timestamp": 2.5
        }
      ]
    },
    "transcript_language": "en-US",
    "cost": 0.85,
    "price_unit": "USD",
    "latency": 150,
    "disconnect_reason": "caller_hung_up",
    "analysis_sentiment": "positive",
    "agent_task_status": "completed",
    "agent_task_feedback": "Successfully handled customer inquiry",
    "metadata": {
      "custom_field": "value",
      "session_id": "session_123"
    },
    "agent_dynamic_variables": {
      "customer_name": "John Doe",
      "account_number": "12345"
    },
    "agent_post_call_outcomes": {
      "sale_made": true,
      "follow_up_required": false,
      "customer_satisfaction": "high"
    },
    "notes": "Customer interested in premium plan",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:32:00Z",
    "deleted_at": null,
    "started_at": "2024-01-15T10:30:15Z",
    "ended_at": "2024-01-15T10:32:20Z",
    "retry_at": null,
    "workspace_id": "production"
  }
}

Error Response

Status Code: 200 OK (with error status) When a call is not found or an error occurs:
{
  "status": "error",
  "message": "error",
  "data": ""
}

Response Fields

FieldTypeDescription
idUUIDUnique identifier for the call
call_sidStringCall session ID from the provider
campaign_idUUID or nullAssociated campaign identifier
ai_agent_idUUIDAI agent that handled the call
contact_idUUID or nullAssociated contact identifier
company_idUUIDCompany that owns the call
call_fromStringOriginating phone number
call_toStringDestination phone number
call_durationIntegerDuration in seconds
call_statusStringCurrent status (completed, failed, in-progress, etc.)
call_directionStringDirection (inbound/outbound)
call_providerStringService provider used
call_ratingIntegerCall quality rating (1-5)
call_feedbackString or nullTextual feedback
record_urlString or nullURL to call recording
transcriptString or nullFull text transcript
transcript_objectObject or nullStructured transcript data
transcript_languageString or nullDetected language
costFloatCall cost
price_unitStringCurrency unit
latencyIntegerNetwork latency in ms
disconnect_reasonStringReason for disconnection
analysis_sentimentStringSentiment analysis result
agent_task_statusStringTask completion status
agent_task_feedbackStringAgent performance feedback
metadataObject or nullCustom metadata
agent_dynamic_variablesObject or nullVariables used during call
agent_post_call_outcomesObject or nullPost-call outcomes
notesString or nullAdditional notes
created_atDateTimeCreation timestamp
updated_atDateTimeLast update timestamp
deleted_atDateTime or nullDeletion timestamp (soft delete)
started_atDateTime or nullCall start time
ended_atDateTime or nullCall end time
retry_atDateTime or nullScheduled retry time
workspace_idStringWorkspace identifier

Use Cases

1. Call Details Retrieval

Fetch complete information about a specific call for review or analysis.

2. Quality Assurance

Access call recordings, transcripts, and sentiment analysis for QA purposes.

3. Customer Support

Retrieve call history and context when handling customer inquiries.

4. Analytics and Reporting

Get detailed call metrics for business intelligence and reporting.

5. Integration with CRM

Sync call data with external CRM systems using the call ID.

Notes

  • The endpoint returns a standard success response even when the call is not found (with error status)
  • All timestamps are returned in UTC format
  • The transcript_object contains structured transcript data with speaker identification and timestamps
  • The metadata field can contain any custom JSON data associated with the call
  • Call recordings are accessible via the record_url field when available

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

ID of call to fetch

Response

call response

status
string
required

Status of the response, e.g., 'ok' or 'error'

message
string
required

A descriptive message for the response

data

The data payload, which can be the call object or an error string. Detailed information about a call.