Skip to main content

Users API

Manage user accounts. Requires Admin or Super Admin role.

List Users

GET /api/admin/users

Returns a paginated list of users.

Query Parameters:

ParameterTypeDefaultDescription
pageinteger0Page index
sizeinteger20Items per page
searchstringSearch by email or public ID

Response: 200 OK

{
"content": [
{
"publicId": "usr_01j5abc123",
"email": "ryan@intuitiveit.ca",
"applicationRole": "SUPER_ADMIN",
"isEnabled": true,
"isVerified": true,
"createdAt": "2026-01-01T00:00:00"
}
],
"totalPages": 1,
"totalElements": 4
}

Get User Detail

GET /api/admin/users/{publicId}

Returns detailed user information including organization memberships.


Update User

PATCH /api/admin/users/{publicId}

Update user profile fields.

Request Body:

{
"email": "updated@example.com"
}

Update User Role

PATCH /api/admin/users/{publicId}/role

Change a user's application-level role.

Request Body:

{
"applicationRole": "ADMIN"
}

Valid roles: SUPER_ADMIN, ADMIN, MEMBER, GUEST


Lock User

POST /api/admin/users/{publicId}/lock

Disable a user account. The user will not be able to log in.


Unlock User

POST /api/admin/users/{publicId}/unlock

Re-enable a previously locked user account.


Reset Password

POST /api/admin/users/{publicId}/reset-password

Trigger a password reset email for the specified user.


Resend Verification

POST /api/admin/users/{publicId}/resend-verification

Resend the email verification link. Only applicable if the user hasn't verified their email yet.


Get Current User Profile

GET /api/me

Returns the authenticated user's own profile. Does not require admin role.

Response: 200 OK

{
"publicId": "usr_01j5abc123",
"email": "ryan@intuitiveit.ca",
"applicationRole": "SUPER_ADMIN",
"isEnabled": true,
"isVerified": true,
"stripeCustomerId": "cus_U3DF95OotWvzbm",
"roles": ["ROLE_SUPER_ADMIN", "org:1:org_admin"],
"monthlyActionsUsed": 142,
"organizationMemberships": [...],
"subscriptions": [...],
"twoFactor": {
"enabled": true,
"method": "TOTP"
}
}