---
title: "Register User"
method: POST
path: "/api/user/register"
tags: ["user"]
---

# Register User

`POST /api/user/register`

Register a new user with email verification (local or SSO).

Accepts either:
- 3-word verification code for local users
- SSO JWT token for SSO users

Auto-detects credential type and handles both flows.

## Request body

- RegisterRequest — Unified user registration request (local and SSO). Used by: /user/register Accepts either: - 3-word verification code (local users): "purple-mountain-river" - SSO JWT token (SSO users): "eyJ..." (long token with dots) For local users: name and last_name are required For SSO users: name and last_name are optional (extracted from JWT if not provided)
  - `email` string, email, required
  - `public_key` string, required
  - `verification_credential` string, required
  - `name` string, nullable
  - `last_name` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2025-10-28** `849d5e8732f6` — 3 breaking, 7 warning, 4 info
  - added the new required request property `public_key`
  - added the new required request property `verification_credential`
  - the response's body type changed from `object` to no type for status `200`
  - removed the request property `password`
  - …10 more
- **2025-10-10** `ba5ad76fe6cd` — 1 breaking
  - added the new required request property `verification_code`

[Change history](https://skmtc.dev/arbicity/apis/arbi/changes/api/user/register/post.md)

---

[API](https://skmtc.dev/arbicity/apis/arbi.md) · [All operations](https://skmtc.dev/arbicity/apis/arbi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/arbicity/arbi/revisions/d6c3e911a263/schema)
