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

# Lists roles

`GET /roles`

## Request

- Base URL: `https://api.rillet.com`
- URL: `https://api.rillet.com/roles`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/rillet/apis/rillet-accounting-api/docs/roles/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns every role defined in the organization along with the flat set of permission keys it
grants. Each permission is an opaque, colon-delimited string; treat it as an opaque identifier
and do not rely on its internal structure.

## Query parameters

- `limit` integer
- `cursor` string: If defined, a cursor to retrieve the next page.

## Response `200`

OK

- object
  - `roles` Role[], required
    - `id` string, uuid, required
    - `name` string, required
    - `description` string
    - `is_system_role` boolean, required: True for built-in "System" roles that Rillet defines and maintains; false for org-authored "Custom" roles.
    - `permissions` string[], required: Flat list of permission keys granted by the role. Each key is an opaque, colon-delimited string; treat it as an opaque identifier and do not rely on its internal structure.
  - `pagination` Pagination
    - `next_cursor` string: If defined, a cursor to retrieve the next page.

## Other responses

- `default`: Error

## Changes

- **2026-11-03** `c393d0102005`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rillet/apis/rillet-accounting-api/changes/roles/get.md)

---

[API](https://skmtc.dev/rillet/apis/rillet-accounting-api.md) - [All operations](https://skmtc.dev/rillet/apis/rillet-accounting-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rillet/apis/rillet-accounting-api/revisions/c393d0102005?raw)
