---
title: "Sign Up"
method: POST
path: "/v0/agent/sign-up"
tags: ["Agent"]
---

# Sign Up

`POST /v0/agent/sign-up`

## Request

- Base URL: `https://api.agentmail.to`
- URL: `https://api.agentmail.to/v0/agent/sign-up`
- Auth: none declared

Create a new agent organization with an inbox and API key. This endpoint is for signing up for the first time. If you've already signed up, you're all set — just use your existing API key.

A 6-digit OTP is sent to the human's email for verification.

This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.

The returned API key has limited permissions until the organization is verified via the verify endpoint.

**CLI:**
```bash
agentmail agent sign-up --human-email user@example.com --username my-agent
```

## Request body

- AgentSignupRequest: Request body to sign up an agent.
  - `human_email` string, required: Email address of the human who owns the agent. A 6-digit OTP will be sent to this address.
  - `username` string, required: Username for the auto-created inbox (e.g. "my-agent" creates my-agent@agentmail.to).

## Response `200`

- AgentSignupResponse: Response after successful agent sign-up.
  - `organization_id` string, required: ID of the created organization.
  - `inbox_id` string, required: ID of the auto-created inbox.
  - `api_key` string, required: API key for authenticating subsequent requests. Store this securely, it cannot be retrieved again.

## Other responses

- `400`

---

[API](https://skmtc.dev/agentmail-to/apis/agentmail-cli-speakeasy-api.md) - [All operations](https://skmtc.dev/agentmail-to/apis/agentmail-cli-speakeasy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentmail-to/apis/agentmail-cli-speakeasy-api/revisions/869b7f1c360c?raw)
