Channel and User Management
Channel and participant queries plus moderation.
Group overview
Generated at build time from the public REST API definition: tag channels, 7 operations (out of 189). For authentication, envelope and pagination conventions see REST API overview.
| Method | Path | Summary |
|---|---|---|
GET | /v1/channels | List channels |
GET | /v1/channels/{channelName}/users | List users in a channel |
GET | /v1/channels/{channelName}/users/{uid} | Get one user |
DELETE | /v1/channels/{channelName}/users/{uid} | Kick a user |
POST | /v1/channels/{channelName}/users/{uid}/mute | Server-side mute |
POST | /v1/channels/{channelName}/users/{uid}/role | Change role (host/audience) |
POST | /v1/channels/{channelName}/users/{uid}/unmute | Lift a server-side mute |
Operation details
GET /v1/channels
List channels
Authentication: project credentials (Base64 of customerId:customerSecret)
Parameters
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
page_no | query | integer | >= 0,default 0 | |
page_size | query | integer | 1..500,default 100 |
Response
| Status codes | Description / schema |
|---|---|
200 | channels — object{ total, pageNo, pageSize, channels } |
401 | Missing/invalid credentials — Error |
Example call
curl -s -X GET "$NIMEET_API_BASE/v1/channels?page_no=0&page_size=100" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"GET /v1/channels/{channelName}/users
List users in a channel
Authentication: project credentials (Base64 of customerId:customerSecret)
Parameters
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
channelName | path | is | string | length 0..128 |
Response
| Status codes | Description / schema |
|---|---|
200 | users — object{ channel, users } |
404 | Resource not found — Error |
Example call
curl -s -X GET "$NIMEET_API_BASE/v1/channels/weekly-sync/users" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"GET /v1/channels/{channelName}/users/{uid}
Get one user
Authentication: project credentials (Base64 of customerId:customerSecret)
Parameters
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
channelName | path | is | string | length 0..128 |
uid | path | is | integer | 1..2147483647 |
Response
| Status codes | Description / schema |
|---|---|
200 | user — UserView |
404 | Resource not found — Error |
Example call
curl -s -X GET "$NIMEET_API_BASE/v1/channels/weekly-sync/users/10001" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"DELETE /v1/channels/{channelName}/users/{uid}
Kick a user
Removes the participant from the media plane, emits a leave callback with Agora reason 3, and creates a join_channel ban rule for the given duration (0 = kick only).
Authentication: project credentials (Base64 of customerId:customerSecret)
Parameters
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
channelName | path | is | string | length 0..128 |
uid | path | is | integer | 1..2147483647 |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
durationSeconds | integer | 0..86430 | |
reason | string |
{
"durationSeconds": 600,
"reason": "docs-example"
}Response
| Status codes | Description / schema |
|---|---|
200 | the kick result and the ban rule it created — object{ kicked, uid, banRuleId, expireAt } |
404 | Resource not found — Error |
Example call
curl -s -X DELETE "$NIMEET_API_BASE/v1/channels/weekly-sync/users/10001" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
-H "Content-Type: application/json" \
-d '{"durationSeconds":600,"reason":"docs-example"}'POST /v1/channels/{channelName}/users/{uid}/mute
Server-side mute
Authentication: project credentials (Base64 of customerId:customerSecret)
Parameters
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
channelName | path | is | string | length 0..128 |
uid | path | is | integer | 1..2147483647 |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
kind | enum(audio | video | all) | default "all" | |
banPublish | boolean | ||
durationSeconds | integer |
{
"kind": "audio",
"banPublish": true,
"durationSeconds": 600
}Response
| Status codes | Description / schema |
|---|---|
200 | the mute result, the tracks muted and the ban rules created — object{ muted, uid, kind, mutedTracks, banRuleIds } |
404 | Resource not found — Error |
Example call
curl -s -X POST "$NIMEET_API_BASE/v1/channels/weekly-sync/users/10001/mute" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
-H "Content-Type: application/json" \
-d '{"kind":"audio","banPublish":true,"durationSeconds":600}'POST /v1/channels/{channelName}/users/{uid}/role
Change role (host/audience)
Updates media permissions and emits role_to_broadcaster (111) or role_to_audience (112).
Authentication: project credentials (Base64 of customerId:customerSecret)
Parameters
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
channelName | path | is | string | length 0..128 |
uid | path | is | integer | 1..2147483647 |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
role | enum(host | audience) | is |
{
"role": "audience"
}Response
| Status codes | Description / schema |
|---|---|
200 | the user with its new role — object{ uid, role } |
404 | Resource not found — Error |
Example call
curl -s -X POST "$NIMEET_API_BASE/v1/channels/weekly-sync/users/10001/role" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
-H "Content-Type: application/json" \
-d '{"role":"audience"}'POST /v1/channels/{channelName}/users/{uid}/unmute
Lift a server-side mute
Authentication: project credentials (Base64 of customerId:customerSecret)
Parameters
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
channelName | path | is | string | length 0..128 |
uid | path | is | integer | 1..2147483647 |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
kind | enum(audio | video | all) | default "all" |
{
"kind": "audio"
}Response
| Status codes | Description / schema |
|---|---|
200 | the unmute result and the tracks that were restored — object{ unmuted, uid, kind, unmutedTracks } |
Example call
curl -s -X POST "$NIMEET_API_BASE/v1/channels/weekly-sync/users/10001/unmute" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
-H "Content-Type: application/json" \
-d '{"kind":"audio"}'Schemas used by this group
ChannelSummary — object{ channelName, userCount, profile, createdAt }
| Field | Type | Required | Description |
|---|---|---|---|
channelName | string | ||
userCount | integer | ||
profile | enum(communication | live) | ||
createdAt | string | null | format date-time |
Error — object{ code, message, reason, sdkCode, details }
| Field | Type | Required | Description |
|---|---|---|---|
code | string | is | stable machine code, see errors.json |
message | string | is | |
reason | string | ||
sdkCode | integer | Agora-aligned client error number | |
details | object |
UserView — object
| Field | Type | Required | Description |
|---|---|---|---|
uid | integer | ||
userId | string | null | ||
role | enum(host | audience) | ||
platform | integer | ||
joinedAt | string | format date-time | |
audioMuted | boolean | ||
videoMuted | boolean | ||
publishing | object{ audio, video, screen } |