Migrating from Resend
For most integrations, change the base URL and the key. With the SDK, import Honkio from @honkio/node in place of Resend.
Migrating from Resend
For most integrations, change the base URL and the key. With the SDK, import Honkio from @honkio/node in place of Resend.
| Resend | HonkIO | Notes |
|---|---|---|
| https://api.resend.com | https://api.honkio.ca/v1 | Keys start with mk_live_ or mk_test_. |
| from, to, cc, bcc, reply_to | same | At most 50 recipients per call. |
| subject, html, text, headers | same | |
| attachments[].content / path / filename / content_type / content_id | same | content_base64 is accepted as an alias of content. |
| tags [{ name, value }] | same | |
| scheduled_at | scheduled_at | ISO 8601 only. |
| template { id, variables } | same | Templates are stored in HonkIO; triple braces are escaped. |
| POST /emails/batch | POST /v1/emails/batch | Array of up to 100, or the template object for up to 500. |
| Idempotency-Key | same | |
| react | not available | Render your React email to HTML first. |
| inbound | email.received, GET /v1/emails/received | Every account gets a free managed inbound address. A verified sending domain can also receive its own mail. |
| audiences, broadcasts | not available |
Known differences
- scheduled_at takes an ISO 8601 date-time. Natural language such as in 1 hour is refused.
- Triple brace variables are HTML escaped, the same as double braces.
- Commercial email follows CASL: consent on file, one recipient, an unsubscribe footer.
- Responses keep HonkIO's extra fields, such as status, livemode and cost_cents, alongside the id Resend clients read.
- A single send reaches at most 50 recipients across to, cc and bcc.
HonkIO