Manage Users
List users
Use List Users to fetch all users under a client. Supports optional filtering and cursor-based pagination.
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
customerHashId | string | No | Filter by customer. |
status | string | No | Filter by user status (e.g. clear, pending, suspended). |
accessType | string | No | Filter by view or edit. |
externalId | string | No | Filter by your reference ID. |
limit | integer | No | Number of results per page. Default: 10. |
startingAfter | string | No | Cursor for the next page (use the last userHashId from the previous response). |
endingBefore | string | No | Cursor for the previous page. |
Request:
GET /api/v1/client/{clientHashId}/users?customerHashId=df35f425-e2f2-4cfc-b07b-5e62e84cd8e6&limit=10
Response:
{
"users": [
{
"userHashId": "a3b4c5d6-e7f8-9012-abcd-ef1234567890",
"firstName": "Lue",
"lastName": "Schuster",
"email": "lue.schuster@example.com",
"status": "clear",
"accessType": "edit",
"kycStatus": "verified"
},
{
"userHashId": "c5d6e7f8-a9b0-1234-cdef-123456789012",
"firstName": "Default",
"lastName": "User",
"email": "default@example.com",
"status": "clear",
"accessType": "view",
"kycStatus": "kyc_not_required"
}
],
"pagination": {
"hasMore": false
}
}
Get user
Use Get User to fetch the full profile for a specific user.
Request:
GET /api/v1/client/{clientHashId}/user/{userHashId}
Response:
{
"userHashId": "a3b4c5d6-e7f8-9012-abcd-ef1234567890",
"externalId": "fdbfe7ee-310c-4896-902d-2821a3db0592",
"firstName": "Lue",
"middleName": "Heather",
"lastName": "Schuster",
"email": "lue.schuster@example.com",
"nationality": "FR",
"dateOfBirth": "1990-03-03",
"status": "clear",
"accessType": "edit",
"kycStatus": "verified",
"kycMode": "biometric_kyc",
"customerHashId": "df35f425-e2f2-4cfc-b07b-5e62e84cd8e6",
"isDefaultUser": false,
"userType": "customer_user",
"region": "EU"
}
Update user
Use Update User to change a user's profile details or access type.
Key rules:
externalIdmust match the existing value — it cannot be changed.regionmust match the user's existing region.middleNameandtagsare cleared if omitted from the request body.
Required fields: region, accessType, externalId, firstName, lastName, nationality, dateOfBirth, email, deviceDetails
Request:
PUT /api/v1/client/{clientHashId}/user/{userHashId}
Content-Type: application/json
{
"region": "EU",
"externalId": "fdbfe7ee-310c-4896-902d-2821a3db0592",
"accessType": "view",
"firstName": "Lue",
"lastName": "Schuster",
"nationality": "FR",
"dateOfBirth": "1990-03-03",
"email": "lue.schuster@example.com",
"deviceDetails": {
"ipCountryCode": "IN",
"deviceInfo": "Macintosh; Intel Mac OS X",
"ipAddress": "167.103.24.253",
"sessionId": "5aadd5c9-7174-40ff-9da4-a03fee2456b6"
}
}
The response returns the updated user profile.
note
To suspend or permanently revoke a user's access, use the Suspend / Revoke User API.