List an organization's members
/api/v1/organizations/{id}/membersLists the organization's members: each row is the membership (its status, source and joined_at), the member's identity, and roles, every role assignment the member holds in the organization, at its node and beneath, with the node and the effective window. Active members by default; status=deactivated lists those who left and status=all both. Paginated; q searches name and email, role_id keeps members holding that role anywhere in the organization. Requires the rbac.view_assignments permission at the organization.
Authentication
Authorization Option A JWT access token. Never send alongside X-API-Key: a request carrying both is refused.
X-API-Key Option B API key for management-tier access. Never send alongside an Authorization header: a request carrying both is refused.
Path Parameters
idstring Required Query Parameters
pagenumber Optional Page number (1-based)
takenumber Optional Items per page (1-100, default 20)
qstring Optional Search member names and emails
sort_byenum Optional Sort column. Defaults to `joined`, longest-standing member first.
orderenum Optional Sort direction
role_idstring · uuid Optional Only members holding this role anywhere in the organization, at its node or beneath
statusenum Optional Which memberships to list: `active` (the default), `deactivated` for members who left, or `all`
Responses
application/json
items *OrganizationMemberResponseDto[]pagination *PageMetaDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
Pagination
This endpoint returns a paginated collection. Use the query parameters below to page through results.
pagenumberPage number (1-indexed). Defaults to 1.
takenumberItems per page (1 to 100). Defaults to 20.
Each response includes an items array alongside a pagination object with item_count, page_count, has_previous_page, and has_next_page fields.
Returned object
curl -X GET "https://auth.canopy-io.com/api/v1/organizations/value/members?page=0&take=0&q=value&sort_by=name&order=asc&role_id=value&status=active" \ -H "X-API-Key: $CANOPY_API_KEY"
{ "items": [ { "id": "string", "identity": { "id": "string", "email": "string", "first_name": "string", "last_name": "string" }, "status": "active", "source": "added", "joined_at": "2026-04-20T12:00:00.000Z", "deactivated_at": "2026-04-20T12:00:00.000Z", "roles": [ { "id": "string", "role": { "id": "string", "name": "string" }, "node": { "id": "string", "name": "string", "node_type": "string" }, "effective_from": "2026-04-20T12:00:00.000Z", "effective_to": "2026-04-20T12:00:00.000Z", "version": 0 } ], "version": 0 } ], "pagination": { "page": 0, "take": 0, "item_count": 0, "page_count": 0, "has_previous_page": false, "has_next_page": false } }
Tell us how we can improve this guide.