---
title: "Update a Recording"
method: POST
path: "/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}"
tags: ["Recordings"]
---

# Update a Recording

`POST /Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}`

## Request

- Base URL: `https://YOUR_SPACE.signalwire.com/api/laml/2010-04-01`
- URL: `https://YOUR_SPACE.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}`
- Auth: HTTP basic

Pauses, resumes, or stops a recording on an active call. When pausing, choose whether the elapsed interval becomes silence in the media or is skipped. This controls an in-progress recording; account-level [Recordings](/docs/compatibility-api/rest/recordings/list-recordings) operations retrieve or delete saved media.

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Path parameters

- `AccountSid` string, uuid, required: Universal Unique Identifier.
- `CallSid` string, uuid, required: Universal Unique Identifier.
- `Sid` string, uuid, required: Universal Unique Identifier.

## Request body `application/x-www-form-urlencoded`

- UpdateCallRecordingRequest: Request body for updating a call recording.
  - `Status` 'paused' | 'in-progress' | 'stopped', required: The status of the recording.
  - `PauseBehavior` 'skip' | 'silence': What to do while recording is paused. Default is `silence`.

## Response `200`

The request has succeeded.

- CallRecordingResponse: Response containing a single call recording.
  - `sid` string, uuid, required: Universal Unique Identifier.
  - `account_sid` string, uuid, required: Universal Unique Identifier.
  - `api_version` string, required: The version of the SignalWire API.
  - `call_sid` string, uuid, required: Universal Unique Identifier.
  - `conference_sid` string, uuid, required: Universal Unique Identifier.
  - `channel` '1' | '2', required: The number of channels in a recording (singular key). Returns '1' for mono or '2' for stereo.
  - `channels` '1' | '2', required: The number of channels in a recording. Returns '1' for mono or '2' for stereo.
  - `date_created` string, required: The date, in RFC 2822 format, this recording was created.
  - `date_updated` string, required: The date, in RFC 2822 format, this recording was updated.
  - `start_time` string, nullable, required: The time, in RFC 2822 format, this recording started.
  - `end_time` string, nullable, required: The time, in RFC 2822 format, this recording ended.
  - `duration` integer, required: The length, in seconds, of the recording.
  - `price` string, nullable, required: The cost for the recording.
  - `price_unit` string, required: The currency of the price of the recording.
  - `source` 'DialVerb' | 'Conference' | 'OutBoundApi' | 'Trunking' | 'RecordVerb' | 'StartCallRecordingApi' | 'StartConferenceRecording', required: Recording source.
  - `status` 'queued' | 'in-progress' | 'paused' | 'resumed' | 'completed' | 'absent' | 'stopped', required: Recording status.
  - `error_code` string, nullable, required: Further details about a failed recording.
  - `uri` string, required: The URI of the recording.
  - `subresource_uris` RecordingSubresourceUris, required: Recording subresource URIs.
    - `transcriptions` string, required: The URI for transcriptions.
  - `encryption_details` string, nullable, required: Encryption details. Always null.
  - `trim` string, required: Whether leading and trailing silence is trimmed from a recording.

## Other responses

- `400`: The request was invalid or cannot be processed. Check the error details for more information.
- `401`: Authentication failed. Please verify your credentials and try again.
- `404`: The requested resource was not found. Please verify the resource identifier.
- `422`: The request could not be processed due to validation errors. Check the error details for more information.
- `503`: The service is temporarily unavailable. Please try again later.

## Changes

- **2026-05-12** `2916d5e3072e`: 4 breaking, 6 info
  - the `account_sid` response's property type changed from `string` to no type, and format from `uuid` to no format for status `200`
  - the `call_sid` response's property format changed from `uuid` to no format for status `200`
  - the `conference_sid` response's property format changed from `uuid` to no format for status `200`
  - the `sid` response's property type changed from `string` to no type, and format from `uuid` to no format for status `200`
  - …6 more
- **2026-05-12** `5344c0c93a4c`: 1 breaking, 7 info
  - added 'unevaluatedProperties' constraint to the request body
  - added 'unevaluatedProperties' constraint to the response body for the status `200`
  - added 'unevaluatedProperties' constraint to the response body for the status `400`
  - added 'unevaluatedProperties' constraint to the response body for the status `401`
  - …4 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/signalwire/apis/compatibility-api/changes/Accounts/:AccountSid/Calls/:CallSid/Recordings/:Sid/post.md)

---

[API](https://skmtc.dev/signalwire/apis/compatibility-api.md) - [All operations](https://skmtc.dev/signalwire/apis/compatibility-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signalwire/apis/compatibility-api/revisions/4063c71b5b0f?raw)
