Request Body
| Parameter |
Type |
Required |
Description |
data.attributes.allowStreamIngest |
boolean |
No |
Allow stream ingestion |
data.attributes.autoStreamPublish |
boolean |
No |
Auto-publish incoming streams |
data.attributes.allowStreamOverwrite |
boolean |
No |
Allow overwriting existing streams with the same key |
data.attributes.authorizationEnabled |
boolean |
No |
Enable ingest authorization |
data.attributes.authType |
"none" | "managed" | "request" | "file" | "local" |
No |
Authorization type (required if authorizationEnabled is true) |
Additional parameters depend on the authType. See Authorization Types section.
Example Request (No Authorization)
{
"data": {
"attributes": {
"allowStreamIngest": true,
"autoStreamPublish": true,
"allowStreamOverwrite": false,
"authorizationEnabled": false
}
}
}
Example Request (Managed Authorization)
{
"data": {
"attributes": {
"allowStreamIngest": true,
"autoStreamPublish": true,
"allowStreamOverwrite": false,
"authorizationEnabled": true,
"authType": "managed"
}
}
}
Example Request (HTTP Request Authorization)
{
"data": {
"attributes": {
"allowStreamIngest": true,
"autoStreamPublish": true,
"allowStreamOverwrite": true,
"authorizationEnabled": true,
"authType": "request",
"requestURL": "https://api.example.com/auth/stream/${streamKey}",
"apiKey": "bd34ddawe34v51rxw6tbn"
}
}
}
Example Request (File Authorization)
{
"data": {
"attributes": {
"allowStreamIngest": true,
"autoStreamPublish": true,
"allowStreamOverwrite": false,
"authorizationEnabled": true,
"authType": "file",
"fileURL": "/home/storm/auth/publish_keys.xml"
}
}
}
Example Request (Local Authorization)
{
"data": {
"attributes": {
"allowStreamIngest": true,
"autoStreamPublish": true,
"allowStreamOverwrite": true,
"authorizationEnabled": true,
"authType": "local",
"authUsers": [
{
"username": "admin",
"password": "qwerty123"
},
]
}
}
}
Authorization Types
Type: "none" (Default)
No authorization required for stream ingest.
Type: "managed" (Stream-Level Auth)
Authentication data is attached to dynamically created streams. Streams can be created via the API or UI. Clients must include authentication credentials when publishing.
Type: "request" (HTTP Request)
Validates stream ingest via external HTTP API.
| Parameter |
Type |
Description |
data.attributes.requestURL |
string |
Authorization API URL (use ${streamKey} placeholder) |
data.attributes.apiKey |
string |
API key for authorization requests |
Type: "file" (XML File)
Validates stream ingest against an XML file with authorized keys.
| Parameter |
Type |
Description |
data.attributes.fileURL |
string |
Path to authorization XML file |
Type: "local" (Local Users/Tokens)
Validates stream ingest against a local list of users and tokens.
| Parameter |
Type |
Description |
data.attributes.authUsers |
array |
List of authorized users/tokens |
data.attributes.authUsers[].username |
string |
Username (for username/password auth) |
data.attributes.authUsers[].password |
string |
Password (for username/password auth) |
data.attributes.authUsers[].token |
string |
Token (for token-based auth) |
data.attributes.authUsers[].expire |
integer |
Token expiration (Unix timestamp in ms, optional) |