Email API

Email APITransactional email, one call away.

A clean REST API for transactional email. Send single messages or batches, schedule future delivery, and track every email through its lifecycle, all with scoped API keys and queue-backed reliability.

Why teams pick it

  • Queue-backed delivery

    Sub-second median response times on every send.

  • Scoped API keys

    Authentication with three permission tiers.

  • Batch endpoint

    High-throughput sending, up to 100 emails per call.

  • Template system

    Variable substitution and React Email support.

  • Scheduled sends

    Queue for later and cancel any time before delivery.

What you get

Everything ships on every plan unless noted otherwise.

  • Single and batch sending: deliver one email or up to 100 per request.
  • Scheduled delivery: queue emails for future send with a single parameter.
  • Template support: reference saved templates with variable substitution.
  • Attachments: Base64-encoded files with a 10 MB total limit per request.
  • Full addressing: To, CC, BCC, Reply-To, custom headers, and tags.
  • Status visibility: query email status and event history by ID.
  • Cancel queued emails before they're sent.
  • Suppression filtering and domain verification enforced automatically.
send.ts
1import { Sendry } from 'sendry-sdk';
2
3const sendry = new Sendry(process.env.SENDRY_API_KEY!);
4
5// Send a single transactional email
6await sendry.emails.send({
7 from: 'noreply@yourapp.com',
8 to: 'user@example.com',
9 subject: 'Your password was changed',
10 html: "<p>Your password was updated. If this wasn't you, contact support.</p>",
11});
12
13// Batch send: up to 100 per request
14await sendry.emails.sendBatch([
15 { from: 'hello@yourapp.com', to: 'alice@example.com', subject: 'Welcome, Alice!', html: '...' },
16 { from: 'hello@yourapp.com', to: 'bob@example.com', subject: 'Welcome, Bob!', html: '...' },
17]);
18
19// Scheduled send
20await sendry.emails.send({
21 from: 'noreply@yourapp.com',
22 to: 'user@example.com',
23 subject: 'Your trial ends soon',
24 html: '<p>Upgrade now to keep your data.</p>',
25 scheduled_at: new Date('2025-09-01T09:00:00Z').toISOString(),
26});
Single, batch, and scheduled sends share one SDK call shape.

Works with the rest of the stack

Same keys, same dashboard, same delivery pipeline.

Send your first email in minutes

Grab an API key, drop in the SDK, and ship transactional email with batch, scheduling, and status tracking built in.