Documentation

API reference, feature guides, deliverability best practices, tools — all in one place.

Quickstart

  1. 1. Sign up at sendersy.com
  2. 2. Add a domain and publish DKIM / SPF / DMARC records in DNS
  3. 3. Create an API key in /dashboard/api-keys
  4. 4. Send your first email:
curl https://api.sendersy.com/v1/emails \
  -H "Authorization: Bearer sk_live_•••" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Acme <hi@yourcompany.com>",
    "to": "user@example.com",
    "subject": "Welcome",
    "html": "<p>Hi there 👋</p>"
  }'

POST /v1/emails

Resend-compatible endpoint. Returns 200 + message_id.

{
  "from": "Acme <noreply@acme.com>",          // required
  "to": ["user@example.com"],                  // string or array
  "cc": ["..."],                               // optional
  "bcc": ["..."],                              // optional
  "subject": "...",                            // required (or use template_id)
  "html": "<p>...</p>",                        // either html or text required
  "text": "...",                               //
  "template_id": "abc-…",                      // OR template_id + variables
  "variables": { "name": "Alex" },             // interpolated into template
  "headers": { "X-Custom": "value" },          // custom headers
  "tags": [{ "name": "category", "value": "welcome" }],
  "scheduled_at": "2026-01-01T10:00:00Z"       // optional ISO 8601
}

Using templates

Build a template via the Visual builder, then reference it via template_id:

await sendersy.emails.send({
  from: 'Acme <noreply@acme.com>',
  to: user.email,
  template_id: 'welcome',
  variables: {
    name: user.name,
    verify_url: `https://acme.com/verify/${token}`,
  },
})

Supports {{name}}, {{#if var}}…{{/if}} and {{#unless var}}…{{/unless}} inside the template.

Webhooks

Subscribe to events at /dashboard/webhooks. Sendersy sends POST with an HMAC-signed payload.

// Payload shape
{
  "type": "email.delivered" | "email.opened" | "email.clicked"
        | "email.bounced"   | "email.complained",
  "data": {
    "email_id": "…",
    "from": "noreply@acme.com",
    "to": ["user@example.com"],
    "subject": "Welcome",
    "tags": [...]
  },
  "created_at": "2026-01-01T10:00:00Z"
}

// Headers
X-Sendersy-Signature: t=1735718400,v1=<hex-sha256>
X-Sendersy-Event: email.delivered

Deliverability

When you add a domain, Sendersy generates an RSA-2048 DKIM keypair, ready-to-paste SPF/DMARC/MTA-STS/TLS-RPT values and hosts the MTA-STS endpoint. You publish 5-6 DNS records at your registrar (we hand you the exact values), and we verify in one click. List-Unsubscribe + One-Click is added on every send. Check your domain for free:

Open the DMARC checker