info: name: Register Admin User type: http seq: 4 http: method: POST url: '{{base_url}}/api/auth/register' auth: inherit body: type: json data: |- { "email": "admin@example.com", "username": "admin", "password": "Admin@Pass123!", "first_name": "Admin", "last_name": "User", "role": "admin" } docs: |- ## Register Admin User Creates a new admin user account with role-based restrictions. **Method:** POST **Endpoint:** /api/auth/register **Request Body:** - `email` (string): Email address - `username` (string): Username - `password` (string): Password - `first_name` (string, optional): First name - `last_name` (string, optional): Last name - `role` (string): Must be "admin" **Response:** - `token` (string): JWT token with admin role - `user` (object): User details - `id` (string): User ID - `email` (string): Email - `username` (string): Username - `theme` (string): User theme preference - `first_name` (string, optional): First name - `last_name` (string, optional): Last name - `role` (string): User role ("admin") **Status Codes:** - 201: Created - 400: Invalid input data - 403: Forbidden - admin creation restrictions apply - 409: User exists **Role Restrictions:** - **First User**: Anyone can create first admin (auto-assigned) - **Existing Admins Present**: Only authenticated admins can create new admin accounts - **Unauthenticated Users**: Cannot create admin accounts if any admin exists - **Security**: Requires admin authentication for subsequent admin creation **Usage Notes:** - Use this request only when specifically creating admin accounts - For regular user creation, use "Register User" request - Admin token will have elevated privileges for administrative operations