POST /api/v1/auth/sign_up
Register a new user. By default the user is created with the client role.
If invite_token is provided — the user is linked to a salon invitation and receives the professional role.
Request
POST /api/v1/auth/sign_up
Content-Type: application/json
{
"authentication": {
"email": "user@example.com",
"phone": "+37369000000",
"password": "secret123",
"password_confirmation": "secret123",
"role": "client",
"invite_token": "optional_token"
}
}
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | |
phone | string | Yes | |
password | string | Yes | |
password_confirmation | string | Yes | Must match password |
role | string | No | client (default) |
invite_token | string | No | Accept a salon team invitation |
Response 201
{
"success": true,
"status": "201",
"message": "Registration successful",
"errors": null,
"data": {
"user": {
"id": "uuid",
"email": "user@example.com",
"phone": "+37369000000",
"role": "client",
"confirmed_at": null
},
"access_token": "<jwt>",
"refresh_token": "<jwt>",
"expires_at": "2026-04-06T12:15:00Z"
}
}
Response 422 — Validation error
{
"success": false,
"status": "422",
"message": "Validation failed",
"errors": {
"email": ["has already been taken"],
"password_confirmation": ["doesn't match Password"]
},
"data": null
}