---
title: "Create an account for the person an agent works for"
method: POST
path: "/agent/signup"
tags: ["Agent signup"]
---

# Create an account for the person an agent works for

`POST /agent/signup`

## Request

- Base URL: `https://simpledock.ai/api/v1`
- URL: `https://simpledock.ai/api/v1/agent/signup`
- Auth: none required

Unauthenticated. Creates the person's account, organization, and first location, and returns an OAuth token pair that works right away on the MCP server and the account endpoints. SimpleDock emails the person a link and a six-digit code; until they confirm, the account contacts nobody outside it (no appointment email or SMS, no directory listing or search indexing, no invites). Unconfirmed accounts are deleted after 7 days. Limited to 5 signups per hour per IP.

## Request body

- AgentSignupRequest
  - `email` string, email, required: The person's own work email. They must read it to finish.
  - `name` string
  - `organizationName` string, required
  - `location` object, required
    - `name` string, required
    - `address` string
    - `city` string
    - `state` string
    - `zip` string
    - `timezone` string, required: IANA timezone, e.g. America/Chicago
  - `source` string: Your agent's name, shown to the person in the email.

## Response `201`

Account created

- object
  - `data` AgentSignupResult, required
    - `registrationId` string
    - `status` 'pending_verification'
    - `account` object
      - `email` string
      - `name` string, nullable
    - `organization` object
      - `id` string
      - `name` string
      - `verified` boolean
    - `location` object
      - `id` string
      - `name` string
      - `slug` string
      - `timezone` string
      - `bookingPageUrl` string, uri
    - `credentials` object: An RFC 6749 token response. Refresh at token_endpoint with client_id.
      - `access_token` string
      - `token_type` 'Bearer'
      - `expires_in` integer
      - `refresh_token` string
      - `scope` string
      - `token_endpoint` string, uri
      - `client_id` string
    - `mcp` object
      - `url` string, uri
      - `authorization` string
    - `verification` object
      - `email` string
      - `emailSent` boolean
      - `expiresAt` string, date-time
      - `instructions` string
      - `verifyEndpoint` string, uri
      - `resendEndpoint` string, uri
    - `pendingUntilVerified` string[]
    - `deletesAt` string, date-time
    - `nextSteps` string[]

## Other responses

- `400`: Invalid field (see details), or a disposable email address
- `402`: A plan limit
- `409`: details.reason = account_exists (connect over OAuth instead) or registration_pending (an agent already started one; the confirmation email was re-sent)
- `429`: Too many signups — retry after Retry-After

---

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