Skip to content

List end users.

GET
/api/admin/users
Code sample: Shell / cURL
curl --request GET \
--url https://auth.example.com/api/admin/users \
--header 'Authorization: Bearer <token>'

Includes regular and guest (anonymous) accounts. Sharded browsing excludes administrator and service accounts. List canonical runtime users with optional search, verification, PII status, and lifecycle filters. Sharded assignments use bounded fan-out and an opaque cursor. Exact identifier search resolves one account route through Lookup instead of scanning all shards. A cursor whose signed shard-set generation is stale returns cursor_stale; clients should restart from the first page. While a newly provisioned shard is being published to the signed runtime registry, exact search returns retryable 503 instead of a generic internal error.

X-Tenant-Id
string

Tenant selector for multi-tenant admin requests.

page
integer
>= 1
limit
integer
>= 1 <= 500
search
string

Exact email address or account identifier for a routed account. Search resolves the signed Lookup route and does not scan unrelated assignments.

cursor
string
<= 16384 characters

Opaque signed continuation cursor returned by a sharded assignment response.

Admin end-user list response.

Media type application/json
object
users
required
Array<object>
object
id
required
string
tenant_id
required
string
email
required
string | null format: email
name
required
string | null
given_name
required
string | null
family_name
required
string | null
nickname
required
string | null
preferred_username
required
string | null
picture
required
string | null format: uri
email_verified
required
boolean
phone_number
required
string | null
website
required
string | null
gender
required
string | null
birthdate
required
string | null
locale
required
string | null
zoneinfo
required
string | null
address_formatted
required
string | null
address_street_address
required
string | null
address_locality
required
string | null
address_region
required
string | null
address_postal_code
required
string | null
address_country
required
string | null
declared_residence
required
string | null
pii_class
required
string
Allowed values: PROFILE
phone_number_verified
required
boolean
registration_state

Human registration state, independent of operational status. Present for human accounts.

string
Allowed values: guest registered
user_type
required
string
is_active
required
boolean
pii_partition
required
string
pii_status
required
string
Allowed values: active deleted
lifecycle_state
required
string
created_at
required

Unix timestamp in milliseconds.

integer | null format: int64
updated_at
required

Unix timestamp in milliseconds.

integer | null format: int64
last_login_at
required
integer | null format: int64
status
required
string
Allowed values: active inactive suspended locked deleted
suspended_at
required
integer | null format: int64
suspended_until
required
integer | null format: int64
locked_at
required
integer | null format: int64
locked_until
required
integer | null format: int64
key
additional properties
pagination
required
One of:
object
page
required
integer
>= 1
limit
required
integer
>= 1
total
required
integer
totalPages
required
integer
hasNext
required
boolean
hasPrev
required
boolean
Example
{
"users": [
{
"id": "user_123",
"tenant_id": "default",
"email": "user@example.com",
"name": "Example User",
"given_name": "Example",
"family_name": "User",
"nickname": null,
"preferred_username": "example",
"picture": "https://auth.example.com/api/avatars/user_123.png",
"phone_number": null,
"website": null,
"gender": null,
"birthdate": null,
"locale": "en-US",
"zoneinfo": "UTC",
"address_formatted": null,
"address_street_address": null,
"address_locality": null,
"address_region": null,
"address_postal_code": null,
"address_country": null,
"declared_residence": null,
"pii_class": "PROFILE",
"email_verified": true,
"phone_number_verified": false,
"user_type": "end_user",
"is_active": true,
"pii_partition": "default",
"pii_status": "active",
"created_at": 1770000000000,
"updated_at": 1770003600000,
"last_login_at": null,
"status": "active",
"suspended_at": null,
"suspended_until": null,
"locked_at": null,
"locked_until": null,
"lifecycle_state": "active"
}
],
"pagination": {
"mode": "cursor"
}
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

The tenant runtime route is being refreshed after a storage topology change. Retry the exact search after the Retry-After delay.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}
Retry-After
integer
>= 1
Example
5

Minimum suggested delay before retrying, in seconds.