Create streaming key
This method creates a streaming key.
Prototype
- Method:
POST
- Endpoint:
https://api.agora.io/:region/v1/projects/:appId/rtls/ingress/streamkeys
Create a key before streaming to ensure that the media stream is pushed to the correct channel and under the correct host ID.
Request parameters
Authentication
-
HTTP Basic Authentication
Every time you send an HTTP request, you must pass in a credential in the
Authorization
field in the HTTP request header. See RESTful Authentication on how to generate it.Basic authentication is a simple authentication scheme built into the HTTP protocol. To use it, send your HTTP requests with an
Authorization
header that contains the word Basic followed by a space and a base64-encoded stringusername:password
.Example:
Authorization: Basic ZGVtbzpwQDU1dzByZA==
-
HTTP HMAC Authentication
Every time you send an HTTP request, you must pass in an API key in the
Authorization
field in the HTTP request header. See RESTful Authentication on how to generate it.Example:
Authorization: 123
Path parameters
Parameter | Data type | Required/Optional | Description |
---|---|---|---|
appId | String | Required | The app ID provided by Agora to each developer. After creating a project in Agora Console, you can get an app ID. The app ID is a unique identifier for a project. |
region | String | Required | Create an area for pushing the stream key. Agora supports creation of stream keys by region. Currently, the following regions are supported:
Important Make sure that:
|
Headers
Header | Data type | Description |
---|---|---|
X-Request-ID | String | The UUID (Universally Unique Identifier) of the request. After passing in this field, the Agora server will return this field in the response header. It is recommended to assign X-Request-ID a value. If no value is assigned, the Agora server will automatically generate a UUID and pass it in. |
Request body
The request body consists of a JSON Object type settings
and includes the following fields:
Parameter | Data type | Required/Optional | Description |
---|---|---|---|
channel | String | Required | The Agora channel name. The string length must be less than 64 bytes. The following character sets are supported (89 characters in total):
"GR-xxxx" . The specific UID value can be obtained by querying the streaming list or receiving notifications about events. |
uid | String | Required | The host user UID in the Agora channel. Can be a numeric ID or a string ID. For numeric IDs, the value range is from 1 to 232 -1, that is, 4294967295. A greater value will be recognized as a string. For string IDs, the value cannot exceed 255 bytes or be empty. The following character sets are supported (89 characters in total):
0 . A random integer UID will be used to enter the channel. The specific UID value can be obtained by querying the streaming list or receiving notifications about events. Important The channel and uid parameters cannot be empty or 0 at the same time.uid values and the actual ID values:
|
expiresAfter | Number | Required | The validity period of the created streaming key in seconds, from the time of creation. If set to 0 , the streaming key will always be valid. Important To ensure a successful request, do not leave this field empty or set to null. |
templateId | String | Optional | The associated flow configuration template ID. For details, see template API documentation. Do not provide this field if you have not created a configuration template. If not provided, the default configuration will be used. |
Request example
Response parameters
Headers
Header | Data type | Description |
---|---|---|
X-Request-ID | String | The UUID (Universally Unique Identifier) of the request. The value is in its X-Request-ID header. If a request error occurs, print the value in the log to troubleshoot the problem. A 401 (Unauthorized) response status code means that there is no such field in the response header. |
Response body
For details about possible response status codes, see Response status codes.
If the status code is not 200
, the request fails. See the message
field in the response body for the reason for this failure.
If the status code is 200
, the request succeeds, and the response body includes the following parameters:
Parameter | Type | Description |
---|---|---|
status | String | The status of this request. success means the request succeeds. |
data | Object | Includes the following fields:
|
Response example
The following is a response example for a successful request:
To explore the RESTful API parameters, obtain sample code in various client languages, or test Media Gateway requests, refer to the Postman API reference.