Sending

Schedule now, deliver later

Add a send_at timestamp to any send and euromail holds it for up to 30 days. Errors surface when you schedule, not when the moment arrives.

Schedule

Validated up front

Everything is checked at schedule time: the sender domain, recipient syntax, template rendering, quota, and attachments. A bad request fails immediately with a 400, not silently three weeks later. The schedule checker runs every second, so delivery starts within a second of send_at.

{
  "from": "[email protected]",
  "to": "[email protected]",
  "subject": "Your trial ends tomorrow",
  "send_at": "2026-08-01T09:00:00Z"
}

{ "status": "scheduled" }
Cancel

Change your mind, get your quota back

Quota is reserved when you schedule, so capacity is guaranteed at send time. Cancel any time before the email is promoted to the queue and the reservation is refunded automatically. Once delivery has started, cancellation returns 404. The state machine never lies about what happened.

Window
Up to 30 days ahead
Scheduler tick
Every second
Cancellation
POST /v1/emails/{id}/cancel
Quota on cancel
Refunded automatically