Skip to content
Rasel MailHelp center
Categories and guides
For developers

Sending states, quota and safe retries

Understand accepted and unknown while avoiding duplicate sends and charges.

Editorial update: October 30, 2026
In this guide

State meanings

A request queues, submits, then becomes accepted, failed or uncertain.
Illustration of sending states; acceptance is not delivery confirmation. Open image
StateMeaning
queuedRecorded and waiting; quota is reserved.
sendingSubmission is in progress; do not create a replacement request.
acceptedThe provider acknowledged submission, not delivery or reading.
failedA definite failure; inspect error before creating another message.
unknownAcceptance is uncertain; it is not automatically resubmitted to avoid duplicates.

If the response is lost

  1. Keep the same body and Idempotency-Key for the same business event.
  2. Retry the original request if needed; an existing record returns the same message ID and state.
  3. Do not change the body under the same key; a mismatch returns IDEMPOTENCY_CONFLICT.
  4. Do not generate a new key just because of a timeout. Review an unknown outcome before manually deciding on another message.

How quota is counted

The owner’s projects and domains share quota. Each recipient is one unit. A definite failure refunds its reservation once to the original period; accepted and unknown retain it. Adding packs during the current period does not start a new month for those packs: they expire at the existing end date, with no rollover.