Skip to content

List all users in the user's organization

GET
/v1/users
page_size
integer | null format: int64
page
integer | null format: int64
last_login
string | null format: date-time
joined_date
string | null format: date-time
last_name
string | null
order_by
string | null
query
string | null

Freetext ILIKE across first_name, last_name, and email. Empty or missing → no filter.

first_name
string | null

Partial (ILIKE) match on first_name.

email
string | null

Partial (ILIKE) match on email.

active
boolean | null

true returns only active members (deactivated_date IS NULL); false returns only deactivated; absent returns both.

roles
array | null

Role UUIDs — matches members holding any of the listed roles.

created_after
string | null format: date-time

Inclusive lower bound on organization_user.joined_date.

created_before
string | null format: date-time

Inclusive upper bound on organization_user.joined_date.

List all users in the organization

object
total
integer
0
users
Array
default:
object
email
required
string
first_name
required
string
icon

Relative path to the user’s avatar endpoint, e.g. "users/{id}/avatar?v={hash}". None when the user has no avatar.

string | null
id
required
string format: uuid
last_name
required
string
deactivated_date
string | null format: date-time
joined_date
required
string format: date-time
kind
required

Kind of principal an OrganizationMember represents. Always HUMAN on the /v1/users endpoint today; included on the wire so frontend consumers have a single discriminator regardless of which endpoint surfaced the row.

Wire format is SCREAMING_SNAKE_CASE so these read as constants (HUMAN, SERVICE_ACCOUNT); the DB-side organization_user_kind enum stores the snake_case form ('human', 'service_account') and gets translated by the From<OrganizationUserKind> impl below.

string
Allowed values: HUMAN INTEGRATION SERVICE_ACCOUNT
last_login
string | null format: date-time
roles
required
Array<string>