Reference
Errors
Section titled “Errors”Errors come back in Resend’s shape, so the SDK’s own error reports them.
| What you sent | Answer |
|---|---|
No Authorization header |
401 missing_api_key |
| A key nobody issued | 401 invalid_api_key |
| An app that is not yours, or one with no source taking calls | 404 not_found |
| A required field left out | 422 missing_required_field |
A field Cowliss does not serve, a template beside html or text, a subject beside a template, or a marketing template |
422 validation_error |
A from on a domain you have not verified |
403 validation_error |
| More mail than your credit covers | 429 monthly_quota_exceeded |
| Too many calls too quickly | 429 rate_limit_exceeded |
| An id that is not one of your messages | 404 not_found |
What the base URL may end with
Section titled “What the base URL may end with”The app id, which is what every example here prints. The id of that app’s API source (src_…) is accepted too, so a base URL configured before app ids were taken keeps working; both send exactly the same message.
What is not served
Section titled “What is not served”Attachments, scheduling and topics are each refused with the field named, and the message says what to do instead: link to the file, send the message when it should arrive (or let a journey’s wait do the waiting), and record consent as a purpose.
There is no update or cancel, and no contacts, audiences, broadcasts, domains or API keys under this base URL.
Where next
Section titled “Where next”- Sending and delivery: your sending domain, the gates every send passes, and the delivery log.
- Email templates: the template file contract and send classes.
- Journeys: the mail that follows a rule rather than a line of your code.