ZevSend Docs
Sign up

Getting Started

Quickstart

Send your first transactional email in under five minutes.

This guide takes you from a fresh account to a sent message in under five minutes. Everything here runs in sandbox mode, so you don’t need to verify a domain or wait for approval.

1. Create an account

Sign up at console.zevsend.com. Your first team is created automatically and starts in sandbox.

2. Grab a test key

From the dashboard, open Settings → API keys and create one. Copy the value once shown — we never store it in a recoverable form. Test-mode keys start with sk_test_; production keys start with sk_live_ and only appear after your team goes live.

sk_test_a1b2c3d4e5f6...

3. Send your first email

The body of your email is generated in your own codebase the same way you’d render it for any other transactional email service. Pass the HTML and we deliver it.

curl https://api.zevsend.com/v1/emails \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "you@example.com",
    "subject": "Hello from ZevSend",
    "html": "<p>If you can see this, the integration works.</p>"
  }'

In sandbox the from is locked to a platform sender, so you don’t need to specify it. Once you verify a domain, you’ll pass your own from and the platform sender goes away.

You should get back a 202 Accepted with the message id:

{
  "id": "eml_01HXYZ...",
  "to": "you@example.com",
  "from": "onboarding@zevsend.dev",
  "subject": "Hello from ZevSend",
  "status": "sending",
  "sandbox": true,
  "created_at": "2025-05-24T12:34:56.789Z"
}

Open the Messages page in the dashboard and watch the state transition from sending → sent → delivered in real time.

4. (Optional) Try SMS or WhatsApp

SMS and WhatsApp run through pre-approved templates rather than raw bodies. Every team ships with a starter template you can use for the first send — find its id on the Templates page.

curl https://api.zevsend.com/v1/sms \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+2348012345678",
    "template_id": "tpl_xxxxxxxxxxxxx",
    "variables": { "code": "847291" }
  }'

The response shape is identical to email — the same id, status, sandbox, and created_at fields. One client; three channels.

What’s next

  • Set up a verified domain so your live emails send from your own brand.
  • Subscribe to webhooks so your app reacts to delivery, bounce, and complaint events.
  • Browse the API reference for the full surface, including every error code and parameter.

Updated at, Thursday, October 1, 2026