Skip to content
( TRANSACTIONAL EMAIL )

Transactional email for product teams.

Password resets, order confirmations, and one-time codes, sent through one typed API with deliverability, versioned templates, and signed delivery events built in.

( THE SEND, END TO END )

One call puts the message in the inbox.

Pass a recipient and a template, and Samva relays the message and returns its id. Send again with the same request and you get the original message back, so a network blip never turns into a duplicate receipt.

POST /v1/messages
const { data } = await samva.email.send({
  to: "maya@acme.com",
  subject: "Your order shipped",
  templateId: "order-update",
  templateData: { orderId: "A-1042" },
});
202 ACCEPTEDmsg_01hv8kq2
#01SENDING

One typed call that sends once.

  • A typed SDK generated from the spec, REST when you want it
  • Idempotent sends, so a retried request never means a duplicate
  • Pass a recipient and a template, get a message id back
ALL ABOUT SENDING
send #1 · order-update · A-1042
→ 202 · msg_01hv8kq2
retry, same request
→ 202 · msg_01hv8kq2same id

A retried request resolves to the original message, never a second receipt.

#02DELIVERABILITY

Send from your own domain, reputation handled.

  • SPF, DKIM, and DMARC set up on domains you own
  • Every bounce and complaint feeds suppression for you
  • Delivery telemetry you can check on each send
ALL ABOUT DELIVERABILITY
acme.com · sending domainverified
SPFpass
DKIMpass
DMARCaligned

Bounces and complaints feed suppression on their own, so one dead address stops getting mail.

#03EVENTS

Every send comes back as a signed event.

  • Delivery, bounce, and complaint arrive as signed webhooks
  • Verify each event against the raw body with the SDK
  • Retried with backoff, delivered at least once
ALL ABOUT EVENTS
events · signed200 OK
POSTmessage.deliveredmsg_a1c
POSTmessage.bouncedmsg_9f2
POSTmessage.complainedmsg_4d8

HMAC-SHA256 on every delivery, retried with backoff.

( KEEP READING )

The rest of the email channel.

Common questions.

What is a transactional email API?

An HTTP API you call to send a single message triggered by a user action, like a password reset, order confirmation, or one-time code. You pass a recipient and a body or template, and Samva relays the message and reports back on delivery.

How do I avoid sending an email twice?

Samva deduplicates identical sends. A message with the same recipient and content submitted again within a short window resolves to the original message instead of delivering a second copy, so a retried request is safe.

How do I track whether a message was delivered?

Subscribe to delivery webhooks. Samva emits signed events for acceptance, delivery, bounce, and complaint, each verifiable against the raw body, so your app reacts to the outcome of every send.

What do I need before sending from my own domain?

Publish the DKIM, SPF, and DMARC records Samva generates for your domain, plus a custom MAIL FROM subdomain. Once the domain verifies, Samva signs your outgoing mail so it lands in the inbox.

Can I change an email without touching send code?

Yes. Templates are versioned and rendered on our side. Edit and publish a new version in the dashboard, and the pinned version is the one that sends, so the message and the send code stay apart.

Get started

Send the first transactional email today.

Sign up and send your first message in minutes.