Update template

Updated

Updates an existing Media Gateway flow configuration template.

patchhttps://api.agora.io/{region}/v1/projects/{appId}/rtls/ingress/stream-templates/{templateId}

This method updates a flow configuration template.

Note

  • The parameters supported for the update are the following: transcoding.video, transcoding.audio, and jitterBuffer. This means that, for example, if you only want to update the fps field of transcoding.video, you need to pass in the entire transcoding.video field with the modified fps field and other fields unchanged.
  • transcoding.video, transcoding.audio, and jitterBuffer are independent of each other. If only transcoding.video is passed in, then only its parameters will be updated and the parameters of transcoding.audio and jitterBuffer will not be affected.

Note

  • This interface can only be called if the flow configuration template already exists.
  • Modifications to a flow configuration template will only take effect after the stream is re-pushed. Considering the synchronization delay between the gateway and the database, wait 3 minutes after calling this interface before re-pushing the stream.

Path Parameters

region#*string

Region for the streaming key or stream. Supported values are na for North America, eu for Europe, ap for Asia except mainland China, and cn for mainland China.

Important

Make sure that:

  • The region value is the same as for the input source stream.
  • The domain names for setting the region parameter and streaming are the same.
  • The region value is in lowercase.
Allowedna | eu | ap | cn
appId#*string

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.

templateId#*string

The flow configuration template ID. The value can contain only lowercase letters, uppercase letters, and numbers, and cannot exceed 12 bytes. Set the value according to your business use case. For example, use "720p" and "1080p" for different target resolutions, or "gameA" and "gameB" for different game use cases.

Max length12Pattern^[A-Za-z0-9]+$Example720p

Header Parameters

X-Request-ID#?string

The UUID (Universally Unique Identifier) of the request. After you pass in this field, the Agora server returns this field in the response header. It is recommended to assign X-Request-ID a value. If omitted, the Agora server automatically generates a UUID and returns it.

Example6d35d43f-f4c5-4b3a-9df4-8f0d7e1d5f0a

Request Body

application/json

settings#requiredobject

Note

To ensure a successful request, do not set the required fields to null or leave them empty.

Response Body

application/json

application/json

application/json

Response schema

200application/json

The request succeeded and updated the template.

status#optionalstring

The status of this request. success means the request succeeds.

401application/json

The request failed. A 401 (Unauthorized) response status code means the request is not authorized.

status#optionalstring

Request status.

message#optionalstring

Description of why the request failed.

defaultapplication/json

The request failed. A 401 (Unauthorized) response status code means the request is not authorized.

status#optionalstring

Request status.

message#optionalstring

Description of why the request failed.

Response Headers

X-Request-ID#?string

The UUID (Universally Unique Identifier) of the request. The value is in the X-Request-ID response header. If a request error occurs, print the value in the log to troubleshoot the problem.

Status200Example6d35d43f-f4c5-4b3a-9df4-8f0d7e1d5f0a

Authorization

This endpoint requires authentication.

basicAuthhmacAuth

Request examples

curl --location -g --request PUT 'https://api.agora.io/{{region}}/v1/projects/{{appId}}/rtls/ingress/stream-templates/{{templateId}}' \--data '{    "settings": {        "transcoding": {            "video": {                "enabled": true,                "codec": "H.264",                "width": 1280,                "height": 720,                "fps": 24,                "bitrate": 2200,                "simulcastStream": {                    "width": 960,                    "height": 540,                    "fps": 24,                    "bitrate": 1670                }            }        }    }}'

Response example

{  "status": "success"}
{  "status": "error",  "message": "Describes why the request failed."}
{  "status": "error",  "message": "Describes why the request failed."}