Callsv4

List calls

GET/calls

The organization's calls, newest first. OAuth apps need calls:read.

Headers

AuthorizationRequiredstring

Your API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.

Bearer

Query parameters

limitoptionalinteger

Maximum number of items to return per page. Must be between 1 and 200; defaults to 50. Combine with cursor to paginate.

cursoroptionalstring

Opaque pagination cursor. Pass the next_cursor value from a previous response to fetch the next page; omit it on the first request.

Returns

dataoptionalCall[]

Array of Call

call_idRequiredstring

Call id (call_...).

channel_idRequiredstring

The Blooio Voice channel (ch_...) the call is on.

directionRequiredstring
"inbound""outbound"
fromRequiredstring

Caller, in E.164 format. A withheld caller ID is the carrier's text instead, such as anonymous, with no contact_id.

toRequiredstring

Callee, in E.164 format.

contact_idRequiredstring | null

The contact on the other end (ct_...).

statusRequiredstring

queued while the dial is placed, ringing, in_progress once answered, then completed. A call that ends unanswered is missed; one whose dial was refused is failed.

"queued""ringing""in_progress""completed""missed""failed"
handlerRequiredCallHandler | null

Who has the call's audio; null until it's answered, and while a call the agent handed off waits for a teammate.

CallHandler
typeRequiredstring
"stream""softphone""agent""phone"
urloptionalstring

stream only: the WebSocket URL the audio streams to.

tooptionalstring

phone only: the number the call was transferred to.

null
answered_by_user_idRequiredstring | null

The dashboard user holding the call on their softphone.

hangup_causeRequiredstring | null

The carrier's hangup cause, e.g. normal_clearing.

errorRequiredCallError | null
CallError
codeRequiredstring
messageRequiredstring
null
created_atRequiredinteger

Epoch ms.

answered_atRequiredinteger | null

Epoch ms.

ended_atRequiredinteger | null

Epoch ms.

has_moreoptionalboolean
next_cursoroptionalstring | null

Response codes

200A page of calls
400`invalid_cursor` or `invalid_limit`.
401Your API key is missing or invalid. Pass it as a bearer token.

Sends a live request with your values and shows the real response below. Your key is stored only in this browser.

Request
curl -X GET https://api.blooio.com/v4/calls?limit=50&cursor=string \
Response objectexample
{  "data": [    {      "call_id": "obj_a1b2c3d4",      "channel_id": "ch_a1b2c3d4",      "direction": "inbound",      "from": "+15551234567",      "to": "+15551234567",      "contact_id": "ct_a1b2c3d4",      "status": "queued",      "handler": {        "type": "stream",        "url": "https://example.com",        "to": "+15551234567"      },      "answered_by_user_id": "obj_a1b2c3d4",      "hangup_cause": "string",      "error": {        "code": "string",        "message": "Hello from Blooio!"      },      "created_at": 0,      "answered_at": 0,      "ended_at": 0    }  ],  "has_more": true,  "next_cursor": "string"}