API Reference
Calls

Send a control command to a conference room on the PBX

POST
/v1/conferences/{room_name}/commands

Dispatches one of the allowlisted PBX conference commands to the named room. The room must belong to the active workspace. Unknown commands are rejected with 400.

CommandEffect
mute / unmuteStop or restore what the room hears from a participant.
tmuteToggle a participant's mute state.
deaf / undeafStop or restore what a participant hears from the room.
playPlay an audio file into the room.
saySpeak text into the room.
mohStart or stop hold music in the room.
dtmfSend DTMF digits into the room.
relateSet the audio relationship between two participants.
listList the participants currently in the room.
exitRemove a participant without ending their call.
killEnd the conference and hang up every participant.

exit is how a caller leaves a room and carries on: the leg does not hang up, it requests a new set of voice actions from callback_url, which is required for this command. That is what allows a queued caller to be taken out of a waiting room, offered to an agent, and returned to the room if the agent does not answer. Ending the call instead is what kill is for.

Authorization

bearerAuth
AuthorizationBearer <token>

Long-lived ES256 JWT minted from the dashboard (https://app.sautikit.com/developers/api-keys). Signed by the platform keyring. Carries workspace_id and scopes claims; revoked via the platform deny-list.

In: header

Path Parameters

room_name*string

Conference room name as registered with the PBX.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/conferences/string/commands" \  -H "Content-Type: application/json" \  -d '{    "command": "mute",    "participant": "p-a1b2c3d4-e5f6-7890-abcd-ef1234567890"  }'
{  "status": "ok"}
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string",    "details": [      "string"    ],    "resolution": "string",    "reason": "invalid_characters",    "suggested_e164": "+254727524723"  }}
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string",    "details": [      "string"    ],    "resolution": "string",    "reason": "invalid_characters",    "suggested_e164": "+254727524723"  }}
{  "error": {    "code": "calls.forbidden",    "message": "conference room does not belong to this workspace",    "request_id": "req-b2c3d4e5"  }}
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string",    "details": [      "string"    ],    "resolution": "string",    "reason": "invalid_characters",    "suggested_e164": "+254727524723"  }}