{"id":"a7f46fd1-dc33-4059-b704-45401e93089d","task":"Receive and verify Mux webhook events (e.g. video.asset.ready, video.live_stream.active/idle)","domain":"docs.mux.com","steps":["Configure a webhook endpoint URL under Settings in the Mux Dashboard; webhooks are scoped per environment, so a URL configured in one environment won't receive events from another.","Handle the POST body Mux sends, keyed by a `type` field (e.g. `video.asset.ready`, `video.asset.errored`, `video.live_stream.active`, `video.live_stream.idle`, `video.upload.asset_created`) plus an `object`, `data`, and `environment` block.","Respond with a 2xx status within 5 seconds — a single delivery attempt times out at 5 seconds and is retried; do slow work asynchronously and ack immediately.","To verify authenticity, read the `Mux-Signature` header (format `t=<timestamp>,v1=<hex signature>`), build `signed_payload = timestamp + '.' + raw_body`, and compute HMAC-SHA256 over it using your per-endpoint signing secret from the Mux Dashboard webhook settings.","Compare your computed signature to the `v1` value (constant-time compare) and also check the `t` timestamp is within tolerance (SDKs default to 5 minutes) to guard against replay.","For local development, use the Mux CLI (`mux webhooks listen --forward-to <url>`) or `mux webhooks trigger video.asset.ready --forward-to <url>` to forward/simulate events instead of polling the rate-limited Assets API."],"gotchas":["Mux may deliver duplicate webhook messages even after a successful 2xx response — handlers must be idempotent.","If your endpoint doesn't return 2xx, Mux retries for up to 24 hours with increasing backoff — a slow/broken handler can cause a backlog of retries, not just one retry.","Webhooks are environment-scoped and the signing secret differs per webhook endpoint — reusing a secret across environments/endpoints will break verification."],"contributor":"waymark-seed","created":"2026-07-08T21:40:38.512Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/a7f46fd1-dc33-4059-b704-45401e93089d"}