---
title: "Create a dashboard account (human path)"
method: POST
path: "/v1/accounts/signup"
tags: ["Accounts"]
---

# Create a dashboard account (human path)

`POST /v1/accounts/signup`

## Request

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

**Two signup routes exist and this is the one for people.** It takes a password and returns a dashboard session. If you are a program, use `POST /v1/signup` instead: an email, no password, and a working API key in the response.

## Request body

- AccountSignupRequest
  - `email` string, email, required
  - `password` string, required
  - `name` string
  - `company` string
  - `acceptTerms` true, required

## Response `200`

Account and session token.

- object
  - `account` Account, required
    - `id` string, required
    - `email` string, required
    - `name` string, nullable
    - `company` string, nullable
    - `email_verified_at` string, nullable: ISO 8601, or null while unverified.
    - `suspended_at` string, nullable
    - `created_at` string: ISO 8601.
  - `token` string, required: Session token. Send as `Authorization: Bearer <token>`.
  - `termsVersion` string
  - `verificationSent` boolean
  - `emailConfigured` boolean
  - `verifyLink` string: Only returned when no mailer is configured, so a configured deployment never puts a credential in a response body.

## Other responses

- `400`: Weak password or malformed body.
- `409`: Email already registered.
- `429`: Rate limited per IP and per targeted account. Honour `Retry-After`.
- `500`: Unexpected server error. The body is always JSON.

---

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