Query parameters
-
Page number
Minimum value is
1
. Default value is1
. -
Items per page
Minimum value is
1
, maximum value is100
. Default value is20
. -
Search term
Minimum length is
1
. -
Field to sort users by
Values are
name
,email
,username
,created_at
,updated_at
,latest_login_at
, ororganization
. -
Sort direction
Values are
asc
ordesc
. Default value isasc
.
GET
/users
curl \
--request GET 'https://api.your-domain.com/api/users' \
--header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
"code": 200,
"message": "users retrieved successfully",
"data": {
"users": [
{
"id": "usr_123456789",
"logto_id": "user_abc123def456",
"username": "john.doe",
"email": "john@example.com",
"name": "John Doe",
"phone": "+39 333 123456",
"organization": {
"id": "12345678-1234-1234-1234-123456789abc",
"logto_id": "org_123456789",
"name": "ACME Corp"
},
"roles": [
{
"id": "rol_admin_123",
"name": "Admin"
}
],
"custom_data": {
"position": "Senior Developer",
"department": "IT"
},
"created_at": "2025-06-20T14:30:00Z",
"updated_at": "2025-06-21T10:45:00Z",
"logto_synced_at": "2025-06-21T10:45:00Z",
"latest_login_at": "2025-06-21T15:30:45Z",
"deleted_at": "2025-05-04T09:42:00Z",
"suspended_at": "2025-05-04T09:42:00Z"
}
],
"pagination": {
"page": 1,
"page_size": 20,
"total_count": 156,
"total_pages": 8,
"has_next": true,
"has_prev": false,
"next_page": 2,
"prev_page": 42,
"sort_by": "name",
"sort_direction": "asc"
}
}
}
Response examples (401)
{
"code": 401,
"message": "invalid token",
"data": {}
}
Response examples (403)
{
"code": 403,
"message": "insufficient permissions",
"data": {}
}