> ## Documentation Index
> Fetch the complete documentation index at: https://mako-docs.devinagiffy.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Register

> Create a new user account

## Request

<ParamField body="email" type="string" required>
  User's email address
</ParamField>

<ParamField body="password" type="string" required>
  User's password (minimum 8 characters)
</ParamField>

<ParamField body="name" type="string" required>
  User's display name (max 255 characters)
</ParamField>

<ParamField body="organizationId" type="string" required>
  UUID of the organization the user belongs to
</ParamField>

## Response

<ResponseField name="accessToken" type="string">
  JWT token for authenticating subsequent requests
</ResponseField>

<ResponseField name="expiresIn" type="number">
  Token expiration time in seconds
</ResponseField>

<ResponseField name="user" type="object">
  Created user information
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.hitler.app/api/auth/register" \
    -H "Content-Type: application/json" \
    -d '{
      "email": "newuser@company.com",
      "password": "securepassword123",
      "name": "Jane Smith",
      "organizationId": "456e7890-e12b-34d5-a678-426614174000"
    }'
  ```

  ```typescript TypeScript theme={null}
  const response = await api.register({
    email: "newuser@company.com",
    password: "securepassword123",
    name: "Jane Smith",
    organizationId: "456e7890-e12b-34d5-a678-426614174000",
  });
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  {
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expiresIn": 604800,
    "user": {
      "id": "789e0123-e45b-67d8-a901-426614174000",
      "email": "newuser@company.com",
      "name": "Jane Smith",
      "role": "employee",
      "organizationId": "456e7890-e12b-34d5-a678-426614174000"
    }
  }
  ```

  ```json 409 theme={null}
  {
    "statusCode": 409,
    "message": "Email already registered",
    "error": "Conflict"
  }
  ```
</ResponseExample>
