---
title: "List user organization role assignments"
method: GET
path: "/organization/users/{user_id}/roles"
tags: ["User organization role assignments"]
---

# List user organization role assignments

`GET /organization/users/{user_id}/roles`

## Request

- Base URL: `https://api.openai.com/v1`
- URL: `https://api.openai.com/v1/organization/users/{user_id}/roles`
- Auth: HTTP bearer

Lists the organization roles assigned to a user within the organization.

## Path parameters

- `user_id` string, required

## Query parameters

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

## Response `200`

User organization role assignments listed successfully.

- RoleListResource: Paginated list of roles assigned to a principal.
  - `object` 'list', required: Always `list`.
  - `data` AssignedRoleDetails[], required: Role assignments returned in the current page.
    - `id` string, required: Identifier for the role.
    - `name` string, required: Name of the role.
    - `permissions` string[], required: Permissions associated with the role.
    - `resource_type` string, required: Resource type the role applies to.
    - `predefined_role` boolean, required: Whether the role is predefined by OpenAI.
    - `description` string, nullable, required: Description of the role.
    - `created_at` integer, nullable, required: When the role was created.
    - `updated_at` integer, nullable, required: When the role was last updated.
    - `created_by` string, nullable, required: Identifier of the actor who created the role.
    - `created_by_user_obj` object, nullable, required: User details for the actor that created the role, when available.
    - `metadata` object, nullable, required: Arbitrary metadata stored on the role.
    - `assignment_sources` object[], nullable, required: Principals from which the role assignment is inherited, when available.
      - `principal_id` string, required
      - `principal_type` string, required
  - `has_more` boolean, required: Whether additional assignments are available when paginating.
  - `next` string, nullable, required: Cursor to fetch the next page of results, or `null` when there are no more assignments.

## Other responses

- `400`: The request parameters are invalid or the requested operation cannot be performed.
- `403`: The caller does not have permission to perform this operation.
- `404`: The endpoint is unavailable or a requested resource was not found in this organization or project.
- `429`: The request was rejected because a rate limit was exceeded.

## Changes

- **2026-10-06** `487892d3954e`: 4 info
  - added the optional property `error/anyOf[#/components/schemas/Error]/misalignment/review_target` to the response with the `403` status
  - added the optional property `error/misalignment/review_target` to the response with the `400` status
  - added the optional property `error/misalignment/review_target` to the response with the `404` status
  - added the optional property `error/misalignment/review_target` to the response with the `429` status
- **2026-10-05** `7f654af7f94f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omnistack-sh/apis/openai-api/changes/organization/users/:user_id/roles/get.md)

---

[API](https://skmtc.dev/omnistack-sh/apis/openai-api.md) - [All operations](https://skmtc.dev/omnistack-sh/apis/openai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnistack-sh/apis/openai-api/revisions/0a26f104d35f?raw)
