Skip to main content

Register

Create a new user account with email, password, name, and phone number.

Endpoint

POST /auth/register

Request

name
string
required
User’s full name. Must be at least 2 characters.
phone
string
required
User’s phone number. Must be at least 10 characters.
email
string
required
User’s email address. Must be a valid email format and unique.
password
string
required
User’s password. Must be at least 8 characters.
password_confirmation
string
required
Password confirmation. Must match the password field.

Response

success
boolean
Indicates whether the request was successful
message
string
Success message indicating the user was registered successfully
data
object
Response data containing the newly created user information

Example Request

curl -X POST https://api.example.com/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "John Doe",
    "phone": "+1234567890",
    "email": "[email protected]",
    "password": "password123",
    "password_confirmation": "password123"
  }'

Example Response

{
  "success": true,
  "message": "User registered successfully",
  "data": {
    "user": {
      "id": 2,
      "role": "USER",
      "name": "John Doe",
      "email": "[email protected]",
      "phone": "+1234567890"
    }
  }
}

Error Responses

{
  "success": false,
  "message": "The given data was invalid.",
  "errors": {
    "email": [
      "The email has already been taken."
    ]
  }
}
{
  "success": false,
  "message": "The given data was invalid.",
  "errors": {
    "password": [
      "The password confirmation does not match."
    ]
  }
}
{
  "success": false,
  "message": "The given data was invalid.",
  "errors": {
    "name": [
      "The name must be at least 2 characters."
    ]
  }
}
{
  "success": false,
  "message": "The given data was invalid.",
  "errors": {
    "phone": [
      "The phone must be at least 10 characters."
    ]
  }
}
{
  "success": false,
  "message": "The given data was invalid.",
  "errors": {
    "password": [
      "The password must be at least 8 characters."
    ]
  }
}
{
  "success": false,
  "message": "The given data was invalid.",
  "errors": {
    "email": [
      "The email field is required."
    ],
    "password": [
      "The password field is required."
    ],
    "name": [
      "The name field is required."
    ],
    "phone": [
      "The phone field is required."
    ]
  }
}

Build docs developers (and LLMs) love