# Transactional email

> Send receipts, alerts, and notifications from your own domain via API.

Transactional email is the mail your **application** sends — receipts, password resets, magic links, shipping updates, alerts. It's one-to-one, triggered by something a user did, and it needs to arrive *now*.

Faivelo's transactional email gives you:

- **A send API** — `POST /api/v1/emails` sends from any address on one of your verified domains. No mailbox needs to exist for the sender: `receipts@yourdomain.com` works the moment the domain is verified.
- **Designed templates** — build the email once in the visual template editor, then trigger it from code with an alias and variables. See [Templates](/transactional/templates).
- **Delivery tracking** — every send has a status (`sent` → `delivered`, `bounced`, `complained`, or `failed`) you can poll, plus [webhooks](/transactional/webhooks) that push those events to your server as they happen.
- **Automatic suppression** — addresses that previously hard-bounced or complained are dropped before sending, so a stale address in your database can't damage your domain's reputation.
- **Safe retries** — send an `Idempotency-Key` header and a retried request returns the original result instead of emailing your customer twice.

## Who can use it

Transactional email is included on **every paid plan**, and every plan sends to anyone: Starter sends 3,000 a month, Growth 20,000, Pro 50,000 and Business 100,000 — at 10/60/120/240 recipients a minute respectively, with a daily cap of a tenth of the month (see [rate limits](/developers/ai-agents#rate-limits)). Transactional volume is a **separate budget from campaigns**, so a newsletter can never eat your password resets. Delivery webhooks are included from Pro, where each sending domain also carries its own reputation and a dedicated IP is available as an add-on. Every signed-in account can browse the Templates section and explore the editor. See [Billing & plans](/billing/plans).

## Transactional vs. campaigns

<table>
<thead>
  <tr>
    <th>
      
    </th>
    
    <th>
      Transactional
    </th>
    
    <th>
      <a href="/sending/campaigns">
        Campaigns
      </a>
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      Triggered by
    </td>
    
    <td>
      Your code, one recipient at a time
    </td>
    
    <td>
      You, to a whole list
    </td>
  </tr>
  
  <tr>
    <td>
      Examples
    </td>
    
    <td>
      Receipts, resets, alerts
    </td>
    
    <td>
      Newsletters, announcements, product updates
    </td>
  </tr>
  
  <tr>
    <td>
      Sent via
    </td>
    
    <td>
      API (<code>
        POST /api/v1/emails
      </code>
      
      )
    </td>
    
    <td>
      Dashboard campaign wizard
    </td>
  </tr>
  
  <tr>
    <td>
      Unsubscribe footer
    </td>
    
    <td>
      Not added (it's not marketing)
    </td>
    
    <td>
      Added automatically
    </td>
  </tr>
  
  <tr>
    <td>
      Counts against
    </td>
    
    <td>
      Your <a href="/sending/limits">
        monthly sending limit
      </a>
    </td>
    
    <td>
      Your monthly sending limit
    </td>
  </tr>
</tbody>
</table>

Both kinds of sending draw from the same monthly pool and the same account-level [sending limits](/sending/limits).

## Getting started

1. [Verify a domain](/domains/adding-a-domain) (you've probably done this already).
2. Create an API key with the `mail:send` scope — see [AI agents & API keys](/developers/ai-agents).
3. Send your first email — see [Sending via the API](/transactional/send-api).
4. Optional: design a [template](/transactional/templates) and add a [webhook](/transactional/webhooks) for delivery events.
