# Update task settings (/en/api-reference/api-ref/cloud-recording/update)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

Updates the settings of an active cloud recording task.

- OpenAPI: /openapi/cloud-recording/cloud-recording.en.yaml
- Operation ID: update-cloud-recording
- Method: POST
- Path: /v1/apps/{appid}/cloud_recording/resourceid/{resourceid}/sid/{sid}/mode/{mode}/update

## Servers

- https://api.sd-rtn.com

## Parameters

- `Content-Type` (header, optional) - `application/json`.
- `appid` (path, required) - The App ID of your project.
- For web page recording mode, enter the App ID for which the cloud recording service is enabled.
- For individual and composite recording modes, use the same App ID as the channel to be recorded. Ensure that the cloud recording service has been enabled for this App ID.
- `resourceid` (path, required) - The resource ID obtained from the `acquire` endpoint.
- `sid` (path, required) - The recording ID obtained from the `start` endpoint.
- `mode` (path, required) - The recording mode:
- `individual`: Individual recording mode.
- `mix`: Composite recording mode.
- `web`: Web page recording mode.

## Request body

- `cname` (string, required) - The name of the channel to record. Must match the `cname` used in the `acquire` request.
The name of the channel being recorded.
No schema.
- `uid` (string, required) - The UID used by the cloud recording service in the channel. Must match the `uid` used in the `acquire` request.
The UID used by the cloud recording service in the RTC channel.
No schema.
- `clientRequest` (object, required)
  - `clientRequest.streamSubscribe` (object) - Updates the subscription lists. Only applicable in individual recording and composite recording modes.
    - `clientRequest.streamSubscribe.audioUidList` (object) - The audio subscription list. Only applicable when `streamTypes` is `0` or `2`.
      - `clientRequest.streamSubscribe.audioUidList.subscribeAudioUids` (array) - Audio streams to subscribe to. The array length cannot exceed 32. Set to ["#allstream#"] to subscribe to all UIDs. Cannot be set together with unsubscribeAudioUids.
        - `clientRequest.streamSubscribe.audioUidList.subscribeAudioUids.items` (string)
No schema.
      - `clientRequest.streamSubscribe.audioUidList.unsubscribeAudioUids` (array) - Video streams to exclude. The service subscribes to all other UIDs. The array length cannot exceed 32. Cannot be set together with `subscribeVideoUids`.
        - `clientRequest.streamSubscribe.audioUidList.unsubscribeAudioUids.items` (string)
No schema.
    - `clientRequest.streamSubscribe.videoUidList` (object) - The video subscription list. Only applicable when `streamTypes` is `1` or `2`.
      - `clientRequest.streamSubscribe.videoUidList.subscribeVideoUids` (array) - Video streams to exclude. The service subscribes to all other UIDs. The array length cannot exceed 32. Cannot be set together with `subscribeVideoUids`.
        - `clientRequest.streamSubscribe.videoUidList.subscribeVideoUids.items` (string)
No schema.
      - `clientRequest.streamSubscribe.videoUidList.unsubscribeVideoUids` (array) - Video streams to exclude. The service subscribes to all other UIDs. The array length cannot exceed 32. Cannot be set together with `subscribeVideoUids`.
        - `clientRequest.streamSubscribe.videoUidList.unsubscribeVideoUids.items` (string)
No schema.
  - `clientRequest.webRecordingConfig` (object) - Updates web page recording settings. Only applicable in web page recording mode.
    - `clientRequest.webRecordingConfig.onhold` (boolean) - Whether to pause web page recording. `true` pauses recording and file generation. `false` resumes recording.
No schema.
  - `clientRequest.rtmpPublishConfig` (object) - Updates the CDN push configuration. Only applicable when pushing web page recording to CDN.
    - `clientRequest.rtmpPublishConfig.outputs` (array)
      - `clientRequest.rtmpPublishConfig.outputs.items` (object)
        - `clientRequest.rtmpPublishConfig.outputs.items.rtmpUrl` (string) - The CDN URL to push the stream to. Only RTMP and RTMPS protocols are supported. A maximum of one stream can be pushed to CDN at a time.
