Skip to main content

Manage Conference Participants

Add participants to a conference, remove participants, and manage their roles and permissions.

Endpoints​

Add Participant​

POST https://api.audian.com:8443/v2/conferences/{conferenceId}/participants

Remove Participant​

DELETE https://api.audian.com:8443/v2/conferences/{conferenceId}/participants/{participantId}

List Participants​

GET https://api.audian.com:8443/v2/conferences/{conferenceId}/participants

Add Participant​

Headers​

Content-Type: application/json
X-Auth-Token: YOUR_API_KEY

Parameters​

ParameterTypeRequiredDescription
phone_numberStringYesPhone number to dial
nameStringNoParticipant name
roleStringNoParticipant role (presenter, listener)
mutedBooleanNoMute on entry (default: false)
send_pin_via_smsBooleanNoSend PIN via SMS (if required)

Examples​

Add Participant by Phone​

curl -X POST https://api.audian.com:8443/v2/conferences/conf_abc123def456/participants \
-H "X-Auth-Token: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+12025551234",
"name": "John Smith",
"role": "presenter"
}'

JavaScript/Node.js​

const axios = require('axios');

const addParticipant = async (conferenceId, phoneNumber, name, role = 'listener') => {
try {
const response = await axios.post(
`https://api.audian.com:8443/v2/conferences/${conferenceId}/participants`,
{
phone_number: phoneNumber,
name: name,
role: role,
muted: false
},
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
console.log('Participant added:', response.data);
} catch (error) {
console.error('Failed to add participant:', error);
}
};

// Usage
addParticipant('conf_abc123def456', '+12025551234', 'John Smith', 'presenter');

Python​

import requests

def add_participant(api_key, conference_id, phone_number, name,
role='listener', muted=False):
url = f'https://api.audian.com:8443/v2/conferences/{conference_id}/participants'
headers = {
'X-Auth-Token': api_key,
'Content-Type': 'application/json'
}

payload = {
'phone_number': phone_number,
'name': name,
'role': role,
'muted': muted
}

response = requests.post(url, headers=headers, json=payload)
return response.json()

# Usage
result = add_participant(
api_key='YOUR_API_KEY',
conference_id='conf_abc123def456',
phone_number='+12025551234',
name='John Smith',
role='presenter'
)
print(result)

Add Multiple Participants​

const axios = require('axios');

const addMultipleParticipants = async (conferenceId, participants) => {
const results = [];

for (const participant of participants) {
try {
const response = await axios.post(
`https://api.audian.com:8443/v2/conferences/${conferenceId}/participants`,
{
phone_number: participant.phone,
name: participant.name,
role: participant.role || 'listener'
},
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
results.push(response.data);
} catch (error) {
console.error(`Failed to add ${participant.name}:`, error);
}
}

return results;
};

// Usage
const participants = [
{ phone: '+12025551234', name: 'John Smith', role: 'presenter' },
{ phone: '+12025555678', name: 'Jane Doe', role: 'listener' },
{ phone: '+12025559999', name: 'Bob Johnson', role: 'listener' }
];

addMultipleParticipants('conf_abc123def456', participants);

Response​

Add Participant Success (200)​

{
"id": "part_xyz789",
"conference_id": "conf_abc123def456",
"phone_number": "+12025551234",
"name": "John Smith",
"role": "presenter",
"status": "dialing",
"muted": false,
"duration": 0,
"joined_at": null,
"created_at": "2024-02-04T11:15:00Z"
}

Remove Participant Success (204)​

Removes the specified participant from the conference.

List Participants Success (200)​

{
"participants": [
{
"id": "part_xyz789",
"conference_id": "conf_abc123def456",
"phone_number": "+12025551234",
"name": "John Smith",
"role": "presenter",
"status": "connected",
"muted": false,
"duration": 245,
"joined_at": "2024-02-04T11:15:30Z"
},
{
"id": "part_abc111",
"conference_id": "conf_abc123def456",
"phone_number": "+12025555678",
"name": "Jane Doe",
"role": "listener",
"status": "connected",
"muted": true,
"duration": 120,
"joined_at": "2024-02-04T11:17:00Z"
}
],
"total": 2,
"active": 2
}

Participant Roles​

RolePermissionsUse Case
presenterCan control conference, mute othersOrganizer, moderator
listenerCan listen onlyAttendees, observers
operatorFull controlAdministrator

Participant Status​

StatusDescription
pendingParticipant invitation sent
dialingSystem attempting to connect
connectedParticipant joined conference
heldParticipant on hold
disconnectedParticipant left conference
rejectedParticipant declined or failed to connect

Managing Participant Audio​

See Conference Controls for muting, unmuting, and holding participants.

Best Practices​

  1. Presenter First: Add presenter/organizer first
  2. Name Identification: Always provide participant names
  3. Role Assignment: Use appropriate roles for participants
  4. Timing: Add participants just before conference start
  5. Notification: Use SMS PIN delivery for secure conferences
  6. Validation: Verify phone numbers before adding

Common Patterns​

Add Meeting Organizer and Attendees​

const conferenceId = 'conf_abc123def456';

// Add organizer as presenter
await addParticipant(conferenceId, '+12025551234', 'John (Organizer)', 'presenter');

// Add attendees as listeners
const attendees = [
'+12025555678',
'+12025559999',
'+14155551234'
];

for (const phone of attendees) {
await addParticipant(conferenceId, phone, 'Attendee', 'listener');
}

Add With Mute on Entry (Webinar Style)​

curl -X POST https://api.audian.com:8443/v2/conferences/conf_abc123def456/participants \
-H "X-Auth-Token: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+12025551234",
"name": "Participant",
"role": "listener",
"muted": true
}'

Limits and Quotas​

  • Max participants per conference: 1000
  • Max add requests per second: 10
  • Max phone number length: 20 characters
  • Max name length: 100 characters
  • Timeout for connection: 60 seconds per participant