Skip to main content

Overview

The Users API provides comprehensive user management capabilities including registration, profile management, search, and user-role assignments.

Get User Profile

Retrieve the authenticated user’s profile information.
curl -X GET https://api.example.com/api/v1/identity/profile \
  -H "Authorization: Bearer {access_token}"

HTTP Request

GET /api/v1/identity/profile

Authorization

Requires valid JWT authentication. User ID is extracted from the access token.

Response

id
string
User’s unique identifier
userName
string
User’s username
firstName
string
User’s first name
lastName
string
User’s last name
email
string
User’s email address
isActive
boolean
Whether the user account is active
emailConfirmed
boolean
Whether the user’s email has been confirmed
phoneNumber
string
User’s phone number (optional)
imageUrl
string
URL to user’s profile image (optional)

Response Example

{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "userName": "john.doe",
  "firstName": "John",
  "lastName": "Doe",
  "email": "[email protected]",
  "isActive": true,
  "emailConfirmed": true,
  "phoneNumber": "+1234567890",
  "imageUrl": "https://storage.example.com/avatars/john.jpg"
}

Update User Profile

Update profile details for the authenticated user.
curl -X PUT https://api.example.com/api/v1/identity/profile \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "John",
    "lastName": "Doe",
    "phoneNumber": "+1234567890",
    "email": "[email protected]"
  }'

HTTP Request

PUT /api/v1/identity/profile

Authorization

Requires Permissions.Users.Update permission.

Request Body

firstName
string
User’s first name
lastName
string
User’s last name
phoneNumber
string
User’s phone number
email
string
User’s email address
image
FileUploadRequest
Profile image file upload request
deleteCurrentImage
boolean
default:"false"
Flag to delete the current profile image

Response

Returns 200 OK on successful update.

Register User

Create a new user account (admin operation).
curl -X POST https://api.example.com/api/v1/identity/register \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "Jane",
    "lastName": "Smith",
    "email": "[email protected]",
    "userName": "jane.smith",
    "password": "SecurePass123!",
    "confirmPassword": "SecurePass123!",
    "phoneNumber": "+1987654321"
  }'

HTTP Request

POST /api/v1/identity/register

Authorization

Requires Permissions.Users.Create permission.

Request Body

firstName
string
required
User’s first name
lastName
string
required
User’s last name
email
string
required
User’s email address (must be unique)
userName
string
required
Username for login (must be unique)
password
string
required
User’s password (minimum 6 characters)
confirmPassword
string
required
Password confirmation (must match password)
phoneNumber
string
User’s phone number (optional)

Response

Returns a RegisterUserResponse with user details.

Get User by ID

Retrieve a user’s profile details by their unique identifier.
curl -X GET https://api.example.com/api/v1/identity/users/{userId} \
  -H "Authorization: Bearer {access_token}"

HTTP Request

GET /api/v1/identity/users/{id}

Authorization

Requires Permissions.Users.View permission.

Path Parameters

id
guid
required
The unique identifier of the user

Response

Returns a UserDto object with user details (same structure as Get User Profile).

Search Users

Search and filter users with server-side pagination, sorting, and filtering.
curl -X GET "https://api.example.com/api/v1/identity/users/search?pageNumber=1&pageSize=10&search=john&isActive=true" \
  -H "Authorization: Bearer {access_token}"

HTTP Request

GET /api/v1/identity/users/search

Authorization

Requires Permissions.Users.View permission.

Query Parameters

pageNumber
integer
Page number for pagination (1-based)
pageSize
integer
Number of items per page
sort
string
Sort expression (e.g., “firstName asc”, “email desc”)
Search term to filter users by name, email, or username
isActive
boolean
Filter by active status
emailConfirmed
boolean
Filter by email confirmation status
roleId
string
Filter users by assigned role ID

Response

data
array<UserDto>
Array of user objects matching the search criteria
totalCount
integer
Total number of matching users
pageNumber
integer
Current page number
pageSize
integer
Number of items per page

Response Example

{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "userName": "john.doe",
      "firstName": "John",
      "lastName": "Doe",
      "email": "[email protected]",
      "isActive": true,
      "emailConfirmed": true,
      "phoneNumber": "+1234567890",
      "imageUrl": "https://storage.example.com/avatars/john.jpg"
    }
  ],
  "totalCount": 45,
  "pageNumber": 1,
  "pageSize": 10
}

Delete User

Delete a user by their unique identifier.
curl -X DELETE https://api.example.com/api/v1/identity/users/{userId} \
  -H "Authorization: Bearer {access_token}"

HTTP Request

DELETE /api/v1/identity/users/{id}

Authorization

Requires Permissions.Users.Delete permission.

Path Parameters

id
guid
required
The unique identifier of the user to delete

Response

Returns 204 No Content on successful deletion.

Additional User Endpoints

Get User Roles

GET /api/v1/identity/users/{id}/roles - Get roles assigned to a specific user

Assign User Roles

POST /api/v1/identity/users/{id}/roles - Assign roles to a user

Change Password

POST /api/v1/identity/users/change-password - Change the current user’s password

Toggle User Status

POST /api/v1/identity/users/{id}/toggle-status - Activate or deactivate a user account

Confirm Email

POST /api/v1/identity/users/confirm-email - Confirm user’s email address

Forgot Password

POST /api/v1/identity/users/forgot-password - Initiate password reset process

Reset Password

POST /api/v1/identity/users/reset-password - Reset password with reset token

Build docs developers (and LLMs) love