Errors

Errors return application/problem+json. Branch on status and code; title is not a program identifier. Retain requestId, operation and time without logging secrets or unnecessary personal content.

{
  "type": "urn:sendiro:problem:precondition_failed",
  "title": "precondition_failed",
  "status": 412,
  "code": "precondition_failed",
  "requestId": "REQUEST_ID"
}

Correct the cause

  • 400 invalid_request: check body, types, dates, query and headers. An unchanged retry does not correct input.
  • 401 unauthenticated: verify the key and route workspace.
  • 403 forbidden: check permissions and key/integration status. Other access codes may indicate an unavailable commercial capability.
  • 404 not_found: check the resource and allowed surface; administrative routes are unavailable to keys.
  • 409: inspect code. This may be an identity, dependency, state or idempotency conflict.
  • 412 precondition_failed: read the current revision and reconcile your edit.
  • 428 precondition_required: add the If-Match obtained from the resource.
  • 422: check references and eligibility, such as recipient_ineligible or email_design_invalid.
  • 423 sending_admission_required: the workspace needs an approved application for that purpose (Marketing or Transactional). An owner or administrator can manage it under Activate your sending. A verified domain or active plan does not replace this approval.
  • 429: distinguish frequency limits from quota using code and, when present, quota. Respect Retry-After when returned.
  • 503: a required service or data may be unavailable; retain diagnostics for the operator.

Retry without duplicates

If a mutation loses its response, repeat the body, revision and idempotency key. Do not generate another key for the same send because of a timeout. For idempotency_conflict, recover the original input or explicitly start another operation if that was intended.

An HTTP error while reading status does not prove email failure. If status is submission_unknown, retain the ID and request reconciliation: sending again could duplicate a message already accepted by the provider.

Quota errors may include product, metric and capacity in quota. See plans and usage. Data corruption or inconsistent references require administrative review; clients should not repair counters or states.