# Quickstart

Go from zero to sending your first email in under 5 minutes.

## Prerequisites

You need `curl` (or any HTTP client) and a terminal. No SDKs, packages, or configuration files required.


## 1. Create an account

Sign up with your email, a password, and a slug. The slug becomes your platform email address: `slug@robotomail.co`.

```curl
curl -X POST https://api.robotomail.com/v1/signup \
  -H "Content-Type: application/json" \
  -d '{
    "email": "you@example.com",
    "password": "your-password",
    "slug": "myagent"
  }'
```

The response includes your API key. **Save it now** — it cannot be retrieved later.

```response
{
  "user": { "id": "clx1a2b3c0000abcd1234efgh", "slug": "myagent", "plan": "free", "platform_email": "myagent@robotomail.co" },
  "api_key": { "key": "rm_a1b2c3...", "prefix": "rm_a1b2c", "name": "default" },
  "mailbox": { "id": "a1b2c3d4-5678-4def-abcd-111111111111", "fullAddress": "myagent@robotomail.co", "status": "ACTIVE" },
  "daily_send_limit": 100,
  "monthly_send_limit": 5000,
  "email_verified": false,
  "next_steps": { "verify_email": "...", "add_domain": "POST /v1/domains", "send_email": "POST /v1/mailboxes/:id/messages" }
}
```


## 2. Save your API key

Export the key as an environment variable for the remaining steps:

```shell
export ROBOTOMAIL_API_KEY="rm_a1b2c3..."
```


## 3. Verify your email

Check the inbox of the email you signed up with and click the verification link. You can create webhooks and upload attachments immediately, but **sending email requires a verified account**. The API returns `403` if you try to send before verifying.


## 4. Your mailbox is ready

A default mailbox (`myagent@robotomail.co`) was created automatically when you signed up. List your mailboxes to confirm:

```curl
curl https://api.robotomail.com/v1/mailboxes \
  -H "Authorization: Bearer $ROBOTOMAIL_API_KEY"
```

```response
{
  "mailboxes": [
    {
      "id": "a1b2c3d4-5678-4def-abcd-111111111111",
      "fullAddress": "myagent@robotomail.co",
      "status": "ACTIVE",
      "dailySendLimit": 100,
      "monthlySendCount": 0,
      "monthlySendLimit": 5000
    }
  ]
}
```


## 5. Send your first email

Send an email from your new mailbox. Replace `MAILBOX_ID` with the `id` from the previous step.

```curl
curl -X POST https://api.robotomail.com/v1/mailboxes/MAILBOX_ID/messages \
  -H "Authorization: Bearer $ROBOTOMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": ["recipient@example.com"],
    "subject": "Hello from my agent",
    "bodyText": "This email was sent by an AI agent via Robotomail."
  }'
```

The email is sent immediately via Resend. The response includes the message ID and status.


## 6. Check your inbox

Poll for inbound messages, set up a [webhook](https://robotomail.com/docs/concepts/webhooks) to receive them in real time, or use [SSE streaming](https://robotomail.com/docs/api/events) (`GET /v1/events`) for real-time events without a public endpoint.

```curl
curl https://api.robotomail.com/v1/mailboxes/MAILBOX_ID/messages?direction=INBOUND \
  -H "Authorization: Bearer $ROBOTOMAIL_API_KEY"
```


## Next steps

- [Set up webhooks](https://robotomail.com/docs/concepts/webhooks) for real-time inbound notifications
- [Receive and reply guide](https://robotomail.com/docs/guides/receive-and-reply) — build a full inbound flow
- [Add a custom domain](https://robotomail.com/docs/guides/custom-domain) — send from your own domain
- [Authentication](https://robotomail.com/docs/authentication) — API key scoping and rotation


---

Previous: [Overview](https://robotomail.com/docs.md) | Next: [Authentication](https://robotomail.com/docs/authentication.md)
