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

# Register a new user

`POST /auth/register`

## Request

- Base URL: `https://api.llm-broker.net`
- URL: `https://api.llm-broker.net/auth/register`
- Auth: none required

Create a new account. Returns JWT tokens on success or pending approval status.

## Request body

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

## Response `201`

User created

- AuthResponse
  - `access_token` string: JWT access token (24h TTL)
  - `api_key` string, nullable: Default API key (on register)
  - `refresh_token` string: JWT refresh token (30d TTL)
  - `user` UserProfile
    - `created_at` string, date-time
    - `display_name` string, nullable
    - `email` string, email, required
    - `id` string, required
    - `role` 'user' | 'admin'
    - `updated_at` string, date-time

## Other responses

- `202`: Pending approval
- `409`: User exists
- `422`: Validation errors
- `429`: Rate limited

---

[API](https://skmtc.dev/llm-broker/apis/astrioncore-core-api.md) · [All operations](https://skmtc.dev/llm-broker/apis/astrioncore-core-api/llms.txt) · [OpenAPI document](https://skmtc.dev/llm-broker/apis/astrioncore-core-api/revisions/f85835487bf5?raw)
