Skip to content

Password resets, receipts, and codes.

Email for product teams. One call from your app, CLI, or hosted MCP. You send from domains you own, and each delivery outcome comes back as a signed event.

A personal touch, in code

A few lines from you.
An email made for them.

See how a recipient and template data become a receipt, password reset or welcome email.

send.tsTypeScript
const message = await samva.email.send({
  "to": "maya@example.com",
  "templateSlug": "order-receipt",
  "templateData": {
    "name": "Maya",
    "orderId": "A-1042",
    "total": "$48.00"
  }
});
Example response201 · msg_7q2xk9mvt4znw8rh
To: maya@example.comPreview

Your receipt for order A-1042

Acme Studio

Hi Maya,

Good things, on the way.

Thanks for your order. We’ve received your payment and we’re getting everything ready.

Order A-1042Paid
Total$48.00

Questions about your order? Just reply to this email.

#01SENDING

Send once, even when you retry.

  • A typed SDK generated from the spec, REST when you want it
  • Same key and payload for 24 hours, so a retry does not mean a duplicate
  • Pass a recipient and a template, get a message id back
ALL ABOUT SENDING
send #1 · order-update · A-1042
→ 201 · msg_7q2xk9mvt4znw8rh
retry, same key and payload
→ 201 · msg_7q2xk9mvt4znw8rhsame id

A retried send with the same key and payload resolves to the original message for 24 hours.

#02DELIVERABILITY

Send from a domain you own.

  • 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

Know what happened to each send.

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

Signed on every delivery, retried with backoff.

( SEND, RECEIVE, LAND )

More from the email API.

Common questions.

What is a transactional email API?

An HTTP API you call to send one email 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 sends the email and reports back on delivery.

How do I avoid sending an email twice?

Pass a stable Idempotency-Key with the send. For 24 hours, a retry with the same key and payload returns the original message. Reusing the key with different content in that window returns a conflict.

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 and MAIL FROM records Samva generates for your domain. DMARC is an optional policy you keep or set separately; once the domain verifies, Samva signs outgoing mail with DKIM.

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 email and your send code stay apart.

Free to start

Send the first transactional email today.

Sign up and send your first email in minutes.

Related Resources