> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # Recording status callback POST Payload sent by SignalWire to your `RecordingStatusCallback` URL when a recording status event occurs. Recordings are not always available immediately — especially at high call volumes. This callback lets your app react as soon as a recording is ready, whether that means uploading it to external storage, sending it via email, or forwarding the URL via SMS. Configure `RecordingStatusCallback` when [creating a call via the API](/docs/compatibility-api/rest/calls/create-a-call) or when using [Dial](/docs/compatibility-api/cxml/reference/voice/dial), [Conference](/docs/compatibility-api/cxml/reference/voice/conference), or [Record](/docs/compatibility-api/cxml/reference/voice/record). Use `RecordingStatusCallbackEvent` to request callbacks for specific events. If omitted, only the `completed` event is sent. Possible values: `in-progress`, `completed`, `absent`. | Status | Description | |--------|-------------| | `in-progress` | The recording has begun. | | `completed` | The file is available for access. | | `absent` | The recording was too short or the call was silent — no audio was detected. | Status callbacks are advisory, best-effort notifications — delivery can be delayed or fail silently, so don't gate time-critical actions on receiving one. See [Status callback reliability](/docs/platform/webhooks#status-callback-reliability). Reference: https://signalwire.com/docs/compatibility-api/rest/recordings/webhooks/recording-status-callback ## Request ### Payload - `AccountSid` (string, required) — The unique ID of the project this call is associated with. - `CallSid` (string, required) — A unique identifier for the call. May be used to later retrieve this call from the REST API. - `RecordingSid` (string, required) — The unique identifier for the recording. - `RecordingUrl` (string, required) — The URL for the audio recording. - `RecordingStatus` (enum, required) — The status of the recording. - `in-progress`: Recording has begun. - `completed`: File is available. - `absent`: Recording was too short or no audio was detected. - Allowed values: `in-progress`, `completed`, `absent` - `RecordingDuration` (integer, required) — The duration, in seconds, of the recording. - `RecordingChannels` (integer, required) — The number of channels in the recording. - `RecordingSource` (string, required) — The type of call that initiated the recording.