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:
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 0 | Page index |
size | integer | 20 | Items per page |
search | string | — | Search 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"
}
}