Imran Bohoran
05/26/2026, 12:46 PMdavid
05/26/2026, 12:51 PMGET /v2/facts/{proj_id}/{env_id}/role_assignments
— or
/role_assignments/detailed for inlined user/role/tenant objects.
Each result includes user, role, tenant, resource_instance, project_id, and environment_id — ideal for a compliance export.
A few notes:
• It's scoped per environment, so loop over each project/env pair (GET /v2/projects, then GET /v2/projects/{proj_id}/envs).
• Paginate with page / per_page (max 100); use include_total_count=true.
• Use a project- or org-scoped API key.
Reference: List Role AssignmentsOr Weis
05/26/2026, 12:58 PMAsk Inkeep
05/26/2026, 12:58 PMAsk Inkeep
05/26/2026, 12:58 PMAsk Inkeep
05/26/2026, 12:59 PMOr Weis
05/26/2026, 1:02 PMAsk Inkeep
05/26/2026, 1:02 PMAsk Inkeep
05/26/2026, 1:02 PMGET /v2/orgs/{org_id}/members
This returns workspace members (developers, admins managing Permit.io itself) with their workspace-level roles like Workspace Owner, Workspace Editor, or Workspace Viewer. (1)
*2. End Users (application users with role assignments) :*
For your application's end users and their assigned roles across projects/environments, use:
GET /v2/facts/{proj_id}/{env_id}/role_assignments/detailed (2)
This returns role assignments with user, role, tenant, resource_instance, project_id, and environment_id information. Since this is scoped per environment, you'll need to loop through each project and environment to get complete coverage. (3)
For compliance auditing purposes, you'll likely need *both* datasets:
• Workspace members (who manages your authorization system)
• End user role assignments (who has access to what in your application)
TheAsk Inkeep
05/26/2026, 1:02 PM