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​
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number | String | Yes | Phone number to dial |
name | String | No | Participant name |
role | String | No | Participant role (presenter, listener) |
muted | Boolean | No | Mute on entry (default: false) |
send_pin_via_sms | Boolean | No | Send 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​
| Role | Permissions | Use Case |
|---|---|---|
presenter | Can control conference, mute others | Organizer, moderator |
listener | Can listen only | Attendees, observers |
operator | Full control | Administrator |
Participant Status​
| Status | Description |
|---|---|
pending | Participant invitation sent |
dialing | System attempting to connect |
connected | Participant joined conference |
held | Participant on hold |
disconnected | Participant left conference |
rejected | Participant declined or failed to connect |
Managing Participant Audio​
See Conference Controls for muting, unmuting, and holding participants.
Best Practices​
- Presenter First: Add presenter/organizer first
- Name Identification: Always provide participant names
- Role Assignment: Use appropriate roles for participants
- Timing: Add participants just before conference start
- Notification: Use SMS PIN delivery for secure conferences
- 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