API reference · Calls
Get a call
The status of a call you placed: live while it is going, then its summary once it has ended. Poll it, or use the post-call data in your dashboard.
status moves from dialing to in_progress, then to a final value such as completed, failed or no_answer.
While the call is going, live is { connected, elapsed_seconds, turns } (null fields when the live view is not available for that call); after it ends, live is null.
recording is available, pending (still being stored) or none. Fetch it with GET /api/v1/calls/[id]/recording.
Request
curl -X GET "https://icebot.icebergaisolutions.com/api/v1/calls/c3a1f0e2-7b64-4d9a-8e21-5f0c9d8b7a66" \
-H "Authorization: Bearer $ICEBOT_API_KEY"Parameters
| Name | In | Type | Description |
|---|---|---|---|
id (required) | path | uuid | The id returned by POST /api/v1/calls. |
Responses
200
The call. summary is null until the call has ended and been processed.
{
"data": {
"id": "c3a1f0e2-7b64-4d9a-8e21-5f0c9d8b7a66",
"status": "completed",
"to": "+60123456789",
"duration_seconds": 94,
"summary": "Customer confirmed pickup of order IB-1042 at 6pm.",
"created_at": "2026-09-27T04:02:10.000Z",
"runtime": "call_server",
"answered_by": "human",
"recording": "available",
"live": null
}
}Errors
Every endpoint can also return 401 (missing, unknown or revoked key), 403 (origin not allowed) and 429 (rate limited). See Errors.
| Status | error | When |
|---|---|---|
404 | not found | The call is not this key's agent's. |
Source of truth: /api/v1/calls/{id} in apps/dashboard/app/api/v1/calls/[id]/route.ts.