No schema.
  - `clientRequest.storageConfig` (object) - Updates the third-party cloud storage configuration. Use this to refresh an expiring `stsToken`.
    - `clientRequest.storageConfig.vendor` (integer, required) - Third-party cloud storage platform:
- `1`: Amazon S3
- `2`: Alibaba Cloud
- `3`: Tencent Cloud
- `5`: Microsoft Azure
- `6`: Google Cloud
- `7`: Huawei Cloud
- `8`: Baidu IntelligentCloud
- `11`: S3-compatible storage. Specify the domain name in `extensionParams.endpoint`.
No schema.
    - `clientRequest.storageConfig.region` (integer, required) - The region of the third-party cloud storage.
No schema.
    - `clientRequest.storageConfig.bucket` (string, required) - The cloud storage bucket name. Must comply with the naming rules of the corresponding cloud storage service.
No schema.
    - `clientRequest.storageConfig.accessKey` (string, required) - The access key for the third-party cloud storage.
No schema.
    - `clientRequest.storageConfig.secretKey` (string, required) - The secret key for the third-party cloud storage.
No schema.
    - `clientRequest.storageConfig.stsToken` (string) - A temporary security token issued by the cloud provider's Security Token Service (STS), granting limited access to cloud storage resources.

 Currently supported only for Amazon S3 (`1`), Alibaba Cloud (`2`), and Tencent Cloud (`3`).
No schema.
    - `clientRequest.storageConfig.stsExpiration` (integer) - The `stsToken` expiration time as a Unix timestamp in seconds.
- Use Uint64 storage to avoid timestamp overflow.
- Set the longest possible validity period when applying the token. The minimum validity period is 4 hours.
- If the recording task runs longer than 1 hour, reapply a new `stsToken` every 60 minutes and call `update` again to refresh the `storageConfig`.
No schema.
    - `clientRequest.storageConfig.fileNamePrefix` (array) - The storage path prefix for recorded files. For example, setting `["directory1","directory2"]` results in a file name prefix of `directory1/directory2/`. The total prefix length, including slashes, cannot exceed 128 characters. Supported characters: lowercase letters `a-z`, uppercase letters `A-Z`, digits `0-9`.
      - `clientRequest.storageConfig.fileNamePrefix.items` (string)
No schema.
    - `clientRequest.storageConfig.extensionParams` (object) - Encryption and tagging settings applied to uploaded recording files by the cloud storage service.
      - `clientRequest.storageConfig.extensionParams.sse` (string, required) - The encryption mode for uploaded files. Applicable to Amazon S3 only. See the Amazon S3 documentation.
- `kms`: KMS encryption.
- `aes256`: AES256 encryption.
No schema.
      - `clientRequest.storageConfig.extensionParams.tag` (string, required) - Tag content applied to uploaded files. Applicable to Alibaba Cloud and Amazon S3 only.
No schema.
      - `clientRequest.storageConfig.extensionParams.endpoint` (string) - The domain name for S3 protocol cloud storage. This field is required when you set `vendor` to `11`.
No schema.

## Responses

### 200

The request succeeded.

- `resourceId` (string) - The cloud recording resource ID. Valid for five minutes; re-request from `acquire` if expired.

The resource ID used by cloud recording.
No schema.
- `sid` (string) - The recording ID. Uniquely identifies a recording session. Generated after the cloud recording service starts successfully.

The recording ID, identifying the current recording session.
No schema.
- `cname` (string) - The name of the channel to be recorded.

The name of the channel being recorded.
No schema.
- `uid` (string) - The UID used by the cloud recording service in the RTC channel.
No schema.
### default

The request failed. If the HTTP status code is not `200`, see the Cloud Recording response status codes for troubleshooting.

No schema.
