---
title: "listAllRoles"
method: GET
path: "/v1/permissions/roles"
tags: ["Roles"]
---

# listAllRoles

`GET /v1/permissions/roles`

Returns list of all roles in organization

## Response `200`

ok

- object
  - `roles` Role[]
    - union
      - UserRole — A standard user role. Must be explicitly assigned to users.
        - `id` string, required — Format: <organization_id>:<slug>
        - `name` string, required — Human-friendly name for the role
        - `slug` string, required — URL-friendly name for the role
        - `type` 'user_role', required — Type of the role
        - `expires_at` string, date-time — date and time then the role will expire
        - `organization_id` string, required — Id of an organization
        - `grants` Grant[], required — List of grants (permissions) applied to the role
          - `action` string, required
          - `resource` string
          - `effect` 'allow' | 'deny'
          - `conditions` GrantCondition[]
            - union
              - …
        - `parent_role` string — Optional parent role that this role inherits from. Must be an `org_role` or `share_role`.
        - `vendor_created` boolean — Indicates whether this role was created by a vendor organization on behalf of the partner organization.
      - OrgRole — A role automatically applied to all users in an organization.
        - `id` string, required — Format: <organization_id>:<slug>
        - `name` string, required — Human-friendly name for the role
        - `slug` string, required — URL-friendly name for the role
        - `type` 'org_role', required — Type of the role
        - `expires_at` string, date-time — date and time then the role will expire
        - `organization_id` string, required — Id of an organization
        - `grants` Grant[], required — List of grants (permissions) applied to the role
          - `action` string, required
          - `resource` string
          - `effect` 'allow' | 'deny'
          - `conditions` GrantCondition[]
            - union
              - …
        - `pricing_tier` string — The pricing tier of the organization this root role is based on
      - ShareRole — A role that can be assigned to users in other organizations for sharing purposes.
        - `id` string, required — Format: <organization_id>:<slug>
        - `name` string, required — Human-friendly name for the role
        - `slug` string, required — URL-friendly name for the role
        - `type` 'share_role', required — Type of the role
        - `expires_at` string, date-time — date and time then the role will expire
        - `organization_id` string, required — Id of an organization
        - `grants` Grant[], required — List of grants (permissions) applied to the role
          - `action` string, required
          - `resource` string
          - `effect` 'allow' | 'deny'
          - `conditions` GrantCondition[]
            - union
              - …
      - PartnerRole — A role that appears in another organization's role list that can be assigned but not modified by the partner organization.
        - `id` string, required — Format: <organization_id>:<slug>
        - `name` string, required — Human-friendly name for the role
        - `slug` string, required — URL-friendly name for the role
        - `type` 'partner_role', required — Type of the role
        - `expires_at` string, date-time — date and time then the role will expire
        - `organization_id` string, required — Id of an organization
        - `grants` Grant[], required — List of grants (permissions) applied to the role
          - `action` string, required
          - `resource` string
          - `effect` 'allow' | 'deny'
          - `conditions` GrantCondition[]
            - union
              - …
        - `partner_org_id` string — Id of an organization
        - `vendor_enforced_user_limit` integer — Maximum number of users that can be assigned this role (vendor-enforced limit, can only be set via internal auth)
        - `vendor_created` boolean — Indicates whether this role was created by a vendor organization on behalf of the partner organization.
      - PortalRole — A role that is applied to end customers and installers using the Portals
        - `id` string, required — Format: <organization_id>:<slug>
        - `name` string, required — Human-friendly name for the role
        - `slug` string, required — URL-friendly name for the role
        - `type` 'portal_role', required — Type of the role
        - `expires_at` string, date-time — date and time then the role will expire
        - `organization_id` string, required — Id of an organization
        - `grants` Grant[], required — List of grants (permissions) applied to the role
          - `action` string, required
          - `resource` string
          - `effect` 'allow' | 'deny'
          - `conditions` GrantCondition[]
            - union
              - …

## Changes

- **2026-08-27** `b29ea9adf72b` — 10 info
  - added the optional property `roles/items/oneOf[#/components/schemas/OrgRole]/allOf[#/components/schemas/BaseRole]/grants/items/conditions/items/allOf[subschema #2]/anyOf[#/components/schemas/EqualsCurrentUserCondition]/attributes` to the response with the `200` status
  - added the optional property `roles/items/oneOf[#/components/schemas/PartnerRole]/allOf[#/components/schemas/BaseRole]/grants/items/conditions/items/allOf[subschema #2]/anyOf[#/components/schemas/EqualsCurrentUserCondition]/attributes` to the response with the `200` status
  - added the optional property `roles/items/oneOf[#/components/schemas/PortalRole]/allOf[#/components/schemas/BaseRole]/grants/items/conditions/items/allOf[subschema #2]/anyOf[#/components/schemas/EqualsCurrentUserCondition]/attributes` to the response with the `200` status
  - added the optional property `roles/items/oneOf[#/components/schemas/ShareRole]/allOf[#/components/schemas/BaseRole]/grants/items/conditions/items/allOf[subschema #2]/anyOf[#/components/schemas/EqualsCurrentUserCondition]/attributes` to the response with the `200` status
  - …6 more

[Change history](https://skmtc.dev/epilot/apis/permissions-api/changes/v1/permissions/roles/get.md)

---

[API](https://skmtc.dev/epilot/apis/permissions-api.md) · [All operations](https://skmtc.dev/epilot/apis/permissions-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/epilot/permissions-api/revisions/b29ea9adf72b/schema)
