idempotencyKey in the JSON body.
How keys behave
- Keys are scoped to the authenticated project.
- Once a send is persisted, repeating its key returns the original settled result instead of creating another email.
- The durable key follows the persisted email record; there is no separate documented 24-hour idempotency window.
- Use one key for one logical send. If you reuse a key with different content, the earlier result still wins.
409 with code email.idempotency_conflict. Wait briefly and retry with the same key so the persisted result can be returned.
Batch requests
POST /v1/emails/batch evaluates each item independently. Put a distinct idempotencyKey on every item that must be retry-safe:
Choosing keys
Use a stable identifier from your system, such asinvoice-1042-email or deployment-42-owner-notification. Do not use a random value generated separately for every retry, because the server cannot associate those attempts.