# Return a list of roles

Returns a list of all accessible roles in the actor's program. Only primary roles are currently available.

Endpoint: GET /scim/v2/Roles
Version: 2026-04-10
Security: oauth2_as_a_server, oauth2_as_a_user

## Query parameters:

  - `origin` (string)
    Optional parameter to receive only either "custom" or "system" roles, using the SCIM filter form and the operator eq.

Examples:
- ?filter=origin eq "custom" (URL-encoded as ?filter=origin%20eq%20%22custom%22)
- ?filter=origin eq "system" (URL-encoded as ?filter=origin%20eq%20%22system%22)

## Response 200 fields (application/scim+json):

  - `schemas` (array)
    Example: ["urn:ietf:params:scim:api:messages:2.0:ListResponse"]

  - `Resources` (array)

  - `Resources.value` (string)
    The value of a role (name)
    Example: "group_admin"

  - `Resources.display` (string)
    A human-readable name, primarily used for display purposes.
    Example: "Community Admin"

  - `Resources.type` (string)
    A label indicating the role's function.
    Example: "primary"

  - `Resources.enabled` (boolean)
    A boolean type that indicates if the role is enabled and usable in the SCIM service provider's system.
    Example: true

  - `Resources.contains` (array)
    A complex type that shows what other roles this role indirectly grants - values can be considered the child role in a parent/child relationship.
    Example: ["moderate_comments","create_audience","publish_campaign","insights"]

## Response 400 fields (*/*):

  - `schemas` (array)
    Example: ["urn:ietf:params:scim:api:messages:2.0:Error"]

  - `detail` (string)
    Example: "Reason for bad request"

  - `status` (integer)
    Example: 400

## Response 401 fields (*/*):

  - `schemas` (array)
    Example: ["urn:ietf:params:scim:api:messages:2.0:Error"]

  - `detail` (string)
    Example: "Authentication failure"

  - `status` (integer)
    Example: 401

## Response 403 fields (*/*):

  - `schemas` (array)
    Example: ["urn:ietf:params:scim:api:messages:2.0:Error"]

  - `detail` (string)
    Example: "Operation is not permitted"

  - `status` (integer)
    Example: 403

## Response 404 fields (*/*):

  - `schemas` (array)
    Example: ["urn:ietf:params:scim:api:messages:2.0:Error"]

  - `detail` (string)
    Example: "The requested resource was not found."

  - `status` (integer)
    Example: 404


