---
title: "List Roles"
method: GET
path: "/api/configs/role"
tags: ["Config API"]
---

# List Roles

`GET /api/configs/role`

## Request

- The document declares no server URL.
- Auth: none declared

List all Roles

## Response `200`

Successful Response

- RoleOutput[]
  - `name` string, required
  - `description` string, required
  - `policies` RolePolicy[], required
    - `effect` 'Allow' | 'Deny': Effect of a policy statement: Allow or Deny. Deny takes precedence over Allow.
    - `actions` string[], required
    - `resources` string[]
  - `immutable` boolean
  - `sync_mode` 'force' | 'import' | 'ignore': Sync mode for role assignments. - FORCE: Add from matching IDP claims and remove the IDP-derived assignment on the next human request without a matching claim. - IMPORT: Add from matching IDP claims and retain the assignment (default). - IGNORE: Never synchronize this role from IDP claims; manage it manually.
  - `external_roles` string[], nullable

## Changes

- **2026-04-08** `a8157dc3279d`: 3 breaking, 5 warning, 2 info
  - response property `items/external_roles` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - the `items/policies/items/effect` response's property type changed from no type to `string` for status `200`
  - the `items/sync_mode` response's property type changed from no type to `string` for status `200`
  - added the new `Allow` enum value to the `items/policies/items/effect` response property for the response status `200`
  - …6 more
- **2026-03-31** `639e39b0d1eb`: 1 breaking
  - the response's body type changed from `string` to `array` for status `200`

[Operation history](https://skmtc.dev/nvidia/apis/nvidia-corporation-osmo-api/changes/api/configs/role/get.md)

---

[API](https://skmtc.dev/nvidia/apis/nvidia-corporation-osmo-api.md) - [All operations](https://skmtc.dev/nvidia/apis/nvidia-corporation-osmo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nvidia/apis/nvidia-corporation-osmo-api/revisions/845585a71dbb?raw)
