On the wire
Ships with HTTP status 400, carrying "code": "RU-5005" in the response body alongside the human-readable error message. Existing fields are never replaced by the code: it is additive.
Common causes
- A custom webhook template that does not emit `key` and `status`.
- Sending form-encoded or plain-text bodies instead of JSON.
- A `?source=` query value naming an adapter the body does not match.
How to fix it
- Read the `error` field for the missing field.
- Compare the body against the generic shape in the API docs under Inbound incident webhook.
- For Alertmanager and Grafana, use their built-in webhook receiver unchanged; no template is needed.
Related codes
Still stuck?
Ask support and mention RU-5005: the code pins down the exact refusal path, so you skip the diagnostic back-and-forth.