Admin API
Resend an email
Send a stored email again as a new email, from any project.
POST
/v1/admin/emails/{id}/resendAdmin keyLoads the original email's stored body from R2 and sends it again as a new email with a new ID. The original is not changed. This is what the dashboard's Resend action does.
The new email:
- has the same
from,to,cc,bcc,replyTo,subject,html,text, custom headers and attachments; - keeps the original's tags and adds
resent_fromwith the original email ID; - is sent live from the original's project, now, even if the original was scheduled or sent with a test key;
- goes through every normal check again: allowed senders, the suppression list, rate limits and the daily limit;
- uses the project's current open and click tracking defaults.
There is no idempotency key, so each call sends another copy.
Bodies are kept in R2 for 30 days. After that the email can't be resent and the call fails with 404 content_expired.
Path parameters
The ID of the email to resend, from any project.
Response
Status 202.
Errors
| Status | Code | When |
|---|---|---|
| 403 | project_disabled | The email's project is disabled. |
| 403 | invalid_sender | The original sender is no longer allowed on the project. |
| 404 | email_not_found | No email has this ID. |
| 404 | content_expired | The stored body is gone (older than 30 days). |
| 422 | recipient_suppressed | A recipient has been suppressed since the original was sent. |
| 429 | rate_limited, daily_limit_exceeded | The project is over a limit. |