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

# List roles

`GET /v1/roles`

## Request

- Base URL: `https://api.typenode.ai`
- URL: `https://api.typenode.ai/v1/roles`
- Auth: HTTP bearer

## Query parameters

- `after` string
- `limit` integer

## Response `200`

A page of roles — the tenant's built-in roles plus its custom roles.

- object
  - `authority_revision` integer, required
  - `data` Role[], required
    - `description` string, nullable, required
    - `id` string, uuid, required
    - `name` string, required
    - `template_key` 'owner' | 'builder' | 'operator' | 'viewer' | 'everyone', nullable, required
  - `has_more` boolean, required
  - `next_cursor` string, nullable, required
  - `total_count` integer, required

## Other responses

- `400`: The pagination cursor is malformed.
- `401`: Authentication required.
- `403`: role.read is required.
- `409`: Authorization changed; restart pagination.
- `503`: The authority store is temporarily unavailable.
- `default`: An error occurred (RFC 9457 problem+json).

---

[API](https://skmtc.dev/typenode/apis/typenode-management-api.md) · [All operations](https://skmtc.dev/typenode/apis/typenode-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/typenode/apis/typenode-management-api/revisions/9b943024aa98?raw)
