---
title: Update User
url: https://platform.claude.com/docs/en/api/ruby/beta/organization/users/update
---

# Update User

`beta.organization.users.update(user_id, **kwargs) -> BetaOrganizationUser`

**POST** `/v1/organizations/users/{user_id}`

Update a member's organization role.

## Parameters

- `user_id: String` (path parameter)

  ID of the User.

- `role: :billing | :claude_code_user | :developer | 2 more`

  New role for the User.

  The accepted values depend on the organization type. Console and API organizations accept `user`, `developer`, `billing`, and `claude_code_user`; `admin` cannot be assigned through the API. Claude Enterprise organizations accept `user` and `managed`; changing a User's role to `managed` requires the `write:rbac_groups` scope in addition to `write:members`.

  - `:billing`

  - `:claude_code_user`

  - `:developer`

  - `:managed`

  - `:user`

## Returns

- `class BetaOrganizationUser`

  - `type: :user`

    Object type.

    For Users, this is always `"user"`.

  - `id: String`

    ID of the User.

  - `added_at: Time`

    RFC 3339 datetime string indicating when the User joined the Organization.

    format: date-time

  - `email: String`

    Email of the User.

  - `name: String`

    Name of the User.

  - `role: BetaOrganizationRole`

    Organization role of the User.

    - `:admin`

    - `:billing`

    - `:claude_code_user`

    - `:developer`

    - `:managed`

    - `:membership_admin`

    - `:owner`

    - `:primary_owner`

    - `:user`

## Example

```ruby
require "anthropic"

anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key")

beta_organization_user = anthropic.beta.organization.users.update("user_id", role: :user)

puts(beta_organization_user)
```

### Response (200)

```json
{
  "id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
  "added_at": "2024-10-30T23:58:27.427722Z",
  "email": "user@emaildomain.com",
  "name": "Jane Doe",
  "role": "admin",
  "type": "user"
}
```
