Documentation

Email that arrives.

Transmit is a transactional email and SMS API. One plan, credits that do not expire, and a sender list we are picky about — which is the whole reason the inbox is not picky about you.

Your first requestcurl -X POST https://api.transmit.dev/v1/emails \
  -H "Authorization: Bearer tr_v2_…" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"from":"hello@yourdomain.com","to":"you@example.com","subject":"It arrived.","text":"Nobody noticed. That is the job."}'

How it is shaped

You send one message per request and get a receipt back. The receipt says the message was accepted, not that it was delivered — delivery is a later fact, and it arrives on your webhook. Nothing about the API pretends otherwise.

  • One plan. $9 a month, $0.50 per thousand emails, credits that never expire. There is no free tier, which is what keeps the neighbourhood quiet.
  • Transactional first. Email supports broadcasts through campaigns; SMS is transactional only, rendered from a template you have had approved.
  • Scoped keys. A key carries the scopes you give it, and a call without the scope it needs is refused rather than partly served.
  • Billed calls are idempotent. Sends take an Idempotency-Key, so a retry after a timeout cannot charge you twice.

Where to start

The quickstart gets a domain verified and a message sent. If you are moving from somewhere else, migrating is shorter than you expect: we answer Resend and SendGrid request shapes at their own paths, so an existing integration usually needs a base URL and a key.