Add Channel
Add a manually-configured streaming channel
Info
Required scope: channels.write
Warning
This method requires authentication
curl -X POST \
-H "Authorization: Bearer [access token]" \
-H "Content-Type: application/json" \
-d '{"platformId": 29, "streamUrl": "rtmp://example.com/live", "streamKey": "abc123"}' \
https://api.restream.io/v2/user/channelsRequest Body
| Field | Type | Description |
|---|---|---|
platformId | number | Platform ID (see table below) |
streamUrl | string | Stream URL (required for some platforms) |
streamKey | string | Stream key (required for some platforms) |
displayName | string | Optional display name for the channel |
rtmpUsername | string | Optional RTMP auth username (Custom RTMP only) |
rtmpPassword | string | Optional RTMP auth password (Custom RTMP only) |
instagramUsername | string | Optional Instagram username (Instagram only) |
Supported Platforms
| Platform | ID | streamUrl | streamKey | Additional |
|---|---|---|---|---|
| Custom RTMP | 29 | required | optional | rtmpUsername, rtmpPassword optional |
| Facebook Group | 37 | — | required | |
| Steam | 49 | required | required | |
| Nimo | 60 | required | required | |
| Naver | 61 | required | required | |
| Mixcloud | 68 | — | required | |
| Telegram | 72 | required | required | |
| 73 | — | required | instagramUsername optional; displayName ignored | |
| Amazon Live | 74 | required | required | |
| Custom SRT | 78 | required | — | |
| Substack | 79 | — | required | |
| Mux | 80 | — | required | |
| Custom WHIP | 81 | required | — | |
| Custom HLS Push | 82 | required | — |
Response
Success (201)
Error (Invalid Stream Key)
Error (Invalid URL)
Error (Unauthorized)
{
"id": 123456,
"platformId": 29,
"channelUrl": "https://example.com/live",
"displayName": "My Custom RTMP"
}{
"error": {
"statusCode": 400,
"status": 400,
"code": 400,
"message": "ChannelInvalidStreamKey",
"name": "channel_invalid_stream_key"
}
}{
"error": {
"statusCode": 400,
"status": 400,
"code": 400,
"message": "ChannelInvalidUrl",
"name": "channel_invalid_url"
}
}{
"error": {
"statusCode": 401,
"status": 401,
"code": 401,
"message": "Invalid token: access token is invalid",
"name": "invalid_token"
}
}