SuperSend TX — Quickstart
Send your first transactional email in about five minutes.
Migrating from another provider? Start with Resend, Postmark, Amazon SES, or SendGrid, then mirror send + webhook flows from the hosted API Explorer.
Building auth email? See password reset, Supabase Auth, and Clerk / Auth.js.
Using React Email components? See Send React Email.
Hosted docs: docs.supersendtx.com
Dashboard: app.supersendtx.com
API: https://api.supersendtx.com
For AI agents
- Index: docs.supersendtx.com/llms.txt
- Full bundle: docs.supersendtx.com/llms-full.txt
- OpenAPI: docs.supersendtx.com/openapi.yaml
- Agent skill notes: docs.supersendtx.com/ai/agent-skill
- MCP server: docs.supersendtx.com/ai/mcp (
supersendtx-mcpon npm) - AI app builders: docs.supersendtx.com/builders (Lovable, Replit, Bolt, Base44, v0 prompts)
Use the dashboard Get started page to copy a personalized setup prompt with your API key and sandbox rules.
1. Create an account
- Open the dashboard at app.supersendtx.com.
- Sign up with email + password (or email code if you prefer).
- If using email code: enter the code emailed to you.
2. Send a sandbox test (fastest path)
On Get started (/overview), choose one of two doors:
Set it up here (dashboard)
- Click Send test email. We create an API key if needed and send to your account email (sandbox sender before DNS; your verified domain after).
- Check your inbox for the test message.
- Copy the
stx_…secret if shown (once).
No domain or DNS required for the first sandbox send. After you verify a domain, the same button self-tests from that domain (still to your account email on Sandbox).
Use with Cursor or Claude
- On Get started, click Copy setup prompt or Install in Cursor.
- Paste the prompt into your editor, or add the
supersendtx-mcpMCP server with your API key. - Let the agent wire
POST /emails(or the SDK) into your app and run the sandbox self-test.
See docs/ai/agent-skill.md and docs/ai/mcp.md.
3. Create an API key (if you skipped the dashboard flow)
- Go to API Keys → Create (or use an existing
stx_…key). - Copy the secret — it is shown once.
export SUPERSENDTX_API_KEY=stx_your_key_here4. Verify a sending domain (DNS setup — self-test from your domain on free)
Add and verify your domain on Sandbox to complete DNS setup. On the free plan you can self-test from your verified domain to your account email to confirm DNS and branding. Free production (send to other recipients) unlocks after a verified domain and a payment method on file — we do not charge until you upgrade. Caps: 3,000 emails/mo · 100/day · 1 domain. Upgrade to Pro or Scale for more volume.
Dashboard (recommended)
- Go to Domains → Add domain and enter your domain (e.g.
yourdomain.com). - On the domain page (or in guided setup):
- If your DNS is on Cloudflare: click Sign in to Cloudflare when offered — authorize once and we add the records.
- Or Settings → Integrations → paste a Cloudflare API token (Zone DNS Edit) → Save, then Apply DNS (Cloudflare).
- If your DNS is at GoDaddy: switch to GoDaddy, paste an API key + secret for a one-time apply.
- Otherwise paste the shown TXT records at your DNS host (merge SPF if you already have one).
- Click Verify DNS.
- Optional after verification: set Delivery settings on the domain detail page for:
- open tracking
- click tracking
tls_mode(opportunisticorenforced)
- Check the built-in DMARC/BIMI guidance on the same page before you roll out branded inbox features.
| Type | Purpose |
|---|---|
TXT _supersendtx.yourdomain.com |
Domain ownership |
TXT {selector}._domainkey.yourdomain.com |
DKIM (domain signing key) |
CNAME rp.yourdomain.com |
Return path → rp.supersendtx.com |
TXT yourdomain.com |
SPF (include:spf.supersendtx.com) |
TXT _dmarc.yourdomain.com |
DMARC |
Ownership, SPF, DKIM, and return-path are required to verify. Verify also confirms mail-server DKIM readiness so sends are signed with your domain (not the shared pool). Local Docker auto-verifies when SUPERSENDTX_DEV_AUTO_VERIFY=true.
If a domain is already attached to another SuperSend TX team, POST /domains returns a 409 with claim instructions instead of creating a duplicate owner.
CLI (from your editor / terminal)
Save a Cloudflare token under Settings → Integrations first (recommended). Then:
export SUPERSENDTX_API_KEY=stx_your_key_here
npx -y --package=supersendtx-cli -- supersendtx domains add yourdomain.com
# Uses the Cloudflare token stored in SuperSend TX (no local CLOUDFLARE_API_TOKEN needed)
npx -y --package=supersendtx-cli -- supersendtx domains apply yourdomain.com --provider cloudflare
npx -y --package=supersendtx-cli -- supersendtx domains verify yourdomain.comOptional override: set CLOUDFLARE_API_TOKEN locally to apply with a machine token instead of the dashboard one. Vercel uses VERCEL_API_TOKEN and optional VERCEL_TEAM_ID the same way. GoDaddy can use stored dashboard credentials or local GODADDY_API_KEY / GODADDY_API_SECRET.
5. Send from your app
Pick one integration method below. Replace [email protected] with an address on your verified domain.
Sandbox self-test (before DNS)
Use the shared sandbox sender on mail.supersendtx.com, but only send to your own account email:
curl -X POST https://api.supersendtx.com/emails \
-H "Authorization: Bearer $SUPERSENDTX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "[email protected]",
"to": "[email protected]",
"subject": "Sandbox check",
"html": "<p>SuperSend TX sandbox works.</p>"
}'Once your domain is verified, you can self-test from your own domain to your account email:
curl -X POST https://api.supersendtx.com/emails \
-H "Authorization: Bearer $SUPERSENDTX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "[email protected]",
"to": "[email protected]",
"subject": "Verified domain check",
"html": "<p>My domain works.</p>"
}'Add a payment method at Settings → Billing to unlock Free production (send to other recipients). Upgrade to Pro or Scale for more volume.
curl (production)
curl -X POST https://api.supersendtx.com/emails \
-H "Authorization: Bearer $SUPERSENDTX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "[email protected]",
"to": "[email protected]",
"subject": "Hello from SuperSend TX",
"html": "<p>It works.</p>"
}'Node.js SDK
npm install supersendtximport { SuperSendTX } from 'supersendtx'
const client = new SuperSendTX(process.env.SUPERSENDTX_API_KEY!)
const { id, status } = await client.emails.send({
from: '[email protected]',
to: '[email protected]',
subject: 'Hello from SuperSend TX',
html: '<p>It works.</p>',
})
console.log(id, status)CLI
SUPERSENDTX_API_KEY=$SUPERSENDTX_API_KEY npx -y --package=supersendtx-cli -- supersendtx emails send \
--from [email protected] \
--to [email protected] \
--subject "Hello from SuperSend TX" \
--html "<p>It works.</p>"Or install globally: npm install -g supersendtx-cli, then run supersendtx emails send ….
Success response
{
"id": "msg_abc123…",
"status": "sent"
}Plan limits
When billing is enabled, Sandbox is for integration and self-test sends (hard daily and monthly caps). Until Free production is unlocked, sends are limited to your account email — from the shared sandbox sender or from a verified domain. Unlock Free production with a verified domain and a payment method on file (no charge until you upgrade). Paid Pool and Dedicated plans meter overage past included volume. Over Free/Sandbox limit:
{ "error": { "message": "…", "code": "plan_limit", "upgrade_url": "/settings/billing" } }HTTP 429. Upgrade in the dashboard under Settings → Billing.
Common errors
| HTTP | Meaning | Fix |
|---|---|---|
| 401 | Invalid or missing API key | Check Authorization: Bearer stx_… |
| 403 | From domain not verified, sandbox/verified-domain recipient mismatch, or send to other recipients without Free production unlocked | Verify domain; self-test to your account email; add a payment method at Settings → Billing to unlock Free production |
| 400 | Missing from, to, or subject |
Send required fields + html or text |
| 429 | Plan send limit (code: plan_limit) |
Upgrade at Settings → Billing |
| 503 | Mail delivery temporarily unavailable | Retry later or contact support |
Full reference: docs.supersendtx.com/api-reference
6. Webhooks (optional)
- Go to Webhooks in the dashboard (or use the API).
- Add your HTTPS endpoint URL.
- Copy the signing secret (
whsec_…) — shown once. - Verify
SuperSendTX-Signatureon incomingPOSTs.
await client.webhooks.create({
url: 'https://yourapp.com/webhooks/supersendtx',
})See docs.supersendtx.com/api-reference for payload shape and signature verification.
7. Receive email (optional)
Want an app inbox or agent mailbox?
- Create a dedicated inbound subdomain such as
inbound.example.com. - Add it with
inbound_enabled: true(API) orsupersendtx domains add inbound.example.com --inbound true(CLI). - Verify the domain, then publish the returned MX record.
- Subscribe to
email.receivedand/or pollGET /received-emails.
See docs/api/inbound.md for the full flow and the MX conflict warning.
8. Event-driven automations (optional)
SuperSend TX can trigger transactional sequences from custom events.
Dashboard: open Automations, create from a starter (or blank) on the visual canvas, configure steps in the side panel (send-email can use a published Templates entry or inline HTML), then Activate.
CLI / API: create and activate from a JSON file (handy in Cursor or CI):
supersendtx automations create --file ./welcome.json
supersendtx automations activate --id "$AUTOMATION_ID"Then send the trigger event from your app:
curl -X POST https://api.supersendtx.com/events \
-H "Authorization: Bearer $SUPERSENDTX_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: evt_user_created_123" \
-d '{
"name": "user.created",
"user_id": "user_123",
"email": "[email protected]",
"data": {
"name": "Ada Lovelace"
}
}'Response:
{
"event": {
"id": "ae_123",
"name": "user.created",
"user_id": "user_123",
"email": "[email protected]",
"data": { "name": "Ada Lovelace" },
"source": "api",
"created_at": "2026-07-26T12:00:00.000Z"
},
"matched_automations": 1,
"resumed_runs": 0,
"cancelled_runs": 0
}See docs/api/automations.md and docs/api/events.md.
Next steps
- Docs home: docs.supersendtx.com
- API reference: docs.supersendtx.com/api-reference
- Next.js quickstart: docs.supersendtx.com/frameworks/nextjs
- React Email: docs.supersendtx.com/guides/react-email
- Node.js quickstart: docs.supersendtx.com/frameworks/node
- Send API:
docs/api/emails.md - Domains API:
docs/api/domains.md - Inbound email API:
docs/api/inbound.md - Deliverability:
docs/api/deliverability.md - Events:
docs/api/events.md - Templates:
docs/api/templates.md - Automations:
docs/api/automations.md - SMTP relay:
docs/api/smtp.md - Webhooks:
docs/api/webhooks.md - AI onboarding: docs.supersendtx.com/llms.txt, docs.supersendtx.com/llms-full.txt,
docs/ai/agent-skill.md,docs/ai/mcp.md(supersendtx-mcpnpm package) - OpenAPI spec: docs.supersendtx.com/openapi.yaml