Skip to main content

Scheduled Email

You can schedule a transactional email for future delivery by setting scheduledAt on the POST /email request. JetEmail holds the message until the requested time and then sends it through the same pipeline as an immediate send.

When to use it

Use scheduled sends for:
  • Reminders, drip messages, and follow-ups
  • Time-zone aware announcements
  • Any send where the trigger time is known in advance
For sends that need to fire immediately, simply omit scheduledAt.

Field reference

scheduled_at (snake_case) is also accepted as an alias. Limits
  • The time must be in the future.
  • The time must be no more than 30 days out.
  • A request that violates either rule returns 400 Bad Request.

Accepted formats

Example request

Example response

A scheduled send returns 202 Accepted (immediate sends return 201 Created):
The returned id is a scheduling UUID that identifies the queued message until it is dispatched.

Combining with idempotency

Scheduled sends work the same way as immediate sends with the Idempotency-Key header. Pairing the two is recommended for retried scheduling calls so a network blip does not produce a duplicate scheduled message.