nimeet Docs
中文

Bypass Streaming (FLS / platform tasks)

RTMP push and HLS playback task endpoints.

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 streaming, 10 operations (out of 189). For authentication, envelope and pagination conventions see REST API overview.

MethodPathSummary
GET/v1/projects/{appid}/fls/entry_pointsAgora FLS: list entry points
POST/v1/projects/{appid}/fls/entry_pointsAgora FLS: create an entry point
DELETE/v1/projects/{appid}/fls/entry_points/{entryPoint}Agora FLS: delete an entry point
PUT/v1/projects/{appid}/fls/entry_points/{entryPoint}/admin/record/standard/regions/{region}/tasksAgora FLS: start pushing a stream name
DELETE/v1/projects/{appid}/fls/entry_points/{entryPoint}/admin/record/standard/regions/{region}/tasks/{streamName}Agora FLS: stop pushing a stream name
GET/v1/streamsList streaming tasks
POST/v1/streamsStart a RTMP/HLS streaming task
GET/v1/streams/{id}Get a streaming task
POST/v1/streams/{id}/heartbeatViewer heartbeat (resets idle timeout)
POST/v1/streams/{id}/stopStop a streaming task

Operation details

GET /v1/projects/{appid}/fls/entry_points

Agora FLS: list entry points

Authentication: project credentials (Base64 of customerId:customerSecret)

Parameters

NameLocationRequiredTypeDescription
appidpathisstringpattern ^[a-f0-9]{32}$

Response

Status codesDescription / schema
200{ entryPoints } (sorted strings) — FlsEntryPointList

Example call

bash
curl -s -X GET "$NIMEET_API_BASE/v1/projects/$APP_ID/fls/entry_points" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

POST /v1/projects/{appid}/fls/entry_points

Agora FLS: create an entry point

Authentication: project credentials (Base64 of customerId:customerSecret)

Parameters

NameLocationRequiredTypeDescription
appidpathisstringpattern ^[a-f0-9]{32}$
idquerystring

Response

Status codesDescription / schema
200{ entryPoint, entryPoints } — FlsEntryPoint

Example call

bash
curl -s -X POST "$NIMEET_API_BASE/v1/projects/$APP_ID/fls/entry_points?id=weekly-sync_1a2b" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

DELETE /v1/projects/{appid}/fls/entry_points/{entryPoint}

Agora FLS: delete an entry point

Authentication: project credentials (Base64 of customerId:customerSecret)

Parameters

NameLocationRequiredTypeDescription
appidpathisstringpattern ^[a-f0-9]{32}$
entryPointpathisstringpattern ^[A-Za-z0-9_-]{1,64}$

Response

Status codesDescription / schema
200{ deleted, entryPoint } — FlsEntryPointDelete

Example call

bash
curl -s -X DELETE "$NIMEET_API_BASE/v1/projects/$APP_ID/fls/entry_points/live" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

PUT /v1/projects/{appid}/fls/entry_points/{entryPoint}/admin/record/standard/regions/{region}/tasks

Agora FLS: start pushing a stream name

Authentication: project credentials (Base64 of customerId:customerSecret)

Parameters

NameLocationRequiredTypeDescription
appidpathisstringpattern ^[a-f0-9]{32}$
entryPointpathisstringpattern ^[A-Za-z0-9_-]{1,64}$
regionpathisenum(cn | ap | na | eu)
idqueryisstring
cnamequerystring

Response

Status codesDescription / schema
202{ streamName, taskId, state, region } — FlsTaskAccepted

Example call

bash
curl -s -X PUT "$NIMEET_API_BASE/v1/projects/$APP_ID/fls/entry_points/live/admin/record/standard/regions/cn-shanghai/tasks?id=weekly-sync_1a2b&cname=weekly-sync" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

DELETE /v1/projects/{appid}/fls/entry_points/{entryPoint}/admin/record/standard/regions/{region}/tasks/{streamName}

Agora FLS: stop pushing a stream name

Authentication: project credentials (Base64 of customerId:customerSecret)

Parameters

NameLocationRequiredTypeDescription
appidpathisstringpattern ^[a-f0-9]{32}$
entryPointpathisstringpattern ^[A-Za-z0-9_-]{1,64}$
regionpathisenum(cn | ap | na | eu)
streamNamepathisstringpattern ^[A-Za-z0-9_-]{1,128}$

Response

Status codesDescription / schema
200{ streamName, taskId, state } — FlsTaskStop

