Drafts, scheduled sends, and cancelling

Stage a message before it goes, schedule it for later, and cancel it while it is still pending.

Mails.ai — Drafts, scheduled sends, and cancelling

A draft is a message that exists but has not been sent. It goes through the same validation and the same classifier as a live send, so you find out whether it will be accepted before anything is queued.

The drafts page, with a pending draft and a scheduled one

The lifecycle

  1. POST /v1/drafts creates it. Status pending.

  2. PUT /v1/drafts/{id} edits it — subject, body, recipients, send_at.

  3. POST /v1/drafts/{id}/send sends it now.

  4. Or set send_at and the scheduled dispatcher sends it at that time. Status scheduled.

Cancelling

POST /v1/messages/{id}/cancel stops a scheduled message that has not gone yet. Once a message is sent it cannot be recalled — email does not work that way — so cancel is only meaningful in the scheduled window.

Events you can subscribe to

Drafts emit their own events: draft.scheduled, draft.sending, draft.sent and draft.failed. Subscribing to draft.failed is the honest way to notice that a scheduled send did not happen.

Open drafts are capped per plan — 1,000 on Free, 10,000 on Pro, 50,000 on Scale.

Open drafts
Did this answer your question?
😞
😐
😁