Skip to content

List external users from IDP

GET
/api/v1/external-users
curl --request GET \
--url https://localhost:8080/api/v1/external-users \
--header 'Authorization: <Authorization>'

Get a list of users from the configured identity provider (e.g., Keycloak, Auth0), showing which users exist in the IDP but may not yet exist in the platform

limit
integer

Number of users to return (default: 100, max: 100)

offset
integer

Number of users to skip

email
string

Filter by email address

username
string

Filter by username

List of external users

Media type application/json

A page of IDP users, with the provider they came from

object
pagination

The limit and offset slice a list response was built from, with the total available

object
limit
integer
offset
integer
provider

The identity provider that produced the surrounding response

object
name
string
type
string
total
integer
users
Array<object>

A user as the IDP reports them, flagged with whether they already exist on the platform

object
active
boolean
createdAt
string format: date-time
displayName
string
email
string
emailVerified
boolean
existsInPlatform
boolean
firstName
string
groups
Array<string>
id
string
lastLoginAt
string format: date-time
lastName
string
metadata
object
key
additional properties
pictureUrl
string
platformUserId
string
roles
Array<string>
updatedAt
string format: date-time
username
string
Example generated
{
"pagination": {
"limit": 1,
"offset": 1
},
"provider": {
"name": "example",
"type": "example"
},
"total": 1,
"users": [
{
"active": true,
"createdAt": "2026-04-15T12:00:00Z",
"displayName": "example",
"email": "example",
"emailVerified": true,
"existsInPlatform": true,
"firstName": "example",
"groups": [
"example"
],
"id": "example",
"lastLoginAt": "2026-04-15T12:00:00Z",
"lastName": "example",
"metadata": {
"additionalProperty": "example"
},
"pictureUrl": "example",
"platformUserId": "example",
"roles": [
"example"
],
"updatedAt": "2026-04-15T12:00:00Z",
"username": "example"
}
]
}

Bad request - Invalid user listing parameters

Media type application/json

Error body returned across the auth endpoints; the message is human-readable and not a stable identifier

object
error
string
error_description
string
Example
{
"error": "Unauthorized",
"error_description": "Invalid token"
}

Unauthorized

Media type application/json

Error body returned across the auth endpoints; the message is human-readable and not a stable identifier

object
error
string
error_description
string
Example
{
"error": "Unauthorized",
"error_description": "Invalid token"
}

Forbidden - requires Organization Owner role

Media type application/json

Error body returned across the auth endpoints; the message is human-readable and not a stable identifier

object
error
string
error_description
string
Example
{
"error": "Unauthorized",
"error_description": "Invalid token"
}

Internal server error

Media type application/json

Error body returned across the auth endpoints; the message is human-readable and not a stable identifier

object
error
string
error_description
string
Example
{
"error": "Unauthorized",
"error_description": "Invalid token"
}

Not Implemented - IDP does not support user listing

Media type application/json

Error body returned across the auth endpoints; the message is human-readable and not a stable identifier

object
error
string
error_description
string
Example
{
"error": "Unauthorized",
"error_description": "Invalid token"
}