nimeet Docs
中文

Channel and User Management

Channel and participant queries plus moderation.

Generated from the public REST API definitions

Version v1.1.0 · Updated 2026-10-26 · revision 1

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.

MethodPathSummary
GET/v1/channelsList channels
GET/v1/channels/{channelName}/usersList 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}/muteServer-side mute
POST/v1/channels/{channelName}/users/{uid}/roleChange role (host/audience)
POST/v1/channels/{channelName}/users/{uid}/unmuteLift a server-side mute

Operation details

GET /v1/channels

List channels

Authentication: project credentials (Base64 of customerId:customerSecret)

Parameters

NameLocationRequiredTypeDescription
page_noqueryinteger>= 0,default 0
page_sizequeryinteger1..500,default 100

Response

Status codesDescription / schema
200channels — object{ total, pageNo, pageSize, channels }
401Missing/invalid credentials — Error

Example call

bash
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

NameLocationRequiredTypeDescription
channelNamepathisstringlength 0..128

Response

Status codesDescription / schema
200users — object{ channel, users }
404Resource not found — Error

Example call

bash
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

NameLocationRequiredTypeDescription
channelNamepathisstringlength 0..128
uidpathisinteger1..2147483647

Response

Status codesDescription / schema
200user — UserView
404Resource not found — Error

Example call

bash
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

NameLocationRequiredTypeDescription
channelNamepathisstringlength 0..128
uidpathisinteger1..2147483647

Request body

FieldTypeRequiredDescription
durationSecondsinteger0..86430
reasonstring
json
{
  "durationSeconds": 600,
  "reason": "docs-example"
}

Response

Status codesDescription / schema
200the kick result and the ban rule it created — object{ kicked, uid, banRuleId, expireAt }
404Resource not found — Error

Example call

bash
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

NameLocationRequiredTypeDescription
channelNamepathisstringlength 0..128
uidpathisinteger1..2147483647

Request body

FieldTypeRequiredDescription
kindenum(audio | video | all)default "all"
banPublishboolean
durationSecondsinteger
json
{
  "kind": "audio",
  "banPublish": true,
  "durationSeconds": 600
}

Response

Status codesDescription / schema
200the mute result, the tracks muted and the ban rules created — object{ muted, uid, kind, mutedTracks, banRuleIds }
404Resource not found — Error

Example call

bash
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

NameLocationRequiredTypeDescription
channelNamepathisstringlength 0..128
uidpathisinteger1..2147483647

Request body

FieldTypeRequiredDescription
roleenum(host | audience)is
json
{
  "role": "audience"
}

Response

Status codesDescription / schema
200the user with its new role — object{ uid, role }
404Resource not found — Error

Example call

bash
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

NameLocationRequiredTypeDescription
channelNamepathisstringlength 0..128
uidpathisinteger1..2147483647

Request body

FieldTypeRequiredDescription
kindenum(audio | video | all)default "all"
json
{
  "kind": "audio"
}

Response

Status codesDescription / schema
200the unmute result and the tracks that were restored — object{ unmuted, uid, kind, unmutedTracks }

Example call

bash
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 }
FieldTypeRequiredDescription
channelNamestring
userCountinteger
profileenum(communication | live)
createdAtstring | nullformat date-time
Error — object{ code, message, reason, sdkCode, details }
FieldTypeRequiredDescription
codestringisstable machine code, see errors.json
messagestringis
reasonstring
sdkCodeintegerAgora-aligned client error number
detailsobject
UserView — object
FieldTypeRequiredDescription
uidinteger
userIdstring | null
roleenum(host | audience)
platforminteger
joinedAtstringformat date-time
audioMutedboolean
videoMutedboolean
publishingobject{ audio, video, screen }

Generated by the documentation build pipeline · 2026-10-31 01:24:02 UTC · Documentation center v1.1.0.

Content follows the public API definitions.

ni-meet is a self-hosted RTC PaaS with a LiveKit-based media plane (Apache-2.0) and an Agora-compatible API.