DispatchTransactional email API

Transactional email your app can count on.

One API call sends a receipt, a password reset or a sign-in code from your own domain. Every message is logged with its delivery events, and bounces never get a second try.

01

One call to send

Send with a template and its variables, or with your own HTML and text. You get an ID back straight away, and the message's delivery events follow by webhook.

send-receipt.tsPOST /v1/emails
const res = await fetch("https://api.mysendbox.com/v1/emails", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.MYSENDBOX_API_KEY}`,
    "Content-Type": "application/json",
    "Idempotency-Key": `receipt-${order.id}`,
  },
  body: JSON.stringify({
    from: "Acme <billing@acme.example>",
    to: [order.email],
    template: {
      id: "receipt",
      variables: { name: order.name, total: order.total },
    },
  }),
});
const { id } = await res.json(); // "em_01m61…", 202 Accepted

Every endpoint and field is in the API reference.

02

Your domain, verified

Send from billing@ or hello@ on your own domain, signed with DKIM and aligned for DMARC. We check your DNS records every few hours and tell you if they drift.

03

Templates with variables

Keep email content out of your code. Versioned templates with {{variables}}, escaped for HTML, with a live preview and test sends in the dashboard.

04

Safe to retry, ready to schedule

Send with an Idempotency-Key and a retried request never sends twice. Schedule a message up to 72 hours ahead, and cancel it any time before it goes.

05

Every event, in your app

Signed webhooks tell your app when a message is sent, delivered, bounced or marked as spam. The dashboard keeps a searchable log with each message's timeline, HTML preview and headers.

Webhook events
email.sent        em_01m61…  billing@acme.example → jane@example.com
email.delivered   em_01m61…  250 OK
email.bounced     em_01m62…  550 5.1.1 user unknown · address suppressed
email.complained  em_01m63…  marked as spam · address suppressed
email.failed      em_01m64…  not sent
06

Bounces handled for you

Hard bounces, spam complaints and opt-outs are suppressed automatically, so your sender reputation stays clean without extra code. A sender whose bounce or complaint rate climbs is paused before it can do damage.

07

A familiar shape

  • Batches of up to 100 messages in one request.
  • Attachments up to 10 MB, with cc, bcc and reply-to.
  • Field names you already know if you've used Resend.
08

What it's for

Mail a customer triggered or expects: order and booking confirmations, receipts, password resets, sign-in codes, security alerts and account notifications. Newsletters and promotions aren't sent through the API; see our acceptable use policy.