Callsv4

Send DTMF

POST/calls/{callId}/dtmf

Play keypad tones into a connected call, to navigate a phone menu for example. OAuth apps need calls:write.

Path parameters

callIdRequiredstring

Call id (call_...).

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

Body parameters

JSON
digitsRequiredstring

Keypad digits to play into the call. w pauses half a second, W a second.

Returns

dataoptionalCall
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.

Response codes

200The call
400`invalid_call_id`, `invalid_body`, or `invalid_field`.
401Your API key is missing or invalid. Pass it as a bearer token.
403`feature_not_enabled`: Blooio SMS and Blooio Voice aren't enabled on this organization.
404`call_not_found`.
409`call_ended`, `call_not_connected`, or `call_not_in_progress`.
422`call_command_rejected`: the carrier refused the command.
502`upstream_unavailable`: the carrier network couldn't be reached. Retry with backoff.

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

Request
curl -X POST https://api.blooio.com/v4/calls/obj_a1b2c3d4/dtmf \
Body object
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  }}