Add a participant to a call

Dials one of your app users or a phone number into a call that is in a conference room, and answers with the participant's own call record. The participant is a call of their own: it has its own id, can be looked up and hung up, and is billed and reported through call.completed and call.failed like any other call. Every participant needs a payment method on file and a positive balance. A phone participant is called from caller_id, which must be one of your numbers, or from the call's owning number when omitted, and needs a destination you may call. Only a call your answer connected to a conference can take participants: a call connected to a user or a number answers 409.

POST
/v3/voice/calls/{id}/participants

Path Parameters

id*string

The call id from the route, as carried by call webhooks and the calls list, for example call_9f2ab000-0000-4000-8000-000000000001

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 add a participant to one of your live calls

sandbox?boolean

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

to*

Who to add: one of your app users, or a phone number

caller_id?|

The number shown to a phone participant as the caller, in E.164 format. Must be one of your numbers. The call's owning number when omitted

Response Body

The participant is being dialed; the body is their call record

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/calls/call_9f2ab000-0000-4000-8000-000000000001/participants' \  -H 'Idempotency-Key: req_abc123_retry1' \  -H 'Content-Type: application/json' \  -d '{  "to": {    "kind": "number",    "value": "+14155551234"  },  "caller_id": "+12025550123",  "sandbox": false}'
Example Response
{  "success": true,  "data": {    "id": "call_9f2ab000-0000-4000-8000-000000000002",    "mode": "inapp",    "agent_id": null,    "direction": "outbound",    "from": {      "kind": "conference",      "value": "daily-standup"    },    "to": {      "kind": "number",      "value": "+14155551234"    },    "number": "+12025550123",    "connected_number": null,    "caller_id_used": null,    "status": "INITIATED",    "failure_reason": null,    "started_at": "2026-07-22T12:00:00+00:00",    "answered_at": null,    "ended_at": null,    "duration_seconds": null,    "price": null,    "legs": null,    "recording_available": false,    "timeline": null  },  "error": null,  "meta": {    "request_id": "req_7X9zKp2jDw",    "timestamp": "2026-11-12T15:32:26.4089876+00:00",    "version": "v3"  }}