---
title: "Signup"
method: POST
path: "/v1/auth/signup"
tags: ["auth"]
---

# Signup

`POST /v1/auth/signup`

Claim a roster identity, or do nothing: the response never says which.

No session is minted. A newly claimed identity is hard-blocked from
signing in until it verifies, so there is nothing yet to sign it into.

## Request body

- SignupRequest — Claim an identity already on the roster by setting its password.
  - `email` string, required — The address an admin added or invited.
  - `full_name` string, nullable — Filled in only if not already set.
  - `password` string, required — The password to sign in with once verified. At least 8 characters, at most 72 bytes.
  - `terms_accepted` boolean — Whether the caller accepted this deployment's terms.

## Response `200`

Successful Response

- SignupResponse — The same message whether or not the address had anything to claim.
  - `message` string, required — What the caller should do next.

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-21** `91764f0b41d6` — 1 info
  - endpoint added
- **2026-08-21** `2f89238cc674` — 1 breaking
  - api path removed without deprecation
- **2026-08-21** `875cef5dd6a8` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/mozilla-ai/apis/otari/changes/v1/auth/signup/post.md)

---

[API](https://skmtc.dev/mozilla-ai/apis/otari.md) · [All operations](https://skmtc.dev/mozilla-ai/apis/otari/llms.txt) · [OpenAPI document](https://skmtc.dev/mozilla-ai/apis/otari/revisions/80c117c36f36?raw)
