> ## Documentation Index
> Fetch the complete documentation index at: https://docs.daily.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Streaming Warning

> The streaming warning webhook event

A streaming warning event emits when something went wrong with a live stream but the stream keeps running. It is the server-side counterpart of the daily-js [`live-streaming-warning`](/reference/daily-js/events/error-events#live-streaming-warning) event; `details.endpoints` is the same on both.

Common causes:

* An endpoint update that the media server rejected: removing every destination (stop the live stream instead), adding an `hls` endpoint to a running stream, or a destination the media server does not recognize.
* A single RTMP destination that stopped accepting media. The media server drops that destination and keeps streaming to the others.
* A stream started with a layout option the active compositor cannot honor.

<Note>
  Live stream updates are applied asynchronously. The REST API and daily-js only confirm that a request was accepted, and the [`streaming.updated`](/reference/rest-api/webhooks/events/streaming-updated) event only confirms it was processed. Watch this event to learn whether a change actually took effect; `details.endpoints` names the destinations concerned.
</Note>

## Common fields

<ParamField body="version" type="string">
  Represents the version of the event. Uses semantic versioning to inform a consumer if the payload has introduced any breaking changes.
</ParamField>

<ParamField body="type" type="string">
  Represents the type of the event described in the payload.
</ParamField>

<ParamField body="id" type="string">
  An identifier representing this specific event. Treat it as opaque; its leading segment identifies the webhook configuration the event was delivered to.
</ParamField>

<ParamField body="payload" type="object">
  An object representing the event, whose fields are described below.
</ParamField>

<ParamField body="event_ts" type="number">
  Documenting when the webhook itself was sent. This timestamp is different than the time of the event the webhook describes.
</ParamField>

## Payload

<ParamField body="timestamp" type="integer">
  The Unix epoch time in seconds representing when the warning was raised.
</ParamField>

<ParamField body="instance_id" type="string">
  The streaming instance ID.
</ParamField>

<ParamField body="warning_message" type="string">
  What went wrong.
</ParamField>

<ParamField body="room_name" type="string">
  The name of the room where the warning was raised.
</ParamField>

<ParamField body="domain_id" type="string">
  ID of the domain for which the warning was raised.
</ParamField>

<ParamField body="details" type="object">
  Context for the warning.

  * `endpoints` (string\[]): the destinations the warning is about, as named in the request, or the RTMP URL when the destination was given as a URL. Present only when known.
</ParamField>

```json theme={null}
{
  "version": "1.0.0",
  "type": "streaming.warning",
  "id": "3602-str-wrn-c3df927c-f738-4471-a2b7-066fa7e95a6b-1692124202104",
  "payload": {
    "timestamp": 1692124202,
    "instance_id": "c3df927c-f738-4471-a2b7-066fa7e95a6b",
    "warning_message": "rtmp-warning: cannot remove all endpoints, use stop streaming",
    "room_name": "iM5wNQvwtK4980eP049T",
    "domain_id": "96df0296-b344-4abb-8b78-82df35cc58f4",
    "details": {
      "endpoints": ["rtmp_youtube"]
    }
  },
  "event_ts": 1692124202
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.