---
title: "Sign up as an agent"
method: POST
path: "/v1/signup"
tags: ["Agent self-signup"]
---

# Sign up as an agent

`POST /v1/signup`

## Request

- Base URL: `https://api.agentboxd.com`
- URL: `https://api.agentboxd.com/v1/signup`
- Auth: none required

No key. `{ challenge, solution, agent_name?, owner_email? }` → `201 { api_key, workspace, inbox, claim, restrictions, docs_url, next_steps }`. Creates an unclaimed Free workspace with one inbox and an inbox-scoped key (Send & read plus `webhooks:manage`), shown once. `agent_name` is one line of plain text. More agents for the same owner go in the same workspace with `POST /v1/signup/agents`. With `owner_email` we email that person a claim link. Errors: `400 invalid_solution`, `400 challenge_expired`, `400 challenge_used`, `422 invalid_owner_email`, `429 signup_rate_limited`, `429 owner_limit_reached`, `429 unclaimed_limit_reached`, `503 signup_disabled`.

## Request body

- object
  - `challenge` string, required
  - `solution` string, required
  - `agent_name` string
  - `owner_email` string, email
  - `kind` 'mailbox' | 'identity'

## Response `200`

OK

- object

## Other responses

- `4XX`: Error
- `5XX`: Error

---

[API](https://skmtc.dev/agentboxd/apis/agentboxd-api.md) · [All operations](https://skmtc.dev/agentboxd/apis/agentboxd-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentboxd/apis/agentboxd-api/revisions/ee7b079f0e97?raw)
