---
title: "List roles"
method: GET
path: "/v2/roles"
tags: ["Roles"]
---

# List roles

`GET /v2/roles`

List custom and predefined roles for the authenticated user's account.
Results are paginated; use `limit` and `cursor` for subsequent pages.

Account admins, members, and other callers with `ROLE_READ` receive each
role's full permission list. Callers without `ROLE_READ` are rejected with 403.

<Note>This endpoint is in beta, read more [here](https://arize.com/docs/ax/rest-reference#api-version-stages).</Note>

## Query parameters

- `limit` integer
- `cursor` string
- `is_predefined` boolean

## Response `200`

Returns a list of role objects.

- ListRolesResponse
  - `roles` Role[], required — A list of roles.
    - `id` string, required — Unique identifier for the role.
    - `name` string, required — Human-readable name of the role.
    - `description` string — A brief description of the role's purpose.
    - `permissions` Permission[], required — List of permissions granted by this role. Each value corresponds to a permission identifier (e.g. `PROJECT_READ`, `DATASET_CREATE`). Returned only to callers with `ROLE_READ`.
    - `is_predefined` boolean, required — Whether this role is a system-defined predefined role. Predefined roles cannot be updated or deleted.
    - `created_at` string, date-time, required — Timestamp when the role was created.
    - `updated_at` string, date-time, required — Timestamp when the role was last updated.
  - `pagination` PaginationMetadata, required — Cursor-based pagination metadata. Use `next_cursor` in the subsequent request's `cursor` query parameter.
    - `next_cursor` string — Opaque cursor for fetching the next page. Treat as an unreadable token. Present when `has_more` is true; omitted when `has_more` is false.
    - `has_more` boolean, required — True if another page of results is available.

## Other responses

- `400` — Invalid request
- `401` — Authentication is required
- `403` — Insufficient permissions to access this resource
- `429` — Rate limit exceeded

## Changes

> 16 revisions in range; 1 not diffed.

- **2026-08-21** `c26a00e9b318` — 4 warning
  - added the new `AGENT_ROLE_CREATE` enum value to the `roles/items/permissions/items/` response property for the response status `200`
  - added the new `AGENT_ROLE_DELETE` enum value to the `roles/items/permissions/items/` response property for the response status `200`
  - added the new `AGENT_ROLE_READ` enum value to the `roles/items/permissions/items/` response property for the response status `200`
  - added the new `AGENT_ROLE_UPDATE` enum value to the `roles/items/permissions/items/` response property for the response status `200`
- **2026-08-20** `ddf93df2c295` — 4 warning
  - added the new `ROLE_CREATE` enum value to the `roles/items/permissions/items/` response property for the response status `200`
  - added the new `ROLE_DELETE` enum value to the `roles/items/permissions/items/` response property for the response status `200`
  - added the new `ROLE_READ` enum value to the `roles/items/permissions/items/` response property for the response status `200`
  - added the new `ROLE_UPDATE` enum value to the `roles/items/permissions/items/` response property for the response status `200`

[Change history](https://skmtc.dev/arize-ai/apis/arize-rest-api/changes/v2/roles/get.md)

---

[API](https://skmtc.dev/arize-ai/apis/arize-rest-api.md) · [All operations](https://skmtc.dev/arize-ai/apis/arize-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/arize-ai/arize-rest-api/revisions/6521535a37bb/schema)
