> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wazobiamail.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Send your first email with the WazobiaMail API in five minutes.

# Quickstart

## 1. Create an account

[Create your account](https://app.wazobiamail.com/register) and choose a plan. Registration happens in the app, not through the API.

## 2. Create your API key

Log into your dashboard and create an API key. The same key works for sending
and every other API operation below.

<Warning>
  The secret is shown once. Store it in your secrets manager — WazobiaMail cannot show it again. Rotate or revoke it anytime from the same dashboard screen.
</Warning>

## 3. Add and verify a sending domain

```bash theme={null}
curl -X POST https://app.wazobiamail.com/api/v1/sending/domains \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"mail.example.com"}'
```

Publish the DNS records from `GET /sending/domains/{domain_id}/dns-records`, then confirm with `POST /sending/domains/{domain_id}/verify`.

## 4. Send your first email

```bash theme={null}
curl -X POST https://app.wazobiamail.com/api/v1/sending/messages \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "envelopeSender": "hello@mail.example.com",
    "to": ["customer@example.com"],
    "content": {
      "from": "Example Store <hello@mail.example.com>",
      "subject": "Your receipt",
      "htmlBody": "<p>Thanks for your order.</p>"
    }
  }'
```

A `200` response with `success: true` means the message was accepted for sending, not that it reached the recipient inbox. Track delivery, opens and clicks with `GET /sending/tracking/messages`.

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/docs/guides/authentication" />

  <Card title="Sending email" icon="send" href="/docs/guides/sending" />

  <Card title="Billing" icon="credit-card" href="/docs/guides/billing" />

  <Card title="API Reference" icon="book" href="/docs/api-reference" />
</CardGroup>

## Send plain text or attach files

For normal text, replace `htmlBody` in step 4 with `textBody`, for example `"textBody": "Hello!\nYour order is ready."`. You can also provide both formats.

* [Plain-text and combined HTML/text examples](/docs/guides/sending)
* [Attach a PDF, include multiple files, or upload from Node.js](/docs/guides/attachments)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.