TeXML Recording Completed
Webhook sent when a recording is completed during a TeXML call (triggered by recordingStatusCallbackEvent). This webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.
Headers
Unix timestamp for replay attack prevention
Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp
Ed25519 signature of timestamp|payload for verification
Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature
Payload application/x-www-form-urlencoded
Example payload
{
"AccountSid": "cb6cfbbc-eb00-41af-a3f3-0d7b32009e4b",
"CallSid": "v2:qiaymU9Ij90xJRRkYGWHOIx_41EVJPrzlny2zC67hwL1wVIUnnMrqQ",
"CallSidLegacy": "v2:qiaymU9Ij90xJRRkYGWHOIx_41EVJPrzlny2zC67hwL1wVIUnnMrqQ",
"ConnectionId": "1234567890",
"RecordingChannels": 1,
"RecordingDuration": "5",
"RecordingSid": "35094891-3290-4142-b2c2-b2eda57534cf",
"RecordingSource": "DialVerb",
"RecordingStatus": "completed",
"RecordingUrl": "https://recording.com/your-recording-url"
}Response
The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL.
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.