---
title: Users
url: https://platform.claude.com/docs/en/api/php/organization/users
---

# Users

## List Users

`$client->organization->users->list(?string afterID, ?string beforeID, ?string email, ?int limit, ?list<string> roles): Page<OrganizationUser>`

**GET** `/v1/organizations/users`

List the organization's members.

### Parameters

- `afterID?:optional string` (query parameter)

  ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object.

- `beforeID?:optional string` (query parameter)

  ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.

- `email?:optional string` (query parameter)

  Filter by user email.

- `limit?:optional int` (query parameter)

  Number of items to return per page.

  Defaults to `20`. Ranges from `1` to `1000`.

  default: 20

- `roles?:optional list<string>` (query parameter)

  Filter to items whose `role` equals one of the supplied values. Repeatable; values are OR'ed together.

  Accepted values depend on the organization type: Console and API organizations accept `user`, `developer`, `billing`, `admin`, and `claude_code_user`; Claude Enterprise organizations accept `user`, `owner`, `primary_owner`, `membership_admin`, and `managed`.

### Returns

- `class OrganizationUser`

  - `"user" type`

    Object type.

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

  - `string id`

    ID of the User.

  - `\Datetime addedAt`

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

  - `string email`

    Email of the User.

  - `string name`

    Name of the User.

  - `OrganizationRole role`

    Organization role of the User.

### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;

$client = new Client(apiKey: 'my-anthropic-api-key');

$page = $client->organization->users->list(
  afterID: 'after_id',
  beforeID: 'before_id',
  email: 'dev@stainless.com',
  limit: 1,
  roles: ['string'],
);

var_dump($page);
```

#### Response (200)

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

## Get User

`$client->organization->users->retrieve(string userID): OrganizationUser`

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

Retrieve a member of the organization by user ID.

### Parameters

- `userID: string` (path parameter)

  ID of the User.

### Returns

- `class OrganizationUser`

  - `"user" type`

    Object type.

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

  - `string id`

    ID of the User.

  - `\Datetime addedAt`

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

  - `string email`

    Email of the User.

  - `string name`

    Name of the User.

  - `OrganizationRole role`

    Organization role of the User.

### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;

$client = new Client(apiKey: 'my-anthropic-api-key');

$organizationUser = $client->organization->users->retrieve('user_id');

var_dump($organizationUser);
```

#### 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"
}
```

## Update User

`$client->organization->users->update(string userID, Role role): OrganizationUser`

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

Update a member's organization role.

### Parameters

- `userID: string` (path parameter)

  ID of the User.

- `role: Role`

  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`.

### Returns

- `class OrganizationUser`

  - `"user" type`

    Object type.

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

  - `string id`

    ID of the User.

  - `\Datetime addedAt`

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

  - `string email`

    Email of the User.

  - `string name`

    Name of the User.

  - `OrganizationRole role`

    Organization role of the User.

### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;

$client = new Client(apiKey: 'my-anthropic-api-key');

$organizationUser = $client->organization->users->update(
  'user_id', role: 'user'
);

var_dump($organizationUser);
```

#### 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"
}
```

## Remove User

`$client->organization->users->remove(string userID): UserRemoveResponse`

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

Remove a member from the organization.

### Parameters

- `userID: string` (path parameter)

  ID of the User.

### Returns

- `class UserRemoveResponse`

  - `"user_deleted" type`

    Deleted object type.

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

  - `string id`

    ID of the User.

### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;

$client = new Client(apiKey: 'my-anthropic-api-key');

$user = $client->organization->users->remove('user_id');

var_dump($user);
```

#### Response (200)

```json
{
  "id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
  "type": "user_deleted"
}
```

## Domain types

### Organization User

- `class OrganizationUser`

  - `"user" type`

    Object type.

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

  - `string id`

    ID of the User.

  - `\Datetime addedAt`

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

  - `string email`

    Email of the User.

  - `string name`

    Name of the User.

  - `OrganizationRole role`

    Organization role of the User.
