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

# Quickstart guide

> In this Quickstart, send your first HIPAA compliant email via Paubox Email API in under 5 minutes.

<Steps>
  <Step title="Sign up and create a Paubox account">
    It's free to <a href="https://next.paubox.com/signup" target="_blank" rel="noopener noreferrer">sign up</a> and to send up to 300 emails per month, with a BAA included.

    <Note>
      **Note:**

      If you send more than 300 emails in one month, you will be automatically moved to the appropriate <a href="https://www.paubox.com/pricing/paubox-email-api" target="_blank" rel="noopener noreferrer">pricing tier</a> and billed the annual cost.
    </Note>
  </Step>

  <Step title="Add and verify your domain">
    Once you have a Paubox account, go to the <a href="https://next.paubox.com/settings/domains" target="_blank" rel="noopener noreferrer">Settings > Domains</a> page and add the domain you'll be sending from.

    Paubox verifies domain ownership via your domain's **SPF record**. Paubox will display the SPF value to add at your DNS provider (e.g., Route 53, Cloudflare, GoDaddy). Add or update the SPF record in your domain's DNS, then return to the Settings > Domains page and click **Verify**.

    <Tip>
      **Tip:**

      Most DNS providers propagate DNS changes within a few minutes, but allow up to 48 hours. If verification fails immediately, wait a few minutes and try again.
    </Tip>
  </Step>

  <Step title="Generate an API key">
    From the <a href="https://next.paubox.com/settings/api_keys" target="_blank" rel="noopener noreferrer">Settings > API Keys</a> page, click on the domain you would like to generate an API key for, then press the **Add API Key** button. Give the key a description and a new key will be generated upon submission.

    Make sure you save your key because if you lose it you will have to generate a new one.

    All Email API requests use the same base URL:

    ```
    https://api.paubox.com/v1/email
    ```

    You will use this base URL in every API request.
  </Step>

  <Step title="Send your first email">
    Use the following curl command to send a test email. Replace `YOUR_API_KEY` and the `from` address with your actual values. The `from` address must match your verified domain.

    ```bash theme={null}
    curl --request POST \
      --url https://api.paubox.com/v1/email/messages \
      --header 'Authorization: Bearer YOUR_API_KEY' \
      --header 'Content-Type: application/json' \
      --data '{
        "data": {
          "message": {
            "recipients": ["recipient@example.com"],
            "headers": {
              "subject": "Hello from Paubox",
              "from": "sender@yourdomain.com"
            },
            "content": {
              "text/plain": "Hello world",
              "text/html": "<html><body><h1>Hello world</h1></body></html>"
            }
          }
        }
      }'
    ```

    <Note>
      **What success looks like:**

      A `200 OK` response confirms your message was accepted for delivery:

      ```json theme={null}
      {
        "sourceTrackingId": "3d38ab13-0af8-4028-bd45-52e882e0d584",
        "data": "Service OK"
      }
      ```

      Save the `sourceTrackingId`; you can use it to check delivery status later.
    </Note>
  </Step>

  <Step title="Integrate via SDK">
    Official SDKs handle authentication and request formatting for you. Choose your language:

    * [C#](/csharp-sdk/quickstart)
    * [Go](/go-sdk/quickstart)
    * [Java](/java-sdk/quickstart)
    * [Node.js](/node-sdk/quickstart)
    * [Perl](/perl-sdk/quickstart)
    * [PHP](/php-sdk/quickstart)
    * [Python](/python-sdk/quickstart)
    * [Rails](/rails-sdk/quickstart)
    * [Ruby](/ruby-sdk/quickstart)
    * [Rust](/rust-sdk/quickstart)

    <Tip>
      Prefer the terminal? See the [CLI quickstart](/cli/quickstart) to send email without writing code.
    </Tip>
  </Step>
</Steps>

## Next steps

<CardGroup cols={3}>
  <Card title="Track message status" icon="magnifying-glass" href="/email-api/message-receipt">
    Check delivery status using a sourceTrackingId
  </Card>

  <Card title="Send attachments" icon="paperclip" href="/email-api/attachments">
    Add files to your messages via the REST API
  </Card>

  <Card title="MCP server" icon="plug" href="/mcp-server/quickstart">
    Use Paubox from AI agents and editors via MCP
  </Card>
</CardGroup>
