---
title: "List role bindings"
method: GET
path: "/admin/role-bindings"
tags: ["Role Bindings"]
---

# List role bindings

`GET /admin/role-bindings`

List role bindings in the caller's organization, optionally filtered by principal, resource, and role.

## Query parameters

- `principal_type` string — The kind of principal that receives permissions from a role binding. Possible values: `user`, `service_account`, `api_key`, `invite`.
- `principal_id` string
- `resource_type` string — The kind of resource scope a role binding applies to. Possible values: `organization`, `project`.
- `resource_id` string
- `role` string — A role assigned to a principal at a resource scope.
- `limit` integer
- `paginationToken` string

## Headers

- `X-Pinecone-Api-Version` string, required

## Response `200`

A paginated list of role bindings. When multiple filters are supplied, they are combined with AND.

- RoleBindingList — A paginated list of role bindings.
  - `data` RoleBinding[], required — The page of role bindings.
    - `id` string, uuid, required — The unique ID of the role binding.
    - `principal_type` string, required — The kind of principal that receives permissions from a role binding. Possible values: `user`, `service_account`, `api_key`, `invite`.
    - `principal_id` string, required — The principal's ID. A UUID for all principal types (`user`, `service_account`, `api_key`, `invite`).
    - `resource_type` string, required — The kind of resource scope a role binding applies to. Possible values: `organization`, `project`.
    - `resource_id` string, required — The organization or project that the binding is scoped to.
    - `role` string, required — A role assigned to a principal at a resource scope.
    - `created_at` string, date-time, required — When the role binding was created.
  - `pagination` object, nullable — Pagination metadata for list responses. When `next` is present, pass it as `paginationToken` on the following request.
    - `next` string — Opaque cursor for the next page. Do not parse or construct. Invalid or expired tokens return `400`.

## Other responses

- `400` — Bad request. The request body included invalid request parameters.
- `401` — Unauthorized. Possible causes: Invalid API key.
- `403` — Forbidden
- `500` — Internal server error.
- `4XX` — Unexpected error on request.

---

[API](https://skmtc.net/pinecone/apis/pinecone-admin-api.md) · [All operations](https://skmtc.net/pinecone/apis/pinecone-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pinecone/pinecone-admin-api/versions/8210e9d414c2/schema)
