---
title: "Register a new user"
method: POST
path: "/v1/auth/register"
tags: ["Auth"]
---

# Register a new user

`POST /v1/auth/register`

Registers a new user with an email and password. This endpoint can be called unauthenticated to register a new admin, or authenticated (as an admin) to register a standard user into a specific team.

## Request body

- RegisterRequest
  - `email` string, email, required
  - `password` string, required
  - `team_id` string, uuid

## Response `201`

User registered successfully

- object
  - `user` User, required
    - `id` string, uuid, required — Unique user identifier.
    - `email` string, email, required — Email address of the user.
    - `is_verified` boolean, required — Whether the user's email has been verified.
    - `is_admin` boolean, required — Whether the user is an admin.
    - `created_at` string, date-time, required — Timestamp when the user was created.

## Other responses

- `400` — Invalid inputs
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Team Not Found
- `409` — Conflict (Email registered)
- `500` — Internal Server Error

## Changes

- **2026-06-27** `08e27b8a28f4` — 4 info
  - the endpoint scheme security `BearerAuth` was added to the API
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `404`
- **2026-06-26** `858fbdcdec96` — 3 info
  - added the new optional request property `team_id`
  - added the required property `user/is_admin` to the response with the `201` status
  - added the required property `user/is_verified` to the response with the `201` status

[Change history](https://skmtc.dev/px0-ai/apis/px0-api/changes/v1/auth/register/post.md)

---

[API](https://skmtc.dev/px0-ai/apis/px0-api.md) · [All operations](https://skmtc.dev/px0-ai/apis/px0-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/px0-ai/px0-api/revisions/3ed72443989d/schema)
