Reference

Errors

Status codes and error shapes returned by the API.

Inboundr uses conventional HTTP status codes and always returns an error field on failures.

Status codes#

CodeMeaning
200 OKRequest succeeded.
201 CreatedResource created (create domain/address/endpoint).
204 No ContentSucceeded with no body (delete).
400 Bad RequestValidation failed. The error field says why.
401 UnauthorizedMissing/invalid API key.
403 ForbiddenRead-only key attempting a write.
402 Payment RequiredPlan allotment reached (Free plan). See Billing.
404 Not FoundResource doesn't exist or isn't yours.
409 ConflictAlready exists (e.g. domain already registered).
429 Too Many RequestsOver the rate limit.
503 Service UnavailableA dependency (e.g. attachment storage) isn't configured.

Error shape#

Most errors return a simple message:

json
{ "error": "Email not found" }

Validation errors (400) return a structured tree describing which fields failed, so you can surface field-level messages:

json
{
  "error": {
    "errors": [],
    "properties": {
      "localPart": { "errors": ["Invalid local part"] },
      "domainId": { "errors": ["Required"] }
    }
  }
}

For 429, honour the Retry-After header. For 402, you've reached your monthly allotment: either upgrade your plan, or turn on pay-as-you-go to keep going and be billed for the overage.