---
title: "Changes to Assign organization role to user"
method: POST
path: "/organization/users/{user_id}/roles"
---

# Changes to Assign organization role to user

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

> Every recorded change to this operation, newest first.

## Timeline

Changed in 9 of 397 revisions.

- **2026-10-06** `e2f8d8cbc41f`: 4 info
- **2026-09-25** `d86203de41ae`: 3 info
- **2026-09-08** `bb9b3b410112`: 1 info
- **2026-09-03** `9430b00d75b4`: 1 info
- **2026-08-14** `6ac2618eefd7`: 1 info
- **2026-05-13** `74cbcf73838f`: 1 info
- **2026-05-01** `918e83711c91`: 6 breaking, 12 info
- **2026-04-28** `fa32d6e7d961`: 1 info
- **2026-04-10** `7c540cce6eb3`: 1 info

## Changes

- **2026-10-06** `e2f8d8cbc41f`: 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-09-25** `d86203de41ae`: 3 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `403`
  - added the non-success response with the status `404`
- **2026-09-08** `bb9b3b410112`: 1 info
  - added the non-success response with the status `429`
- **2026-09-03** `9430b00d75b4`: 1 info
  - added the optional property `error/misalignment` to the response with the `429` status
- **2026-08-14** `6ac2618eefd7`: 1 info
  - added the non-success response with the status `429`
- **2026-05-13** `74cbcf73838f`: 1 info
  - endpoint added
- **2026-05-01** `918e83711c91`: 6 breaking, 12 info
  - the response property `user/email` became optional for the status `200`
  - the response property `user/name` became optional for the status `200`
  - the response property `user/role` became optional for the status `200`
  - response property `user/email` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `user/name` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `user/role` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - added the optional property `user/api_key_last_used_at` to the response with the `200` status
  - added the optional property `user/created` to the response with the `200` status
  - added the optional property `user/developer_persona` to the response with the `200` status
  - added the optional property `user/is_default` to the response with the `200` status
  - added the optional property `user/is_scale_tier_authorized_purchaser` to the response with the `200` status
  - added the optional property `user/is_scim_managed` to the response with the `200` status
  - added the optional property `user/is_service_account` to the response with the `200` status
  - added the optional property `user/projects` to the response with the `200` status
  - added the optional property `user/technical_level` to the response with the `200` status
  - added the optional property `user/user` to the response with the `200` status
  - removed the `owner` enum value from the `user/role` response property for the response status `200`
  - removed the `reader` enum value from the `user/role` response property for the response status `200`
- **2026-04-28** `fa32d6e7d961`: 1 info
  - the endpoint scheme security `AdminApiKeyAuth` was added to the API
- **2026-04-10** `7c540cce6eb3`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/openai/apis/openapi/docs/organization/users/:user_id/roles/post.md) - [API](https://skmtc.dev/openai/apis/openapi.md) - [Page](https://skmtc.dev/openai/apis/openapi/changes/organization/users/:user_id/roles/post)
