List calls
/callsThe organization's calls, newest first. OAuth apps need calls:read.
Headers
AuthorizationRequiredstringYour API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.
Query parameters
limitoptionalintegerMaximum number of items to return per page. Must be between 1 and 200; defaults to 50. Combine with cursor to paginate.
cursoroptionalstringOpaque pagination cursor. Pass the next_cursor value from a previous response to fetch the next page; omit it on the first request.
Returns
dataoptionalCall[]
dataoptionalCall[]Array of Call
call_idRequiredstringCall id (call_...).
channel_idRequiredstringThe Blooio Voice channel (ch_...) the call is on.
directionRequiredstring"inbound""outbound"fromRequiredstringCaller, in E.164 format. A withheld caller ID is the carrier's text instead, such as anonymous, with no contact_id.
toRequiredstringCallee, in E.164 format.
contact_idRequiredstring | nullThe contact on the other end (ct_...).
statusRequiredstringqueued 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 | nullWho has the call's audio; null until it's answered, and while a call the agent handed off waits for a teammate.
handlerRequiredCallHandler | nullWho 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"urloptionalstringstream only: the WebSocket URL the audio streams to.
tooptionalstringphone only: the number the call was transferred to.
answered_by_user_idRequiredstring | nullThe dashboard user holding the call on their softphone.
hangup_causeRequiredstring | nullThe carrier's hangup cause, e.g. normal_clearing.
errorRequiredCallError | null
errorRequiredCallError | nullCallError
codeRequiredstringmessageRequiredstringcreated_atRequiredintegerEpoch ms.
answered_atRequiredinteger | nullEpoch ms.
ended_atRequiredinteger | nullEpoch ms.
has_moreoptionalbooleannext_cursoroptionalstring | nullResponse codes
Sends a live request with your values and shows the real response below. Your key is stored only in this browser.
curl -X GET https://api.blooio.com/v4/calls?limit=50&cursor=string \{ "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"}