Create a voice token

Mints a short-lived token for one of your app users. Call this from your backend and return the token to your app, which passes it to the voice client SDK to register. The identity is bound to the given number, or to your default app-call number when omitted, and calls placed by that identity are routed through the bound number. Minting again re-binds the identity, so an identity can move between numbers.

POST
/v3/voice/tokens

Header Parameters

Idempotency-Key?string

Unique key to ensure idempotent request processing. Must be 1-255 alphanumeric characters, hyphens, or underscores. Responses are cached for 24 hours per key per customer.

Match^[a-zA-Z0-9_-]+$
Lengthlength <= 255
x-profile-id?string

Profile UUID to scope the request to a child profile. Only organization API keys can use this header. The profile must belong to the calling organization.

Formatuuid

Request Body

application/json
  1. body

Request to mint a voice token for one of your app users

sandbox?boolean

Sandbox flag - when true, the operation is simulated without side effects Useful for testing integrations without actual execution

identity?string

Your identifier for the app user, such as an agent or account id. Letters, digits, hyphens and underscores only, up to 200 characters.

number?|

One of your voice-enabled phone numbers in E.164 format. Calls placed by this identity are routed through that number. Omit to use your default app-call number.

ttl?|

Token lifetime in seconds. Defaults to 600 and cannot exceed 3600.

Formatint32
Range1 <= value <= 3600

Response Body

Token minted and identity bound to the number

application/json
  1. response

Standard API response envelope for all v3 endpoints

success?boolean

Indicates whether the request was successful

data?|null

The response data (null if error)

error?|null

Error details (null if successful)

meta?

Metadata about the request and response

Example Request
curl -X POST 'https://api.sent.dm/v3/voice/tokens' \  -H 'Idempotency-Key: req_abc123_retry1' \  -H 'Content-Type: application/json' \  -d '{  "identity": "agent-42",  "number": "+12025550123",  "ttl": 600,  "sandbox": false}'
Example Response
{  "success": true,  "data": {    "token": "vt_eyJ2IjoxLCJjaWQiOiIzZjJlMWQwYy05YjhhLTRmN2UtOGQ2Yy01YjRhM2YyZTFkMGMiLCJzdWIiOiJhZ2VudC00MiIsIm51bSI6IiszODM0OTExMTIyMiIsImlhdCI6MTc4NDcyMzA5NiwiZXhwIjoxNzg0NzIzNjk2fQ.0za4u7CrKet0zI8VRUTnpq_rrw0ZxwMCwnC7hXURGWI",    "identity": "agent-42",    "number": "+12025550123",    "expires_at": "2026-07-22T12:34:56+00:00"  },  "error": null,  "meta": {    "request_id": "req_7X9zKp2jDw",    "timestamp": "2026-11-12T15:32:26.3040204+00:00",    "version": "v3"  }}