> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# Stream status callback

POST 

Sent to your `status_url` when a background audio stream started with
`calling.stream` changes state. `params.state` is `streaming` when the stream
starts and `finished` when it ends.

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/apis/rest/webhooks/stream-status-callback

## Request

### Payload

- `event_type` (enum, required) — The type of event. Always `calling.call.stream` for stream status callbacks.
  - Allowed values: `calling.call.stream`
- `event_channel` (string, required) — The channel the event was delivered on.
- `timestamp` (double, required) — When the event was sent, as a Unix timestamp in seconds.
- `project_id` (string, required) — Your project ID.
- `space_id` (string, required) — Your Space ID.
- `params` (object, required) — Details about the stream.
  - `call_id` (string, required) — ID of the call being streamed.
  - `node_id` (string, required) — ID of the node the call is on.
  - `segment_id` (string, required) — ID of the call segment being streamed.
  - `control_id` (string, required) — The control ID used to control the stream, as set in `calling.stream`.
  - `state` (enum, required) — The stream state. `streaming` when the stream starts, `finished` when it ends.
    - Allowed values: `streaming`, `finished`
  - `url` (string, required) — The WebSocket URL the audio is being streamed to.
  - `tag` (string, optional) — The tag associated with the call. Present only when a tag was set on the call.
  - `name` (string, optional) — The friendly name of the stream. Present when a `name` was set on the stream.