---
title: "List Roles"
method: GET
path: "/management/v1/role"
tags: ["role"]
---

# List Roles

`GET /management/v1/role`

## Request

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

Returns all roles in the project that the current user has access to view.

## Query parameters

- `pageToken` string, nullable
- `pageSize` integer, nullable
- `projectId` string, nullable
- `roleIds` string[], nullable
- `sourceIds` string[], nullable
- `providerIds` string[], nullable

## Headers

- `x-project-id` string, nullable

## Response `200`

List of roles

- ListRolesResponse
  - `next-page-token` string, nullable
  - `roles` Role[], required
    - `created-at` string, date-time, required: Timestamp when the role was created
    - `description` string, nullable: Description of the role
    - `id` string, uuid, required: Globally unique UUID identifier
    - `ident` string, required: Composite project-scoped identifier (`provider~source_id`). Unique within a project.
    - `name` string, required: Name of the role
    - `project-id` string, required: Project ID in which the role is created.
    - `provider-id` string, required: Provider that owns this role (e.g. `"lakekeeper"`, `"oidc"`).
    - `source-id` string, required: Identifier of the role in the provider.
    - `updated-at` string, date-time, nullable: Timestamp when the role was last updated

## Other responses

- `4XX`

---

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