List all users in the user's organization
GET /v1/users
Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Rows per page. Defaults to 25, max 100; zero is rejected.
1-indexed page number. Defaults to 1; zero is rejected.
Freetext ILIKE across first_name, last_name, and email. Empty
or missing → no filter.
Partial (ILIKE) match on first_name.
Partial (ILIKE) match on email.
true returns only active members (deactivated_date IS NULL);
false returns only deactivated; absent returns both.
Role UUIDs — matches members holding any of the listed roles.
Inclusive lower bound on organization_user.joined_date.
Inclusive upper bound on organization_user.joined_date.
Restrict to active users holding this permission label (e.g.
risks:read). Resolution is over active members only, so combining
this with active=false yields an empty response. Unknown labels: 400.
Restrict to these user IDs (?ids=<uuid>&ids=<uuid>). Collected into a
set, so repeats collapse; max 500 distinct. Does NOT override active.
Responses
Section titled “ Responses ”List all users in the organization
Paginated list envelope: { "results": [...], "pagination": {...} }.
object
Pagination metadata describing the slice.
object
1-indexed page number of this result slice.
Number of items requested per page.
Total number of matching items across all pages.
Total number of pages at this page size.
The items on this page.
object
Relative path to the user’s avatar endpoint, e.g.
"users/{id}/avatar?v={hash}". None when the user has no avatar.
Kind of principal an OrganizationMember represents. Always HUMAN on the
/v1/users endpoint today; included on the wire so consumers have a single
discriminator regardless of which endpoint surfaced the row.
Wire format is SCREAMING_SNAKE_CASE so the values read as constants (HUMAN,
SERVICE_ACCOUNT).
Unknown permission label, or ids exceeds 500