---
title: "Modify user"
method: POST
path: "/organization/users/{user_id}"
tags: ["Users"]
---

# Modify user

`POST /organization/users/{user_id}`

Modifies a user's role in the organization.

## Path parameters

- `user_id` string, required

## Request body

- UserRoleUpdateRequest
  - `role` string, nullable — `owner` or `reader`
  - `role_id` string, nullable — Role ID to assign to the user.
  - `technical_level` string, nullable — Technical level metadata.
  - `developer_persona` string, nullable — Developer persona metadata.

## Response `200`

User role updated successfully.

- User — Represents an individual `user` within an organization.
  - `object` 'organization.user', required — The object type, which is always `organization.user`
  - `id` string, required — The identifier, which can be referenced in API endpoints
  - `name` string, nullable — The name of the user
  - `email` string, nullable — The email address of the user
  - `role` string, nullable — `owner` or `reader`
  - `added_at` integer, required — The Unix timestamp (in seconds) of when the user was added.
  - `is_default` boolean — Whether this is the organization's default user.
  - `created` integer — The Unix timestamp (in seconds) of when the user was created.
  - `user` object — Nested user details.
    - `object` 'user', required
    - `id` string, required
    - `email` string, nullable
    - `name` string, nullable
    - `picture` string, nullable
    - `enabled` boolean, nullable
    - `banned` boolean, nullable
    - `banned_at` integer, nullable
  - `is_service_account` boolean — Whether the user is a service account.
  - `is_scale_tier_authorized_purchaser` boolean, nullable — Whether the user is an authorized purchaser for Scale Tier.
  - `is_scim_managed` boolean — Whether the user is managed through SCIM.
  - `api_key_last_used_at` integer, nullable — The Unix timestamp (in seconds) of the user's last API key usage.
  - `technical_level` string, nullable — The technical level metadata for the user.
  - `developer_persona` string, nullable — The developer persona metadata for the user.
  - `projects` object, nullable — Projects associated with the user, if included.
    - `object` 'list', required
    - `data` object[], required
      - `id` string, nullable
      - `name` string, nullable
      - `role` string, nullable

## Changes

- **2026-05-01** `918e83711c91` — 8 breaking, 16 info
  - removed the enum value `owner` of the request property `role`
  - removed the enum value `reader` of the request property `role`
  - the response property `email` became optional for the status `200`
  - the response property `name` became optional for the status `200`
  - …20 more
- **2026-05-01** `72f65c459c35` — 1 info
  - the request property `role` became optional
- **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/organization/users/:user_id/post.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)
