---
title: Members
url: https://platform.claude.com/docs/en/api/php/organization/workspaces/members
---

# Members

## List Workspace Members

`$client->organization->workspaces->members->list(string workspaceID, ?string afterID, ?string beforeID, ?int limit): Page<WorkspaceMember>`

**GET** `/v1/organizations/workspaces/{workspace_id}/members`

List Workspace Members

### Parameters

- `workspaceID: string` (path parameter)

  ID of the Workspace.

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

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

  Number of items to return per page.

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

  default: 20

### Returns

- `class WorkspaceMember`

  - `"workspace_member" type`

    Object type.

    For Workspace Members, this is always `"workspace_member"`.

  - `string userID`

    ID of the User.

  - `string workspaceID`

    ID of the Workspace.

  - `WorkspaceRole workspaceRole`

    Role of the Workspace Member.

### Example

```php
<?php

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

use Anthropic\Client;

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

$page = $client->organization->workspaces->members->list(
  'workspace_id', afterID: 'after_id', beforeID: 'before_id', limit: 1
);

var_dump($page);
```

#### Response (200)

```json
{
  "data": [
    {
      "type": "workspace_member",
      "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
      "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
      "workspace_role": "workspace_admin"
    }
  ],
  "first_id": "first_id",
  "has_more": true,
  "last_id": "last_id"
}
```

## Create Workspace Member

`$client->organization->workspaces->members->add(string workspaceID, string userID, NoBillingWorkspaceRole workspaceRole): WorkspaceMember`

**POST** `/v1/organizations/workspaces/{workspace_id}/members`

Create Workspace Member

### Parameters

- `workspaceID: string` (path parameter)

  ID of the Workspace.

- `userID: string`

  ID of the User.

- `workspaceRole: NoBillingWorkspaceRole`

  Role of the new Workspace Member. Cannot be `workspace_billing`.

### Returns

- `class WorkspaceMember`

  - `"workspace_member" type`

    Object type.

    For Workspace Members, this is always `"workspace_member"`.

  - `string userID`

    ID of the User.

  - `string workspaceID`

    ID of the Workspace.

  - `WorkspaceRole workspaceRole`

    Role of the Workspace Member.

### Example

```php
<?php

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

use Anthropic\Client;
use Anthropic\Organization\Workspaces\NoBillingWorkspaceRole;

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

$workspaceMember = $client->organization->workspaces->members->add(
  'workspace_id',
  userID: 'user_01WCz1FkmYMm4gnmykNKUu3Q',
  workspaceRole: NoBillingWorkspaceRole::WORKSPACE_ADMIN,
);

var_dump($workspaceMember);
```

#### Response (200)

```json
{
  "type": "workspace_member",
  "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
  "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
  "workspace_role": "workspace_admin"
}
```

## Get Workspace Member

`$client->organization->workspaces->members->retrieve(string userID, string workspaceID): WorkspaceMember`

**GET** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}`

Get Workspace Member

### Parameters

- `workspaceID: string` (path parameter)

  ID of the Workspace.

- `userID: string` (path parameter)

  ID of the User.

### Returns

- `class WorkspaceMember`

  - `"workspace_member" type`

    Object type.

    For Workspace Members, this is always `"workspace_member"`.

  - `string userID`

    ID of the User.

  - `string workspaceID`

    ID of the Workspace.

  - `WorkspaceRole workspaceRole`

    Role of the Workspace Member.

### Example

```php
<?php

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

use Anthropic\Client;

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

$workspaceMember = $client->organization->workspaces->members->retrieve(
  'user_id', workspaceID: 'workspace_id'
);

var_dump($workspaceMember);
```

#### Response (200)

```json
{
  "type": "workspace_member",
  "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
  "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
  "workspace_role": "workspace_admin"
}
```

## Update Workspace Member

`$client->organization->workspaces->members->update(string userID, string workspaceID, WorkspaceRole workspaceRole): WorkspaceMember`

**POST** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}`

Update Workspace Member

### Parameters

- `workspaceID: string` (path parameter)

  ID of the Workspace.

- `userID: string` (path parameter)

  ID of the User.

- `workspaceRole: WorkspaceRole`

  New workspace role for the User.

### Returns

- `class WorkspaceMember`

  - `"workspace_member" type`

    Object type.

    For Workspace Members, this is always `"workspace_member"`.

  - `string userID`

    ID of the User.

  - `string workspaceID`

    ID of the Workspace.

  - `WorkspaceRole workspaceRole`

    Role of the Workspace Member.

### Example

```php
<?php

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

use Anthropic\Client;
use Anthropic\Organization\Workspaces\WorkspaceRole;

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

$workspaceMember = $client->organization->workspaces->members->update(
  'user_id',
  workspaceID: 'workspace_id',
  workspaceRole: WorkspaceRole::WORKSPACE_ADMIN,
);

var_dump($workspaceMember);
```

#### Response (200)

```json
{
  "type": "workspace_member",
  "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
  "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
  "workspace_role": "workspace_admin"
}
```

## Delete Workspace Member

`$client->organization->workspaces->members->remove(string userID, string workspaceID): MemberRemoveResponse`

**DELETE** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}`

Delete Workspace Member

### Parameters

- `workspaceID: string` (path parameter)

  ID of the Workspace.

- `userID: string` (path parameter)

  ID of the User.

### Returns

- `class MemberRemoveResponse`

  - `"workspace_member_deleted" type`

    Deleted object type.

    For Workspace Members, this is always `"workspace_member_deleted"`.

  - `string userID`

    ID of the User.

  - `string workspaceID`

    ID of the Workspace.

### Example

```php
<?php

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

use Anthropic\Client;

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

$member = $client->organization->workspaces->members->remove(
  'user_id', workspaceID: 'workspace_id'
);

var_dump($member);
```

#### Response (200)

```json
{
  "type": "workspace_member_deleted",
  "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
  "workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
}
```
