Skip to main content
GET
https://sandbox.getcollate.io/api
/
v1
/
users
GET /v1/users
from metadata.sdk import configure
from metadata.sdk.entities import Users

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# List first page
users = Users.list(limit=50)
for user in users.data:
    print(f"{user.fullyQualifiedName}")

# List all with auto-pagination
for user in Users.list_all():
    print(f"{user.fullyQualifiedName}")

# Filter by team with fields
users = Users.list(
    team="Sales",
    fields=["teams", "roles", "domains"],
    limit=50
)

for user in users.data:
    print(f"{user.fullyQualifiedName}")
    if user.teams:
        print(f"  Teams: {[t.name for t in user.teams]}")
    if user.roles:
        print(f"  Roles: {[r.name for r in user.roles]}")

# Filter bot accounts
bots = Users.list(isBot=True, limit=50)
{
  "data": [
    {
      "id": "77655e6e-ad33-49da-bbca-db4ba4d4e2cd",
      "name": "aaron_johnson0",
      "fullyQualifiedName": "aaron_johnson0",
      "displayName": "Aaron Johnson",
      "version": 0.1,
      "updatedAt": 1769982624214,
      "updatedBy": "admin",
      "email": "[email protected]",
      "href": "http://localhost:8585/api/v1/users/77655e6e-ad33-49da-bbca-db4ba4d4e2cd",
      "isBot": false,
      "isAdmin": false,
      "allowImpersonation": false,
      "teams": [
        {
          "id": "7a2b921b-f623-4eb5-9736-649788ad842c",
          "type": "team",
          "name": "Sales",
          "fullyQualifiedName": "Sales",
          "displayName": "Sales",
          "deleted": false
        }
      ],
      "personas": [],
      "deleted": false,
      "roles": [
        {
          "id": "761c2bb2-0b77-4bc5-9af9-cf89536d6a12",
          "type": "role",
          "name": "DataSteward",
          "fullyQualifiedName": "DataSteward",
          "displayName": "Data Steward",
          "deleted": false
        }
      ],
      "domains": []
    }
  ],
  "paging": {
    "after": "...",
    "total": 117
  }
}

List Users

List all users with optional filtering and pagination.

Query Parameters

limit
integer
default:"10"
Maximum number of results to return (max: 1000000).
before
string
Cursor for backward pagination.
after
string
Cursor for forward pagination.
fields
string
Comma-separated list of fields to include: teams, roles, personas, domains, follows, owns. See Supported Fields below.
include
string
default:"non-deleted"
Include all, deleted, or non-deleted entities.
isBot
boolean
Filter by bot status. Set to true to list only bot accounts, false for human users only.
isAdmin
boolean
Filter by admin status. Set to true to list only admin users.
team
string
Filter by team name. Returns only users belonging to the specified team.
GET /v1/users
from metadata.sdk import configure
from metadata.sdk.entities import Users

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# List first page
users = Users.list(limit=50)
for user in users.data:
    print(f"{user.fullyQualifiedName}")

# List all with auto-pagination
for user in Users.list_all():
    print(f"{user.fullyQualifiedName}")

# Filter by team with fields
users = Users.list(
    team="Sales",
    fields=["teams", "roles", "domains"],
    limit=50
)

for user in users.data:
    print(f"{user.fullyQualifiedName}")
    if user.teams:
        print(f"  Teams: {[t.name for t in user.teams]}")
    if user.roles:
        print(f"  Roles: {[r.name for r in user.roles]}")

# Filter bot accounts
bots = Users.list(isBot=True, limit=50)
{
  "data": [
    {
      "id": "77655e6e-ad33-49da-bbca-db4ba4d4e2cd",
      "name": "aaron_johnson0",
      "fullyQualifiedName": "aaron_johnson0",
      "displayName": "Aaron Johnson",
      "version": 0.1,
      "updatedAt": 1769982624214,
      "updatedBy": "admin",
      "email": "[email protected]",
      "href": "http://localhost:8585/api/v1/users/77655e6e-ad33-49da-bbca-db4ba4d4e2cd",
      "isBot": false,
      "isAdmin": false,
      "allowImpersonation": false,
      "teams": [
        {
          "id": "7a2b921b-f623-4eb5-9736-649788ad842c",
          "type": "team",
          "name": "Sales",
          "fullyQualifiedName": "Sales",
          "displayName": "Sales",
          "deleted": false
        }
      ],
      "personas": [],
      "deleted": false,
      "roles": [
        {
          "id": "761c2bb2-0b77-4bc5-9af9-cf89536d6a12",
          "type": "role",
          "name": "DataSteward",
          "fullyQualifiedName": "DataSteward",
          "displayName": "Data Steward",
          "deleted": false
        }
      ],
      "domains": []
    }
  ],
  "paging": {
    "after": "...",
    "total": 117
  }
}

Returns

Returns a paginated list of user objects. By default, only basic fields are included. Use the fields parameter to request additional data.

Response

data
array
Array of user objects.
paging
object
Pagination information.

Supported Fields

The following fields can be requested via the fields query parameter:
FieldDescription
teamsTeams the user belongs to
rolesRoles assigned to the user
personasPersonas assigned to the user
domainsDomain assignments for governance
followsEntities the user follows
ownsEntities owned by the user

Error Handling

CodeError TypeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission to list users