Authentication

Authenticate using email/password or PIN (for POS terminals). All requests require a Bearer token.

POST/auth/register

Register a new organization

{
  "email": "string (email)",
  "password": "string (min 8 chars)",
  "firstName": "string",
  "lastName": "string",
  "organizationName": "string",
  "organizationSlug": "string (optional)"
}
POST/auth/login

Login with email and password

{
  "email": "string (email)",
  "password": "string"
}
POST/auth/pin-login

Quick login via PIN (POS terminals)

{
  "pin": "string (4-6 digits)",
  "locationId": "uuid"
}
POST/auth/refresh

Refresh authentication token

{
  "refreshToken": "string"
}
POST/auth/logout

Logout user

{
  "refreshToken": "string (optional)"
}
POST/auth/set-pin

Set user PIN

{
  "pin": "string (4-6 digits)"
}
POST/auth/users/{userId}/reset-pin

Reset user PIN (Admin/Owner only)

{}