Add a participant to a call
Changed onBrings a colleague's extension into a call the calling agent owns, turning a two-party call into a three-party call. The colleague's phone rings. When the colleague answers, the colleague joins the call. The other two parties are not put on hold or muted and are not interrupted. The call must be one the calling agent owns, be in progress and be a two-party call. The participant must be an extension of the calling agent's customer. Any other address type, or an extension that does not exist, is deleted or belongs to another customer, is rejected with 400. A call that already has three parties, a call that is not in a conference, an extension that has no registered phone, and a request made while another participant is being added to the same call are rejected with 409. After a participant was added or declined, a new request can be refused for up to 90 seconds. The response is the group call of the new leg. It carries the IDs of the call legs in call_ids. The calls themselves can appear a moment after the response, and an extension with several registered phones has one leg per phone, of which only the one that answers joins. The legs belong to the colleague, so they are not returned from GET /service_agents/calls of the calling agent. Follow the progress from the call events. When the three-party call ends depends on how the original call started. If the call came in through a queue, it ends when the customer leaves, and it continues when the calling agent leaves. If the calling agent placed the call, it ends for everyone when the calling agent leaves. In both cases the call ends when only one party is left. Calls that reached the agent in another way, for example a direct call to the agent's extension, were not measured. The recording of a leg that was started before continues. Insight listening cannot be started while there are three parties.
Request
- Base URLhttps://api.voipbin.net/v1.0
- Authnone declared
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
The call ID returned from the GET /service_agents/calls response.
Request body
Example request
{
"address": {
"type": "extension",
"target": "c5e7f18c-fc5a-4520-8326-e534e2ca0b8f"
}
}Response
The group call of the new leg.
Example response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"customer_id": "7c4d2f3a-1b8e-4f5c-9a6d-3e2f1a0b4c5d",
"owner_type": "agent",
"owner_id": "c2d3e4f5-a6b7-8901-2cde-f01234567890",
"status": "progressing",
"flow_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"source": {
"type": "tel",
"target": "+14155551234",
"target_name": "John Smith",
"name": "Main Office",
"detail": "Primary contact number"
},
"destinations": [
{
"type": "tel",
"target": "+14155551234",
"target_name": "John Smith",
"name": "Main Office",
"detail": "Primary contact number"
}
],
"master_call_id": "4d5e6f7a-8b9c-0123-def0-123456789012",
"master_groupcall_id": "5e6f7a8b-9c0d-1234-ef01-234567890123",
"ring_method": "ring_all",
"answer_method": "hangup_others",
"answer_call_id": "550e8400-e29b-41d4-a716-446655440000",
"call_ids": [
"550e8400-e29b-41d4-a716-446655440000"
],
"answer_groupcall_id": "5e6f7a8b-9c0d-1234-ef01-234567890123",
"groupcall_ids": [
"5e6f7a8b-9c0d-1234-ef01-234567890123"
],
"call_count": 2,
"groupcall_count": 1,
"tm_create": "2026-01-15T09:30:00.000000Z",
"tm_update": "2026-01-15T09:30:00.000000Z",
"tm_delete": "2026-01-15T09:30:00.000000Z"
}Changes
- info
endpoint added
- info