Skip to main content
GET
/
v1
/
retrieve-call-log
/
{call_id}
Retrieve Call Log
curl --request GET \
  --url https://api.getbluejay.ai/v1/retrieve-call-log/{call_id} \
  --header 'X-API-Key: <x-api-key>'
{
  "call_log": {
    "id": "<string>",
    "agent_id": "<string>",
    "recording_url": "<string>",
    "start_time_utc": "<string>",
    "participants": [
      {
        "role": "AGENT",
        "spoke_first": true,
        "name": "<string>",
        "phone_number": "<string>"
      }
    ],
    "status": "INITIALIZING",
    "external_agent_id": "<string>",
    "call_direction": "INBOUND",
    "interface": "PHONE",
    "created_at": "2023-11-07T05:31:56Z",
    "transcript_url": "<string>",
    "tool_calls": [
      {
        "name": "<string>",
        "start_offset_ms": 1,
        "description": "<string>",
        "parameters": {},
        "output": "<unknown>"
      }
    ],
    "events": [
      {
        "title": "<string>",
        "start_offset_ms": 123,
        "description": "<string>",
        "end_offset_ms": 123,
        "tags": [
          "<string>"
        ],
        "metadata": {}
      }
    ],
    "tags": [
      "<string>"
    ],
    "duration_ms": 0,
    "evaluations": [
      {
        "agent_speak_percentage": 123,
        "avg_agent_latency": 123,
        "id": "<string>",
        "created_at": "2023-11-07T05:31:56Z",
        "hallucination": true,
        "hallucination_reasoning": "<string>",
        "redundancy": true,
        "redundancy_reasoning": "<string>",
        "latency": {
          "avg_agent_latency": 0,
          "max_agent_latency": 0,
          "p50_agent_latency": 0,
          "p90_agent_latency": 0,
          "p95_agent_latency": 0,
          "p99_agent_latency": 0
        },
        "filler_ignored_latency": {
          "avg_filler_ignored_latency": 0,
          "p50_filler_ignored_latency": 0,
          "p90_filler_ignored_latency": 0,
          "p95_filler_ignored_latency": 0,
          "p99_filler_ignored_latency": 0
        },
        "num_turns": 123,
        "call_summary": "<string>",
        "custom_evals": [
          "<unknown>"
        ],
        "custom_evals_success_rate": 123,
        "goal_success": true,
        "goal_reasoning": "<string>",
        "pronunciation_score": 123,
        "pronunciation_reasoning": "<string>",
        "sentiment_label": "<string>",
        "sentiment_score": 123,
        "sentiment_scores": {},
        "custom_metrics": [
          {
            "name": "<string>",
            "description": "<string>",
            "response_type": "<string>",
            "response_value": "<string>",
            "reasoning": "<string>",
            "min_value": 123,
            "max_value": 123,
            "category": "<string>",
            "tags": [
              "<string>"
            ],
            "scoring_guidance": "<string>",
            "enum_options": [
              "<string>"
            ]
          }
        ]
      }
    ],
    "annotations": [
      "<unknown>"
    ],
    "metadata": {},
    "custom_metrics": [
      "<unknown>"
    ],
    "conversation_ended_by": "AGENT"
  },
  "status": "200"
}
Integration Prompt for AI Agents
# Bluejay — Testing & Monitoring Platform for Conversational AI Agents

You are a senior backend engineer integrating the Bluejay API. Think step-by-step: first understand the endpoint, then plan the integration, then implement with minimal changes.

## Retrieve Call Log — GET /v1/retrieve-call-log/{call_id}

> **What this endpoint does:** Retrieve call logs for a specific agent given the agent ID. Returns a list of call objects, each with an additional "evaluations" field containing a list of evaluations joined via call_id.

**Endpoint:** GET `https://api.getbluejay.ai/v1/retrieve-call-log/{call_id}`
**Auth:** `X-API-Key` header

### Required Parameters
| Name | Type | Description |
|------|------|-------------|
| call_id | string |  |
| X-API-Key | string | API key required to authenticate requests. |

### Example
**Simple GET:**
```python
import requests

def retrieve_call_log(call_id: str, api_key: str) -> dict:
    url = f"https://api.getbluejay.ai/v1/retrieve-call-log/{call_id}"
    headers = {"X-API-Key": api_key}
    response = requests.get(url, headers=headers)
    response.raise_for_status()
    return response.json()
```

### Constraints
- Minimal changes — only add/change files needed for this integration.
- Match existing codebase patterns (naming, file structure, error handling).
- Include error handling for 422: Validation Error.

### Integration Checklist
Before writing code, verify:
1. Which module/service owns this API domain in the codebase?
2. What HTTP client and error-handling patterns does the project use?
3. Are there existing types/interfaces to extend?

Then implement the integration, export it, and confirm it compiles/passes lint.
Retrieves the call log for a specific call identified by call_id. This endpoint returns detailed information about the call, including evaluations, hallucinations, redundancy, and custom evaluation metrics.

Headers

X-API-Key
string
required

API key required to authenticate requests.

Path Parameters

call_id
string
required

Response

Successful Response

call_log
CallLog · object
required

Details of the retrieved call log

status
string
default:200

Status of the response