Skip to content
Inkbox

Inkbox

ContactDocs

Jump to

Calls

Place outbound calls with bidirectional audio streaming, and retrieve call records for your phone numbers.

When you place a call, Inkbox dials via Telnyx and opens a WebSocket media stream to the client_websocket_url you provide. Your agent connects to that URL to send and receive audio (or text, depending on the pipeline mode). See Media Stream for details on pipeline modes.


Place call POST

POST /place-call

Initiate an outbound call. Telnyx dials the to_number and opens a bidirectional media stream to your client_websocket_url.

Request body

FieldTypeRequiredDescription
from_numberstringYesCaller ID in E.164 format — must be an active number in your organization
to_numberstringYesDestination number in E.164 format
client_websocket_urlstringNoWebSocket URL (wss://) your agent listens on. Can carry text or audio, depending on how the connection is configured. Falls back to the phone number's configured client_websocket_url if omitted
webhook_urlstringNoURL to receive call status events. Defaults to the Inkbox telephony event handler

Request example

JSONJSON

Response (200)

JSONJSON

The place call response includes a rate_limit object with your organization's rolling 24-hour usage snapshot (calls_used, calls_remaining, calls_limit, minutes_used, minutes_remaining, minutes_limit).

Error responses

StatusDescription
400from_number is not active
403from_number does not belong to your organization
429Organization has exceeded 100 calls or 100 minutes in the last 24 hours. Response includes Retry-After (seconds), X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers
502Telnyx dial failed

Code examples


List calls GET

GET /numbers/{phone_number_id}/calls

List calls for a phone number, newest first.

Path parameters

ParameterTypeDescription
phone_number_idUUIDUnique identifier of the phone number

Query parameters

ParameterTypeDefaultDescription
limitinteger50Number of results to return (1–200)
offsetinteger0Pagination offset

Response (200)

JSONJSON

Code examples


Get call GET

GET /numbers/{phone_number_id}/calls/{call_id}

Get a single call by ID.

Path parameters

ParameterTypeDescription
phone_number_idUUIDUnique identifier of the phone number
call_idUUIDUnique identifier of the call

Response (200)

Returns a call object.

Error responses

StatusDescription
403Call does not belong to your organization
404Call not found

Code examples


Call object

FieldTypeDescription
idUUIDUnique call identifier
local_phone_numberstringYour phone number (E.164)
remote_phone_numberstringThe other party's number (E.164)
directionstring"outbound" or "inbound"
statusstringCall status (see below)
client_websocket_urlstring | nullWebSocket URL the call was streamed to
use_inkbox_ttsboolean | nullWhether Inkbox handles text-to-speech (null until negotiated via WebSocket)
use_inkbox_sttboolean | nullWhether Inkbox handles speech-to-text (null until negotiated via WebSocket)
hangup_reasonstring | nullWhy the call ended: "local", "remote", "max_duration", "voicemail", or "rejected"
started_atstring | nullWhen the call was answered (ISO 8601)
ended_atstring | nullWhen the call ended (ISO 8601)
created_atstringCreation timestamp (ISO 8601)
updated_atstringLast updated timestamp (ISO 8601)

Call statuses

StatusDescription
initiatedCall created, dialing in progress
ringingRemote party is ringing
answeredCall connected and active
completedCall ended normally
canceledCall ended before being answered
failedCall could not be connected

Inkbox

Copyright © 2026 Inkbox

This site is protected by reCAPTCHA.

Google Privacy Policy and Terms of Service apply.

Website

Inkbox

Copyright © 2026 Inkbox

This site is protected by reCAPTCHA.

Google Privacy Policy and Terms of Service apply.

Website