Add a teammate or number to the call
const url = 'https://api.vocapable.com/v1/workspace/calls/example/participants';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"to_user_id":"example","destination_id":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.vocapable.com/v1/workspace/calls/example/participants \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "to_user_id": "example", "destination_id": "example" }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”Responses
Section titled “Responses”Successful Response
object
A teammate named on a record: the id the server holds and the name to show.
object
object
A teammate named on a record: the id the server holds and the name to show.
object
A teammate named on a record: the id the server holds and the name to show.
object
A number the owner allow-listed for external transfers and three-way calls (E5-R3).
object
The work a call was placed from, carried to its wrap-up (PRD E10-R1/R2).
Each link is null when there is none, and also when the record has since been deleted or is no longer one the handler may see.
object
One piece of work a call is linked to, as the handler may see it.
object
One piece of work a call is linked to, as the handler may see it.
object
One piece of work a call is linked to, as the handler may see it.
object
One piece of work a call is linked to, as the handler may see it.
object
One piece of work a call is linked to, as the handler may see it.
object
One piece of work a call is linked to, as the handler may see it.
object
The business line a call came from (E12-R1): the company’s own number, named.
object
An extra leg of a live call (E5-R4 three-way, E5-R7 the handler’s own phone).
object
A teammate named on a record: the id the server holds and the name to show.
object
What a person is told about a call’s transcript (PRD E7-R6, E6-R8).
label is the exact sentence the clients show (“Transcribing”, “Not recorded - made
from a personal phone”, …) so the web console and the app use the same words.
object
The persistent recording indicator and its controls (Apple 2.5.14).
object
A UI hint about the far party’s location; NEVER suppresses the announcement.
A manager or owner listening to, whispering to or joined to a live call.
Shown to the REP on their own call (notice: “Priya is listening”) - supervision is
never silent. ringing = the supervisor’s leg is connecting; joined = the carrier
confirmed it is in the call.
object
A teammate named on a record: the id the server holds and the name to show.
object
How an inbound caller reached the person who answered (PRD E3-R2, E3-R11).
queue: they answered the caller from the shared-phone queue (app, browser or
verified phone) - ticket_id is the queue’s record of the caller. ai_handoff:
they took the AI receptionist’s direct handoff - handoff_request_id is the live
handoff (its brief is /call-handoffs/{id}/brief). ai_call_id is the AI
receptionist’s call the caller had first, when there was one.
A due scheduled callback the server rang the person’s app for (PRD E2-R7).
label is what the ring shows once the app has read the call (“Callback: Dana,
Lakeside”); the VoIP push itself carries identifiers only. The customer is dialled only
after the person answers that ring.
object
Example
{ "direction": "outbound", "phase": "requested", "recording": "off", "outcome": "conversation", "transfer": { "state": "requested", "kind": "warm", "destination": { "payment_line": false } }, "channel": "app", "participants": [ { "kind": "teammate", "state": "requested" } ], "transcription": { "status": "off", "untranscribed_reason": "personal_phone", "label": "Not transcribed" }, "wrap_up_provenance": { "additionalProperty": "ai_drafted" }, "recording_status": { "state": "off", "line_mode": "off", "consent_hint": { "kind": "all_party_state" }, "refusal_source": "rep" }, "supervision": { "mode": "listen", "channel": "app", "state": "requested" }, "answered_from": { "kind": "queue" }}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}