Skip to main content
Errors return JSON with an explanatory error string. Format
{ "error": "<message>" }
Structured errors To enable machine-readable handling, responses also include structured fields:
{ "code": "<error_code>", "message": "<message>", "error": "<message>", "details": {} }
Common codes
CodeMeaning
invalid_keyMissing or invalid API key
missing_scopeKey lacks required scope
validation_errorInvalid or missing fields
rate_limitedPer-minute cap exceeded
tenant_pausedOrganization tenant is paused
not_foundResource not found
internal_errorProvider/internal error
Statuses
StatusMeaningTypical cause
400Invalid or missing fieldsRequest body/params validation failed
401Missing or invalid API keyOmitted/incorrect key or signature
403Forbidden (missing scope/tenant restriction)Scope not granted, tenant paused
404Not foundResource doesn’t exist
429Rate limit exceededPer‑minute key limit exceeded (see Retry-After)
500Provider/internal errorTransient or internal failure
Examples
{ "error": "Missing required fields" }
{ "error": "Invalid API key" }
{ "error": "Forbidden: missing scope send_email" }
{ "error": "Tenant paused for this organization" }
Request ID
  • All responses include X-Request-Id to help correlate logs and support requests.
Email support@fluxomail.com with your sendId and timestamp.
Planned improvements
  • See the API Roadmap for structured error fields (code/message/details) and migration guidance.