API reference · Calls

Get a call

GEThttps://goblins-call-api.onrender.com/v1/calls/:id

Returns one call: its state, timing, cost and the transcript so far. It can be read while the call is still going.

Works with a workspace API key or the agent’s own key.

Path parameters

idstringRequired

The callId returned when the call was started.

Response

statusenumcreated · active · ended

created until the agent has joined the room, active while it is in the room, ended afterwards.

endReasonstring

Why the call ended: user-left, api, max-duration, socket-lost, agent-shutdown, room-finished, dispatch-failed, or no-user when nobody ever joined.

durationSecondsinteger

Counted from the moment the caller joined.

callCostnumber

What the call took from the workspace balance, in USD. A call nobody joined costs nothing.

metadataobject

What you sent when starting the call, plus variables, agentId, agentName and userId.

transcriptobject[]

Each turn as { role, text, at }, with role being user or assistant.

qualityobject

A turn-taking and latency summary the agent reports at hang-up, when it has one.

Errors

404

No call in your workspace has that ID.

Every request can also answer 401, 429 and 500: see Errors.

curl "https://goblins-call-api.onrender.com/v1/calls/8f1c2c1e-7b1a-4e0a-9c55-2f6f0d3b1a90" \
  -H "Authorization: Bearer $CRACKLE_API_KEY"
Response · 200 OK
{
  "call": {
    "id": "8f1c2c1e-7b1a-4e0a-9c55-2f6f0d3b1a90",
    "userId": "usr_8c1d2e3f4a5b",
    "roomName": "call_8f1c2c1e7b1a",
    "source": "api",
    "status": "ended",
    "createdAt": "2026-10-11T05:56:12.000Z",
    "agentJoinedAt": "2026-10-11T05:56:13.000Z",
    "userJoinedAt": "2026-10-11T05:56:15.000Z",
    "endedAt": "2026-10-11T05:59:19.000Z",
    "endReason": "user-left",
    "durationSeconds": 184,
    "costPerMinute": 0.07,
    "callCost": 0.2147,
    "participantIdentity": "customer_123",
    "metadata": {
      "orderId": "A-1042",
      "variables": { "customer_name": "Divya" },
      "agentId": "ua_3f9a1c2b",
      "agentName": "Front desk",
      "userId": "usr_8c1d2e3f4a5b"
    },
    "webhooks": [],
    "transcript": [
      { "role": "assistant", "text": "Hi Divya, this is Sunrise Dental.", "at": "2026-10-11T05:56:16.000Z" },
      { "role": "user", "text": "Hi, I need to move my appointment.", "at": "2026-10-11T05:56:21.000Z" }
    ]
  }
}