Register
OpenAPI contract
- Method
- POST
- Path
/api/v1/auth/register- Security
- None
- Response status
- 201 400 409 429 500
Request and response schemas
JSON
{
"requestBody": {
"application/json": {
"$ref": "#/components/schemas/RegisterRequest"
}
},
"responses": {
"201": {
"description": "Account created",
"content": {
"application/json": {}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"$ref": "#/components/schemas/RequestError"
}
}
},
"409": {
"description": "Username or email is already registered",
"content": {
"application/json": {
"$ref": "#/components/schemas/ApiError"
}
}
},
"429": {
"description": "Rate limit exceeded",
"content": {
"application/json": {
"$ref": "#/components/schemas/SecurityError"
}
}
},
"500": {
"description": "Unexpected server error",
"content": {
"application/json": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}POST /api/v1/auth/register is public. Send username, email, and password as JSON. Usernames are 3–50 characters and may contain letters, digits, underscores, and hyphens. Passwords are 8–100 characters and must include uppercase, lowercase, and a digit.
On success, the service confirms registration; it does not issue session tokens. Validation failures are rejected, and an existing username or email is reported as a conflict. Never log or retain the submitted password.
http
POST /api/v1/auth/register
Content-Type: application/json