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

# Introduction

> Transactional email over HTTP. One call to send an OTP, a receipt or a notification, and a webhook when it lands.

PulseSend sends the emails your app owes its users: sign-in codes, password resets, receipts, alerts. You call one endpoint, PulseSend handles delivery, and you get a webhook for every status change.

```bash theme={null}
curl https://pulse-send.jiordiviera.me/api/v1/emails \
  -H "Authorization: Bearer ps_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Acme <hello@acme.com>",
    "to": "jane@example.com",
    "subject": "Your verification code",
    "html": "<p>Your code is <strong>482913</strong></p>"
  }'
```

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Send your first email in five minutes with a test key.
  </Card>

  <Card title="Verify a domain" icon="globe" href="/guides/domains">
    Add DKIM, SPF and DMARC records so mail comes from your own address.
  </Card>

  <Card title="Webhooks" icon="bolt" href="/guides/webhooks">
    Get notified when an email is delivered, bounces or is marked as spam.
  </Card>

  <Card title="API reference" icon="code" href="/api-reference/introduction">
    Every endpoint, parameter and error, with a playground.
  </Card>
</CardGroup>

## How it works

<Steps>
  <Step title="Create an API key">
    Test keys (`ps_test_`) never deliver anything and cost nothing. Live
    keys (`ps_live_`) send for real.
  </Step>

  <Step title="Verify your sending domain">
    Add three DNS records. PulseSend checks them for you every few minutes.
  </Step>

  <Step title="Send">
    `POST /emails` returns `202` right away. Delivery happens in the
    background.
  </Step>

  <Step title="Follow the status">
    Each email moves from `queued` to `sent` to `delivered`, or to
    `bounced`, `complained` or `failed`. Webhooks tell you as it happens.
  </Step>
</Steps>

## Pricing in one line

3,000 emails a month are free. After that you buy credits, one credit per recipient, starting at \$2 for 5,000. Credits last 12 months. See [Credits](/guides/credits).


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