Callbacks

TeXML Stream

Webhook sent for media streaming status updates. 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.

postWebhookTexmlStreamWebhook

Headers

telnyx-timestampinteger required

Unix timestamp for replay attack prevention

Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp

telnyx-signature-ed25519string required

Ed25519 signature of timestamp|payload for verification

Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature

Payload application/x-www-form-urlencoded

AccountSidstring required

The unique identifier of the account (user_id).

CallSidstring required

The unique identifier of the call (call_control_id).

CallSidLegacystring required

Legacy call identifier, same as CallSid.

StreamErrorstring

Error message if the stream failed (conditional, only present when StreamEvent is stream-error).

StreamEvent'stream-started' | 'stream-stopped' | 'stream-error' required

The event type for the media stream.

StreamNamestring required

The name of the stream.

StreamSidstring required

A unique identifier for the stream.

Timestampstring date-time required

The timestamp when the event occurred.

Example payload

{
  "AccountSid": "f5586561-8ff0-4291-a51b-c7dfe4139ff9",
  "CallSid": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ",
  "CallSidLegacy": "v3:9X2vxPDFY2RHSJ1EdMS0RHRksMTg7ldNxdjWbVr9zBjbGjGsSe-aiQ",
  "StreamError": "Connection timeout",
  "StreamEvent": "stream-started",
  "StreamName": "my_stream",
  "StreamSid": "stream-abc123",
  "Timestamp": "2024-01-15T10:30:00Z"
}

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.