# Signup

Create a new Robotomail account and receive an API key.

## POST /v1/signup

**POST** `/v1/signup`

Public endpoint — no authentication required.

**Request body**

| Name | Type | Description |
|------|------|-------------|
| `email`* | `string` | Valid email address |
| `password`* | `string` | Minimum 8 characters |
| `slug`* | `string` | 3-30 chars, lowercase alphanumeric + hyphens. Becomes your platform email address. |
| `name` | `string` | Display name. Defaults to email prefix. |

```response — 201 Created
{
  "user": {
    "id": "clx1a2b3c0000abcd1234efgh",
    "email": "you@example.com",
    "slug": "myagent",
    "name": "you",
    "plan": "free",
    "platform_email": "myagent@robotomail.co"
  },
  "api_key": {
    "key": "rm_a1b2c3d4e5...",
    "prefix": "rm_a1b2c",
    "name": "default"
  },
  "mailbox": {
    "id": "a1b2c3d4-5678-4def-abcd-111111111111",
    "address": "myagent",
    "fullAddress": "myagent@robotomail.co",
    "status": "ACTIVE"
  },
  "mailbox_limit": 3,
  "daily_send_limit": 100,
  "monthly_send_limit": 5000,
  "email_verified": false,
  "next_steps": {
    "verify_email": "Ask your human to click the link sent to the signup email — required before sending",
    "add_domain": "POST /v1/domains",
    "send_email": "POST /v1/mailboxes/:id/messages"
  }
}
```

### Errors

- `400` — Invalid input (email format, password too short, slug format)
- `409` — Email or slug already registered
- `429` — Rate limited (5 signups per hour per IP)


---

Previous: [Attachments](https://robotomail.com/docs/concepts/attachments.md) | Next: [Account](https://robotomail.com/docs/api/account.md)
