---
title: "Register New User Account"
method: POST
path: "/api/v1/register"
tags: ["v1", "authentication"]
---

# Register New User Account

`POST /api/v1/register`

Create a new user account for ReelAPI access.

This endpoint allows creation of new user accounts with role-based permissions.

## User Roles
- **operator** - Standard reel operation and monitoring access
- **admin** - Full system administration capabilities
- **sys_admin** - System administrator with all permissions including serial number updates

## Registration Control
Registration availability is controlled by system configuration. Check registration status using the `/registration-status` endpoint before attempting registration.

**NOTE**: This endpoint is disabled until further development for Role-Based Access Controls are completed.

## Request body

- UserRegister — User registration request with credential validation. Contains the required information for creating a new user account including username, password, and role assignment.
  - `username` string, required — Unique username for the new account. **Validation Requirements:** - **Length**: 6-64 characters (system configured) - **Characters**: Alphanumeric and underscores only (a-z, A-Z, 0-9, _) - **Format Rules**: Cannot start or end with underscore, no consecutive underscores - **Uniqueness**: Must not exist in user database - **Pattern**: Must match `^[a-zA-Z0-9_]+$` regex **Examples:** - Valid: `operator_1`, `admin_user`, `monitoring`, `user123` - Invalid: `ab` (too short), `_admin` (starts with underscore), `user__name` (consecutive underscores), `user name` (spaces), `user@domain` (special chars), `admin_` (ends with underscore)
  - `password` string, password, required — Secure password for account authentication. **Security Requirements:** - **Minimum Length**: 6 characters (system configured) - **Maximum Length**: 64 characters (system configured)
  - `user_role` 'operator' | 'admin', nullable — Role assignment for access control and permissions. **Available Roles:** - **operator** (default) - Standard reel operation and monitoring - **admin** - Full system administration and configuration **Role Permissions:** - **operator**: Reel control, calibration, settings modification - **admin**: All operator permissions plus user management, system configuration **Default Assignment**: New users receive 'operator' role unless specified

## Response `201`

Successfully created user account with username confirmation

- UserRegisterResponse — Response confirming successful user account creation. Returns the username of the newly created account for confirmation.
  - `username` string, required — Username of the successfully created account. **Confirmation**: Matches the username provided in registration request **Account Status**: Account is immediately active and ready for login **Next Steps**: Use this username with provided password to login via `/login`

## Other responses

- `403` — Registration is currently closed
- `409` — Username already exists
- `422` — Validation error in registration data
- `500` — Internal server error

---

[API](https://skmtc.net/reach-systems-tech/apis/reelapi-v1.md) · [All operations](https://skmtc.net/reach-systems-tech/apis/reelapi-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reach-systems-tech/reelapi-v1/versions/1dd366a9c6a3/schema)
