---
title: "List User Roles"
method: GET
path: "/management/v1/user/{user_id}/roles"
tags: ["user"]
---

# List User Roles

`GET /management/v1/user/{user_id}/roles`

## Request

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

Lists the roles a user is directly assigned to, keyset-paginated.

## Path parameters

- `user_id` string, required

## Query parameters

- `pageToken` string, nullable
- `pageSize` integer, nullable

## Headers

- `x-project-id` string, nullable

## Response `200`

Roles the user is assigned to

- ListRoleMembershipsResponse: One page of roles — the `member-of` set or a user's roles, direct or transitive depending on the endpoint.
  - `next-page-token` string, nullable: Token for the next page; `null`/absent once the listing is exhausted. Note for SDK authors: **stop when `next-page-token` is null/absent.** The final page of results may itself return a null token, so don't rely on receiving a separate trailing empty page — keep requesting until the token is null.
  - `roles` RoleMembership[], required
    - `id` string, uuid, required
    - `ident` string, required
    - `name` string, required

## 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)
