ZevSend Docs
Sign up

Getting Started

Introduction

What ZevSend is, how it's organised, and what you need to send your first message.

ZevSend is a transactional messaging API. Deliver application email the way Resend, Postmark, or SendGrid do — your codebase owns the body, we handle deliverability, signing, and the lifecycle events your app reacts to. Reach the same customers on SMS and WhatsApp through one auth, one response envelope, and one webhook signing scheme.

How it’s organised

A handful of concepts show up everywhere in the API. Knowing what each one does upfront makes the rest of the documentation read fast.

Teams

A team is the unit of billing and isolation. Every API key, domain, template, and message belongs to one team. If you work with collaborators, invite them to your team rather than sharing keys.

API keys

API keys authenticate every request. Keys are scoped to a single team and look like sk_live_… or sk_test_…. See Authentication for how to pass them.

Domains

A domain is the brand identity your messages send from. After you verify ownership with DNS records, we use it as the from address for email and as the brand context for SMS and WhatsApp. See Domains and brand identity.

Templates

A template is the pre-approved content of a message. Templates declare which variables they accept and which channel they target. You reference them by id (tpl_…) when you send. See Templates.

Messages

A message is one delivery attempt. Every send returns a public id (eml_…, sms_…, wam_…) that you can use to look up state or correlate webhooks.

Lifecycle at a glance

Every channel uses the same lifecycle vocabulary so you can write one set of handlers and they’ll work everywhere:

StateMeaning
queuedWe accepted the send and it’s waiting to dispatch.
sendingHanded off; awaiting acceptance from the network.
sentAccepted by the network and in transit.
deliveredConfirmed at the recipient’s device.
readRecipient opened the message (WhatsApp only).
bouncedPermanent delivery failure (email only).
complainedRecipient flagged as spam (email only).
failedRejected at submit or permanent delivery failure.

Sandbox vs live

Every team starts in sandbox. In sandbox mode you can send real API calls and see them flow through the dashboard without risking real recipients. When you’re ready, request a live upgrade from your dashboard. Read Sandbox and live mode for the full picture.

Next step

If you have an account, go straight to the Quickstart.

Updated at, Thursday, October 1, 2026