Pearl REST API list, create, rename, and delete publishers
Before configuring or controlling a stream you need its publisher ID. Publishers are listed per channel, and new ones can be created and deleted through the API.
Applies to: Pearl-2, Pearl Mini, Pearl Nexus, Pearl Nano.
| Method and path | What it does |
|---|---|
GET /channels/{cid}/publishers |
Lists the publishers on a channel |
GET /channels/{cid}/publishers/type |
Lists the ID, type, and name of each publisher |
GET /channels/{cid}/publishers/{pid}/type |
Returns the type of one publisher |
GET /channels/{cid}/publishers/{pid}/name |
Returns the display name of one publisher |
PUT /channels/{cid}/publishers/{pid}/name?name=<new name> |
Renames a publisher |
POST /channels/{cid}/publishers |
Adds a new publisher to a channel |
DELETE /channels/{cid}/publishers/{pid} |
Deletes a publisher |
Publisher types are rtmp, rtsp, rtp-udp, mpegts-udp, mpegts-rtp, ndi, hls, and srt.
Device differences
- The
ndipublisher type applies to Pearl-2 only. Pearl Mini and Pearl Nexus do not support NDI output streaming, and Pearl Nano does not support NDI or NDI|HX inputs or streaming.
A channel with no publishers returns an empty result array rather than an error.
Publisher names are 1 to 128 characters. The rename endpoint takes the new name as a query parameter, not a body, and returns the updated name in result.
Creating a publisher. Send a JSON body containing an optional name and a required settings object. The settings object must include a type field that selects which protocol block is expected:
{
"name": "New RTMP",
"settings": {
"type": "rtmp",
"rtmp": {
"disable_audio": false,
"url": "rtmp://192.168.86.51",
"stream": "",
"username": "",
"password": ""
},
"common": { "enabled": false, "single_touch": false }
}
}
A successful creation returns HTTP 201 with the new publisher's id, name, and settings. A request naming a channel that does not exist returns 404.