Receive a notification when atmospheric river, heatwave, coldwave, and front products are published for a model run and can be queried through the Events API. By default, one notification waits for all four types from the same initialization. Subscribe to specific types to receive their notifications independently, without waiting for the others. Each notification covers a complete forecast, not one individual event or forecast hour.
The payload includes the matching event IDs, without geometry. Runs with no matching events still send a notification with an empty event_ids array. To also receive events at configured coordinates, add the optional event_context response option.
Within a filter, values use OR; different filters use AND. Arrays form every combination. Omit filters to receive a combined notification for each WM-6 initialization once all four types are ready. Valid-time bounds return only IDs of events present during the requested window. With geographic bounds too, the event must intersect the box during that same window. The notification still sends when none match.
| Filter | Type | Description |
|---|---|---|
| model | string | string[] | Forecast model whose completed event products should trigger the subscription.Currently only wm-6 is supported. Omit this filter to use wm-6 . |
| event_type | string | string[] | all (the default) waits for all four types and sends their IDs together. Select atmospheric_river , heatwave , coldwave , or front for independent per-type notifications. Use all alone, not mixed with specific types. front includes cold, warm, stationary, and occluded fronts. |
| initialization_time_hours | string | string[] | UTC times of day matched against the hour and minute of initialization_time . Seconds are ignored.Accepts H:MM or HH:MM . Look up the Run Information endpoint to see how each model reports initialization times. |
| min_initialization_time | string | Inclusive ISO 8601 lower bound for the run's initialization_time . |
| max_initialization_time | string | Inclusive ISO 8601 upper bound for the run's initialization_time . |
| min_valid_at | string | Inclusive ISO 8601 lower bound on when an event is forecast to occur. Return only IDs with a published forecast-hour sample or interval overlapping the requested window. |
| max_valid_at | string | Inclusive ISO 8601 upper bound on when an event is forecast to occur. Heatwave and coldwave intervals include their start but exclude their period_end . |
| min_latitude | number | Southern edge of the bounding box, −90 to 90. Supply all four geographic bounds together. |
| max_latitude | number | Northern edge of the bounding box, −90 to 90; must exceed min_latitude . |
| min_longitude | number | Western edge of the bounding box, −180 to 180. |
| max_longitude | number | Eastern edge of the bounding box, −180 to 180. A value below min_longitude selects a box crossing the antimeridian. |
| Name | Type | Description |
|---|---|---|
| trigger_id | string | Identifies the update that triggered the notification, such as a forecast cycle becoming available.Subscriptions triggered by the same update share this ID, and retries keep it. Test pings get a new ID. Use it with subscription_id to avoid processing duplicates. |
| type | string | The subscription type.Always events.available for this payload. |
| subscription_id | integer | Identifier of the subscription that matched this model run. |
| webhook_id | integer | Identifier of the webhook that received this delivery. |
| version | integer | Version of the webhook payload schema. |
| occurred_at | string | ISO 8601 UTC time when this publication became available. |
| data | object | Details of the available event product. |
| model | string | Public model slug; currently wm-6 . |
| event_type | string | all for a combined notification; otherwise the individual type that finished publishing. Subscribing to multiple specific types produces one notification per type. |
| initialization_time | string | ISO 8601 initialization time that identifies the model run. |
| forecast_zero | string | ISO 8601 timestamp corresponding to forecast hour 0. |
| event_ids | string[] | Unique event IDs matching the subscription's type, valid-time, and geographic filters, sorted lexicographically. Empty when no events match. |
| response | object | Endpoint response configured by response_options .Omitted when no response option is configured. |
| webhook_note | string | Optional webhook note.Omitted when not configured. |
| subscription_note | string | Optional subscription note.Omitted when not configured. |