---
title: "List project roles"
method: GET
path: "/projects/{project_id}/roles"
tags: ["Roles"]
---

# List project roles

`GET /projects/{project_id}/roles`

Lists the roles configured for a project.

## Path parameters

- `project_id` string, required

## Query parameters

- `limit` integer
- `after` string
- `order` 'asc' | 'desc'

## Response `200`

Project roles listed successfully.

- PublicRoleListResource — Paginated list of roles available on an organization or project.
  - `object` 'list', required — Always `list`.
  - `data` Role[], required — Roles returned in the current page.
    - `object` 'role', required — Always `role`.
    - `id` string, required — Identifier for the role.
    - `name` string, required — Unique name for the role.
    - `description` string, nullable, required — Optional description of the role.
    - `permissions` string[], required — Permissions granted by the role.
    - `resource_type` string, required — Resource type the role is bound to (for example `api.organization` or `api.project`).
    - `predefined_role` boolean, required — Whether the role is predefined and managed by OpenAI.
  - `has_more` boolean, required — Whether more roles are available when paginating.
  - `next` string, nullable, required — Cursor to fetch the next page of results, or `null` when there are no additional roles.

## Changes

- **2026-04-28** `fa32d6e7d961` — 1 info
  - the endpoint scheme security `AdminApiKeyAuth` was added to the API

[Change history](https://skmtc.dev/openai/apis/openai-api/changes/projects/:project_id/roles/get.md)

---

[API](https://skmtc.dev/openai/apis/openai-api.md) · [All operations](https://skmtc.dev/openai/apis/openai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openai/openai-api/revisions/dcd35773a322/schema)
