Skip to main content
POST
/
api
/
v1
/
gate
/
{project_id}
/
auth
/
register
Register user
curl --request POST \
  --url https://org-api.hexoforge.dev/api/v1/gate/{project_id}/auth/register \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "email": "<string>",
  "password": "<string>",
  "name": "<string>",
  "phone": "<string>",
  "metadata": {}
}
'

Documentation Index

Fetch the complete documentation index at: https://orchestrator-docs.hexoforge.dev/llms.txt

Use this file to discover all available pages before exploring further.

Creates a new tenant user. Requires X-API-Key. Replace {project_id} with your project UUID.

Request body

email
string
required
Valid email, max 320 characters.
password
string
required
8–128 characters.
name
string
Display name, max 256 characters.
phone
string
Phone string, max 32 characters.
metadata
object
Arbitrary JSON metadata.

Response

{
  "access_token": "eyJhbGciOiJSUzI1NiIs...",
  "refresh_token": "dGhpcyBpcyBhIHJlZnJlc2g...",
  "token_type": "bearer",
  "expires_in": 900,
  "requires_email_verification": false,
  "last_login_method": null
}
access_token
string
JWT access token.
refresh_token
string
Refresh token (single-use chain).
token_type
string
Always bearer.
expires_in
integer
Access token lifetime in seconds.
requires_email_verification
boolean
false when email verification is off and tokens are returned.
last_login_method
string | null
Previous sign-in method for UX hints (null on first registration).

Status codes

CodeMeaning
201User created
400Password validation failed
403Registration disabled, user limit, IP block, or firewall deny
409Email already registered
429Rate limited