Skip to main content
POST
/
api
/
webhook
/
calls
/
twilio
/
recording
Handle Twilio recording status
curl --request POST \
  --url https://your-instance.example.com/api/webhook/calls/twilio/recording \
  --header 'Content-Type: application/json' \
  --data '
{
  "CallSid": "CA5f7b1c2e8a1d4e0012c3b4a5",
  "RecordingSid": "RE9c2d4e0b1f3a4e5b6c7d8e9f0",
  "RecordingUrl": "https://api.twilio.com/2010-04-01/Accounts/AC.../Recordings/RE9c2d4e0b1f3a4e5b6c7d8e9f0",
  "RecordingStatus": "completed",
  "RecordingDuration": "42"
}
'
"OK"

Body

application/json
CallSid
string

Twilio call identifier (CA…) the recording belongs to.

RecordingSid
string

Twilio-assigned recording identifier (RE…).

RecordingUrl
string

Twilio-hosted recording URL; downloaded server-side and re-uploaded to R2.

RecordingStatus
string

Recording lifecycle state, typically completed once the audio is ready.

RecordingDuration
string

Recording length in seconds (as a string).

Response

Plain-text acknowledgement (Twilio only checks 2xx).

The response is of type string.

Example:

"OK"