Error Codes
Errors are returned as { "code": "…", "message": "…" }.
| Code | HTTP | Meaning |
|---|---|---|
notify-invalid-payload | 400 | Malformed request body |
notify-template-not-found | 400 | None of templatename / templatemap / templatepath resolved to a template |
notify-channel-unknown | 400 | The requested channel isn’t mapped to a provider |
notify-recipient-unresolved | 400 | The user has no primary channel preference, or no contact value for the channel |
notify-route-all-providers-failed | 400 | Every provider for the channel failed; the error data lists the providers tried and the last error |
notify-entity-manager-not-found | 500 | The tenant’s data engine could not be resolved |
Rate limiting: a request that trips an inbound rate-limit class returns 429 with Retry-After. When every provider for a channel is rate-limited, the send result carries status: "rate_limited" and a Retry-After rather than an error.
See also Operations → Failure modes.