Entity User Service

Back

Overview

The Entity User Service manages users within the system. Each user is linked to an Entity (customer or supplier) and assigned a Role that controls their permissions.

Users can self-register, manage their own profile and password, or be created and managed by admins.

All admin operations require specific permissions. Self-service operations require authentication only.


Endpoints

Back to Entities


POST

/api/v1/users/register

Registers a new web user. A new Entity is automatically created — EntityId cannot be supplied.

Authorization:

Request body (RegisterWebUserRequest):

Behavior:

Response:


POST

/api/v1/users/reset-password

Requests a password reset link for the given email.

Authorization:

Request body (ResetPasswordRequest):

Behavior:

Response:


POST

/api/v1/users/reset-password/confirm

Confirms a password reset using the token issued by reset-password.

Authorization:

Request body (ConfirmResetPasswordRequest):

Response:


GET

/api/v1/users/me

Returns the current authenticated user's profile.

Authorization:

Response:


PUT

/api/v1/users/me

Updates the current authenticated user's profile.

Authorization:

Request body (UpdateUserRequest):

Response:


POST

/api/v1/users/me/change-password

Changes the current authenticated user's password.

Authorization:

Request body (ChangePasswordRequest):

Response:


GET

/api/v1/users

Returns a paginated list of all users.

Authorization:

Query parameters:

Response:


GET

/api/v1/users/{id}

Returns a single user by their ID.

Authorization:

Route parameters:

Response:


POST

/api/v1/users

Creates a new user and assigns them to an existing entity with a role.

Authorization:

Request body (CreateUserRequest):

Response:


PUT

/api/v1/users/{id}

Updates a user's details (admin).

Authorization:

Route parameters:

Request body (AdminUpdateUserRequest):

Response:


POST

/api/v1/users/{id}/reset-password

Admin resets a user's password directly.

Authorization:

Route parameters:

Request body (AdminResetPasswordRequest):

Response:


POST

/api/v1/users/{id}/deactivate

Deactivates a user. Cannot deactivate your own account.

Authorization:

Route parameters:

Response:


DELETE

/api/v1/users/{id}

Permanently deletes a user. Cannot delete your own account.

Authorization:

Route parameters:

Response:


Models

UserResponse

Returned by all read/create/update operations.

Fields:

UserListResponse

Returned by GET /api/v1/users.

Fields:


Notes