Docs

Errors

Irisend API errors return a JSON body shaped { statusCode, name, message } so you can branch on the error name. See every error name and when it occurs.

namestatusmeaning
missing_required_field422A required field is missing from the request body.
invalid_idempotency_key400The `Idempotency-Key` header is not 1–256 characters.
invalid_idempotent_request409The `Idempotency-Key` was reused with a different request body. Use a new key, or retry with the exact same body.
concurrent_idempotent_requests409Another request with the same `Idempotency-Key` is already in flight. Retry once it completes.
invalid_from_address422The `from` (or another address) field doesn't parse as `[email protected]` or `Name <[email protected]>`.
validation_error403 / 422The body failed schema validation, or the JSON itself was malformed (422), or a business rule was violated — e.g. sending from an unverified domain, re-registering a domain name, or reusing a template alias/topic name (403).
invalid_access401 / 403An embed or hosted-preferences token is invalid or expired (401), or a sub-account-scoped key tried to act outside its own account (403).
invalid_parameter422A path parameter (e.g. `:id`) isn't a valid UUID.
missing_api_key401No `Authorization` header was sent.
restricted_api_key401 / 403A `sending_access` key called a management endpoint (401), or a domain-scoped key tried to send from a non-matching domain (403).
invalid_api_key403The API key is malformed or does not exist.
account_suspended403The team, or its parent account, has been suspended.
domain_reputation_paused403The sending domain's bounce/complaint rate tripped the reputation circuit breaker. Call `POST /domains/:id/unpause` once it's resolved.
daily_quota_exceeded429The team (or sub-account) hit its daily sending quota.
monthly_quota_exceeded429The team (or sub-account) hit its monthly sending quota.
rate_limit_exceeded429Your team exceeded its requests-per-second limit.
not_found404The endpoint, or a resource ID owned by a different team, does not exist.
internal_server_error500Something went wrong on our end. Safe to retry.
invalid_region—Reserved for Resend-catalogue parity; not currently returned by any endpoint.
method_not_allowed—Reserved for Resend-catalogue parity; not currently returned by any endpoint.