Skip to main content

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"
}
}
FieldTypeRequiredDescription
emailstringYes
phonestringYes
passwordstringYes
password_confirmationstringYesMust match password
rolestringNoclient (default)
invite_tokenstringNoAccept 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
}