Calls
Get a call
The call with its transcript, analysis and metrics. GET/calls/{call_id}
Includes the transcript, per-turn metrics, the call's variables and whether a recording exists.
#Parameters
call_idinteger · pathrequired
#Example request
curl https://app.bluepenguin.io/api/v1/calls/8812 \
-H "Authorization: Bearer $BLUEPENGUIN_KEY"const r = await fetch('https://app.bluepenguin.io/api/v1/calls/8812', {
method: 'GET',
headers: {
authorization: `Bearer ${process.env.BLUEPENGUIN_KEY}`,
},
})
const data = await r.json()import os, requests
r = requests.get(
"https://app.bluepenguin.io/api/v1/calls/8812",
headers={"Authorization": f"Bearer {os.environ['BLUEPENGUIN_KEY']}"},
)
data = r.json()#Example response
200 OK
{
"id": 8812,
"assistant_id": 12,
"channel": "phone",
"direction": "inbound",
"from_number": "+15555550142",
"to_number": "+15555550100",
"started_at": "2026-10-06T14:28:51Z",
"ended_at": "2026-10-06T14:31:58Z",
"duration_s": 187,
"status": "completed",
"outcome": "booked",
"ended_reason": "call_ended",
"summary": "Maya, a new patient, booked a cleaning for Thursday at 2:30 PM.",
"intent": "book a cleaning",
"caller_name": "Maya Chen",
"score": 9,
"analysis": {
"success": 9,
"success_reason": "Booked on the first try",
"scale": "score_10",
"data": {
"new_patient": true
}
},
"transcript": [
{
"role": "assistant",
"text": "Thanks for calling Brightside Dental, this is Ava.",
"t": 0.4
},
{
"role": "user",
"text": "Hi, I'd like to book a cleaning.",
"t": 3.1
}
],
"metrics": {
"reply_ms_p50": 780
},
"variables": {},
"recording": true
}#Errors
| Status | When |
|---|---|
401 | Missing or invalid API key. |
404 | not_found: it doesn't exist or belongs to another business. |
422 | A parameter or field is invalid; the reply lists which. |
429 | More than 240 requests a minute on this key. |