Example call

bash
curl -s -X DELETE "$NIMEET_API_BASE/v1/projects/$APP_ID/fls/entry_points/live/admin/record/standard/regions/cn-shanghai/tasks/weekly-sync_1a2b" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

GET /v1/streams

List streaming tasks

Authentication: project credentials (Base64 of customerId:customerSecret)

Response

Status codesDescription / schema
200{ total, streams } — StreamingTaskList

Example call

bash
curl -s -X GET "$NIMEET_API_BASE/v1/streams" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

POST /v1/streams

Start a RTMP/HLS streaming task

Authentication: project credentials (Base64 of customerId:customerSecret)

Request body

FieldTypeRequiredDescription
channelNamestringis
entryPointstringdefault "live"
streamNamestring
rtmpUrlstring
hlsbooleandefault true
idleTimeoutSecondsintegerdefault 300
maxDurationSecondsinteger
idempotencyKeystring
json
{
  "channelName": "weekly-sync",
  "entryPoint": "live",
  "hls": true,
  "idleTimeoutSeconds": 300
}

Response

Status codesDescription / schema
202accepted — StreamingTask
403Banned or service not enabled — Error
429Quota exceeded — Error

Example call

bash
curl -s -X POST "$NIMEET_API_BASE/v1/streams" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
  -H "Content-Type: application/json" \
  -d '{"channelName":"weekly-sync","entryPoint":"live","hls":true,"idleTimeoutSeconds":300}'

GET /v1/streams/{id}

Get a streaming task

Authentication: project credentials (Base64 of customerId:customerSecret)

Parameters

NameLocationRequiredTypeDescription
idpathisstringlength 0..128

Response

Status codesDescription / schema
200task — StreamingTask

Example call

bash
curl -s -X GET "$NIMEET_API_BASE/v1/streams/weekly-sync_1a2b" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

POST /v1/streams/{id}/heartbeat

Viewer heartbeat (resets idle timeout)

Authentication: project credentials (Base64 of customerId:customerSecret)

Parameters

NameLocationRequiredTypeDescription
idpathisstringlength 0..128

Response

Status codesDescription / schema
200the task with a refreshed lastActiveAt — StreamingTask
404Resource not found — Error

Example call

bash
curl -s -X POST "$NIMEET_API_BASE/v1/streams/weekly-sync_1a2b/heartbeat" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

POST /v1/streams/{id}/stop

Stop a streaming task

Authentication: project credentials (Base64 of customerId:customerSecret)

Parameters

NameLocationRequiredTypeDescription
idpathisstringlength 0..128

Response

Status codesDescription / schema
200the stopped task (same shape as GET /v1/streams/{id}) — StreamingTask
404Resource not found — Error

Example call

bash
curl -s -X POST "$NIMEET_API_BASE/v1/streams/weekly-sync_1a2b/stop" \
  -H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"

Schemas used by this group

Error — object{ code, message, reason, sdkCode, details }
FieldTypeRequiredDescription
codestringisstable machine code, see errors.json
messagestringis
reasonstring
sdkCodeintegerAgora-aligned client error number
detailsobject
FlsEntryPoint — object{ entryPoint, entryPoints }
FieldTypeRequiredDescription
entryPointstringis
entryPointsarray<string>is
FlsEntryPointDelete — object{ deleted, entryPoint }
FieldTypeRequiredDescription
deletedbooleanis
entryPointstringis
FlsEntryPointList — object{ entryPoints }
FieldTypeRequiredDescription
entryPointsarray<string>is
FlsTaskAccepted — object{ streamName, taskId, state, region }
FieldTypeRequiredDescription
streamNamestringis
taskIdstringis
stateenum(starting | running | stopping | stopped | failed | expired)is
regionstringis
FlsTaskStop — object{ streamName, taskId, state }
FieldTypeRequiredDescription
streamNamestringis
taskIdstringis
stateenum(starting | running | stopping | stopped | failed | expired)is
StreamingTask — object
FieldTypeRequiredDescription
idstring
channelNamestring
entryPointstring
streamNamestring
rtmpUrlstring
hlsUrlstring
stateenum(starting | running | stopping | stopped | failed | expired)
idleTimeoutSecondsinteger
lastActiveAtstringformat date-time
errorstring | null
StreamingTaskList — object{ total, streams }
FieldTypeRequiredDescription
totalintegeris
streamsarray<object>is

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.