---
title: "Changes to Create a Recording"
method: POST
path: "/Accounts/{AccountSid}/Calls/{CallSid}/Recordings"
---

# Changes to Create a Recording

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

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 9 of 40 revisions.

- **2026-05-12** `2916d5e3072e` — 4 breaking, 6 info
- **2026-05-12** `5344c0c93a4c` — 1 breaking, 7 info
- **2026-03-04** `2e516ba2383f` — 7 breaking
- **2026-01-20** `dce1bcef69f0` — 3 info
- **2026-01-19** `d5fbaaddfa3e` — 11 breaking, 6 warning, 29 info
- **2026-01-15** `a10b019314cd` — 2 info
- **2026-01-15** `07f73f74a61d` — 1 breaking, 1 info
- **2026-01-15** `686ef84c2abc` — 1 breaking
- **2026-01-15** `3c88f14db21e` — 5 breaking, 1 warning, 18 info

## 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`
  - added `#/components/schemas/uuid` to the `account_sid` response property `allOf` list for the response status `200`
  - added `#/components/schemas/uuid` to the `sid` response property `allOf` list for the response status `200`
  - added `#/components/schemas/uuid` to the `call_sid` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/uuid` to the `conference_sid` response property `anyOf` list for the response status `200`
  - removed `subschema #1` from the `call_sid` response property `anyOf` list for the response status `200`
  - removed `subschema #1` from the `conference_sid` response property `anyOf` list for the response status `200`
- **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`
  - added 'unevaluatedProperties' constraint to the response body for the status `404`
  - added 'unevaluatedProperties' constraint to the response body for the status `422`
  - added 'unevaluatedProperties' constraint to the response body for the status `503`
  - added 'unevaluatedProperties' constraint to the `subresource_uris/allOf[#/components/schemas/RecordingSubresourceUris]/` response property for the status `200`
- **2026-03-04** `2e516ba2383f` — 7 breaking
  - response property `call_sid` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `conference_sid` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `encryption_details` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `end_time` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `error_code` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `price` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `start_time` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
- **2026-01-20** `dce1bcef69f0` — 3 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `404`
  - added the non-success response with the status `503`
- **2026-01-19** `d5fbaaddfa3e` — 11 breaking, 6 warning, 29 info
  - removed the enum value `absent` of the request property `RecordingStatusCallbackEvent`
  - removed the enum value `completed` of the request property `RecordingStatusCallbackEvent`
  - removed the enum value `in-progress` of the request property `RecordingStatusCallbackEvent`
  - the `RecordingStatusCallback` request property format changed from no format to `uri`
  - the response property `call_sid` became nullable for the status `200`
  - the response property `conference_sid` became nullable for the status `200`
  - the response property `end_time` became nullable for the status `200`
  - the response property `error_code` became nullable for the status `200`
  - the response property `price` became nullable for the status `200`
  - the `channels` response's property type changed from `number` to `string` for status `200`
  - the `duration` response's property type changed from `string` to `integer`, and format from no format to `int32` for status `200`
  - added the new `1` enum value to the `channels` response property for the response status `200`
  - added the new `2` enum value to the `channels` response property for the response status `200`
  - added the new `absent` enum value to the `status/allOf[#/components/schemas/RecordingStatus]/` response property for the response status `200`
  - added the new `completed` enum value to the `status/allOf[#/components/schemas/RecordingStatus]/` response property for the response status `200`
  - added the new `queued` enum value to the `status/allOf[#/components/schemas/RecordingStatus]/` response property for the response status `200`
  - added the new `resumed` enum value to the `status/allOf[#/components/schemas/RecordingStatus]/` response property for the response status `200`
  - the `RecordingChannels` request property default value `mono` was added
  - the `RecordingStatusCallbackEvent` request property default value `completed` was added
  - the `Trim` request property default value changed from `trim-silence` to `do-not-trim`
  - added the non-success response with the status `422`
  - removed the non-success response with the status `400`
  - the response property `account_sid` became required for the status `200`
  - the response property `api_version` became required for the status `200`
  - the response property `call_sid` became required for the status `200`
  - the response property `channels` became required for the status `200`
  - the response property `conference_sid` became required for the status `200`
  - the response property `date_created` became required for the status `200`
  - the response property `date_updated` became required for the status `200`
  - the response property `duration` became required for the status `200`
  - the response property `end_time` became required for the status `200`
  - the response property `error_code` became required for the status `200`
  - the response property `price` became required for the status `200`
  - the response property `price_unit` became required for the status `200`
  - the response property `sid` became required for the status `200`
  - the response property `source` became required for the status `200`
  - the response property `status` became required for the status `200`
  - the response property `subresource_uris` became required for the status `200`
  - the response property `subresource_uris/allOf[#/components/schemas/RecordingSubresourceUris]/transcriptions` became required for the status `200`
  - the response property `uri` became required for the status `200`
  - …6 more
- **2026-01-15** `a10b019314cd` — 2 info
  - api tag `Recordings` added
  - api tag `Call Recordings` removed
- **2026-01-15** `07f73f74a61d` — 1 breaking, 1 info
  - removed the media type `application/json` from the request body
  - added the media type `application/x-www-form-urlencoded` to the request body
- **2026-01-15** `686ef84c2abc` — 1 breaking
  - the response property `error_code` became nullable for the status `200`
- **2026-01-15** `3c88f14db21e` — 5 breaking, 1 warning, 18 info
  - removed the media type `application/x-www-form-urlencoded` from the request body
  - the `channels` response's property type changed from `integer` to `number` for status `200`
  - the `source` response's property type changed from `string` to no type for status `200`
  - the `status` response's property type changed from `string` to no type for status `200`
  - the `subresource_uris` response's property type changed from `object` to no type for status `200`
  - removed the optional property `subresource_uris/transcriptions` from the response with the `200` status
  - api tag `Call Recordings` added
  - api tag `Recordings` removed
  - added the media type `application/json` to the request body
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added `#/components/schemas/RecordingSource` to the `source` response property `allOf` list for the response status `200`
  - added `#/components/schemas/RecordingStatus` to the `status` response property `allOf` list for the response status `200`
  - added `#/components/schemas/RecordingSubresourceUris` to the `subresource_uris` response property `allOf` list for the response status `200`
  - removed the `Conference` enum value from the `source` response property for the response status `200`
  - removed the `DialVerb` enum value from the `source` response property for the response status `200`
  - removed the `OutBoundApi` enum value from the `source` response property for the response status `200`
  - removed the `RecordVerb` enum value from the `source` response property for the response status `200`
  - removed the `StartCallRecordingApi` enum value from the `source` response property for the response status `200`
  - removed the `StartConferenceRecording` enum value from the `source` response property for the response status `200`
  - removed the `Trunking` enum value from the `source` response property for the response status `200`
  - removed the `in-progress` enum value from the `status` response property for the response status `200`
  - removed the `paused` enum value from the `status` response property for the response status `200`
  - removed the `stopped` enum value from the `status` response property for the response status `200`

---

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