Bypass Streaming (FLS / platform tasks)
RTMP push and HLS playback task endpoints.
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.
| Method | Path | Summary |
|---|---|---|
GET | /v1/projects/{appid}/fls/entry_points | Agora FLS: list entry points |
POST | /v1/projects/{appid}/fls/entry_points | Agora 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}/tasks | Agora 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/streams | List streaming tasks |
POST | /v1/streams | Start a RTMP/HLS streaming task |
GET | /v1/streams/{id} | Get a streaming task |
POST | /v1/streams/{id}/heartbeat | Viewer heartbeat (resets idle timeout) |
POST | /v1/streams/{id}/stop | Stop 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
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
appid | path | is | string | pattern ^[a-f0-9]{32}$ |
Response
| Status codes | Description / schema |
|---|---|
200 | { entryPoints } (sorted strings) — FlsEntryPointList |
Example call
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
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
appid | path | is | string | pattern ^[a-f0-9]{32}$ |
id | query | string |
Response
| Status codes | Description / schema |
|---|---|
200 | { entryPoint, entryPoints } — FlsEntryPoint |
Example call
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
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
appid | path | is | string | pattern ^[a-f0-9]{32}$ |
entryPoint | path | is | string | pattern ^[A-Za-z0-9_-]{1,64}$ |
Response
| Status codes | Description / schema |
|---|---|
200 | { deleted, entryPoint } — FlsEntryPointDelete |
Example call
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
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
appid | path | is | string | pattern ^[a-f0-9]{32}$ |
entryPoint | path | is | string | pattern ^[A-Za-z0-9_-]{1,64}$ |
region | path | is | enum(cn | ap | na | eu) | |
id | query | is | string | |
cname | query | string |
Response
| Status codes | Description / schema |
|---|---|
202 | { streamName, taskId, state, region } — FlsTaskAccepted |
Example call
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
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
appid | path | is | string | pattern ^[a-f0-9]{32}$ |
entryPoint | path | is | string | pattern ^[A-Za-z0-9_-]{1,64}$ |
region | path | is | enum(cn | ap | na | eu) | |
streamName | path | is | string | pattern ^[A-Za-z0-9_-]{1,128}$ |
Response
| Status codes | Description / schema |
|---|---|
200 | { streamName, taskId, state } — FlsTaskStop |
Example call
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 codes | Description / schema |
|---|---|
200 | { total, streams } — StreamingTaskList |
Example call
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
| Field | Type | Required | Description |
|---|---|---|---|
channelName | string | is | |
entryPoint | string | default "live" | |
streamName | string | ||
rtmpUrl | string | ||
hls | boolean | default true | |
idleTimeoutSeconds | integer | default 300 | |
maxDurationSeconds | integer | ||
idempotencyKey | string |
{
"channelName": "weekly-sync",
"entryPoint": "live",
"hls": true,
"idleTimeoutSeconds": 300
}Response
| Status codes | Description / schema |
|---|---|
202 | accepted — StreamingTask |
403 | Banned or service not enabled — Error |
429 | Quota exceeded — Error |
Example call
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
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
id | path | is | string | length 0..128 |
Response
| Status codes | Description / schema |
|---|---|
200 | task — StreamingTask |
Example call
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
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
id | path | is | string | length 0..128 |
Response
| Status codes | Description / schema |
|---|---|
200 | the task with a refreshed lastActiveAt — StreamingTask |
404 | Resource not found — Error |
Example call
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
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
id | path | is | string | length 0..128 |
Response
| Status codes | Description / schema |
|---|---|
200 | the stopped task (same shape as GET /v1/streams/{id}) — StreamingTask |
404 | Resource not found — Error |
Example call
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 }
| 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 |
FlsEntryPoint — object{ entryPoint, entryPoints }
| Field | Type | Required | Description |
|---|---|---|---|
entryPoint | string | is | |
entryPoints | array<string> | is |
FlsEntryPointDelete — object{ deleted, entryPoint }
| Field | Type | Required | Description |
|---|---|---|---|
deleted | boolean | is | |
entryPoint | string | is |
FlsEntryPointList — object{ entryPoints }
| Field | Type | Required | Description |
|---|---|---|---|
entryPoints | array<string> | is |
FlsTaskAccepted — object{ streamName, taskId, state, region }
| Field | Type | Required | Description |
|---|---|---|---|
streamName | string | is | |
taskId | string | is | |
state | enum(starting | running | stopping | stopped | failed | expired) | is | |
region | string | is |
FlsTaskStop — object{ streamName, taskId, state }
| Field | Type | Required | Description |
|---|---|---|---|
streamName | string | is | |
taskId | string | is | |
state | enum(starting | running | stopping | stopped | failed | expired) | is |
StreamingTask — object
| Field | Type | Required | Description |
|---|---|---|---|
id | string | ||
channelName | string | ||
entryPoint | string | ||
streamName | string | ||
rtmpUrl | string | ||
hlsUrl | string | ||
state | enum(starting | running | stopping | stopped | failed | expired) | ||
idleTimeoutSeconds | integer | ||
lastActiveAt | string | format date-time | |
error | string | null |
StreamingTaskList — object{ total, streams }
| Field | Type | Required | Description |
|---|---|---|---|
total | integer | is | |
streams | array<object> | is |