Workspaces
api/admin/workspaces
Nearest release: v2.1.245, published an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
api/admin/workspaces Changed · +213 / -492 lines
### Headers ### Body parameters #### Response (200) ### Path parameters #### Response (200) ### Query parameters #### Response (200) ### Path parameters ### Body parameters #### Response (200) ### Path parameters #### Response (200) ## Workspaces › Members ### Create Workspace Member #### Path parameters #### Body parameters #### Returns #### Example ##### Response (200) ### Get Workspace Member #### Path parameters #### Returns #### Example ##### Response (200) ### List Workspace Members #### Path parameters #### Query parameters #### Returns #### Example ##### Response (200) ### Update Workspace Member #### Path parameters #### Body parameters #### Returns #### Example ##### Response (200) ### Delete Workspace Member #### Path parameters #### Returns #### Example ##### Response (200) ## Workspaces › Rate Limits ### List Workspace Rate Limits #### Path parameters #### Query parameters #### Returns #### Example ##### Response (200) ## Workspaces › Service Accounts ### Create Service Account Workspace Member #### Path parameters #### Headers #### Body parameters #### Returns #### Example ##### Response (200) ### Get Service Account Workspace Member #### Path parameters #### Headers #### Returns #### Example ##### Response (200) ### List Service Account Workspace Members #### Path parameters #### Query parameters #### Headers #### Returns #### Example ##### Response (200) ### Update Service Account Workspace Member #### Path parameters #### Headers #### Body parameters #### Returns #### Example ##### Response (200) ### Delete Service Account Workspace Member #### Path parameters #### Headers #### Returns #### Example ##### Response (200) ### Header Parameters ### Body Parameters #### Response ### Path Parameters #### Response ### Query Parameters #### Response ### Path Parameters ### Body Parameters #### Response ### Path Parameters #### Response # Members ## Create Workspace Member ### Path Parameters ### Body Parameters #### Response ## Get Workspace Member ### Path Parameters #### Response ## List Workspace Members ### Path Parameters ### Query Parameters #### Response ## Update Workspace Member ### Path Parameters ### Body Parameters #### Response ## Delete Workspace Member ### Path Parameters #### Response ## Domain Types ### Workspace Member ### Member Delete Response # Rate Limits ## List Workspace Rate Limits ### Path Parameters ### Query Parameters #### Response ## Domain Types ### Rate Limit List Response # Service Accounts ## Create Service Account Workspace Member ### Path Parameters ### Header Parameters ### Body Parameters #### Response ## Get Service Account Workspace Member ### Path Parameters ### Header Parameters #### Response ## List Service Account Workspace Members ### Path Parameters ### Query Parameters ### Header Parameters #### Response ## Update Service Account Workspace Member ### Path Parameters ### Header Parameters ### Body Parameters #### Response ## Delete Service Account Workspace Member ### Path Parameters ### Header Parameters #### Response ## Domain Types ### Service Account Create Response ### Service Account Retrieve Response ### Service Account List Response ### Service Account Update Response ### Service Account Delete Response
The two sides of this change are too far apart to line up, so this is the differ's own diff of it.
---- -title: Workspaces -url: https://platform.claude.com/docs/en/api/admin/workspaces ---- - # Workspaces ## Create Workspace -**post** `/v1/organizations/workspaces` +**POST** `/v1/organizations/workspaces` Create Workspace -### Header Parameters +### Headers - `"anthropic-beta": optional array of string`
To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta. -### Body Parameters +### Body parameters - `name: string` Name of the Workspace. -- `data_residency: optional object { allowed_inference_geos, default_inference_geo, workspace_geo } or null` + maxLength: 40, minLength: 1 + +- `data_residency: optional object or null` Data residency configuration for the workspace. If omitted, defaults to workspace_geo=`"us"`, allowed_inference_geos=`"unrestricted"`, and default_inference_geo=`"global"`.
- `"unrestricted"` - - `"unrestricted"` - - `default_inference_geo: optional "global" or "us" or null` Default inference geo applied when requests omit the parameter. Defaults to 'global' if omitted. Must be a member of allowed_inference_geos unless allowed_inference_geos is `"unrestricted"`.
- `workspace_geo: optional "us" or null` Geographic region for workspace data storage. Immutable after creation. Defaults to 'us' if omitted. - - - `"us"` - `external_key_id: optional string or null`
### Returns -- `Workspace object { id, archived_at, compartment_id, 7 more }` +- `Workspace object` - `id: string`
- `archived_at: string or null` RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived. + + format: date-time - `compartment_id: string`
RFC 3339 datetime string indicating when the Workspace was created. - - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }` + format: date-time + + - `data_residency: object` Data residency configuration.
- `array of string` - `"unrestricted"` - - - `"unrestricted"` - `default_inference_geo: string`
For Workspaces, this is always `"workspace"`. - - `"workspace"` + default: workspace ### Example -```http +```bash curl https://api.anthropic.com/v1/organizations/workspaces \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
}' ``` -#### Response +#### Response (200) ```json {
## Get Workspace -**get** `/v1/organizations/workspaces/{workspace_id}` +**GET** `/v1/organizations/workspaces/{workspace_id}` Get Workspace -### Path Parameters +### Path parameters - `workspace_id: string`
### Returns -- `Workspace object { id, archived_at, compartment_id, 7 more }` +- `Workspace object` - `id: string`
- `archived_at: string or null` RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived. + + format: date-time - `compartment_id: string`
RFC 3339 datetime string indicating when the Workspace was created. - - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }` + format: date-time + + - `data_residency: object` Data residency configuration.
- `array of string` - `"unrestricted"` - - - `"unrestricted"` - `default_inference_geo: string`
For Workspaces, this is always `"workspace"`. - - `"workspace"` + default: workspace ### Example -```http +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +#### Response (200) ```json {
## List Workspaces -**get** `/v1/organizations/workspaces` +**GET** `/v1/organizations/workspaces` List Workspaces -### Query Parameters +### Query parameters - `after_id: optional string`
Whether to include Workspaces that have been archived in the response + default: false + - `limit: optional number` Number of items to return per page. Defaults to `20`. Ranges from `1` to `1000`. + default: 20, maximum: 1000, minimum: 1 + ### Returns - `data: array of Workspace`
- `archived_at: string or null` RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived. + + format: date-time - `compartment_id: string`
RFC 3339 datetime string indicating when the Workspace was created. - - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }` + format: date-time + + - `data_residency: object` Data residency configuration.
- `array of string` - `"unrestricted"` - - - `"unrestricted"` - `default_inference_geo: string`
For Workspaces, this is always `"workspace"`. - - `"workspace"` + default: workspace - `first_id: string or null`
### Example -```http +```bash curl https://api.anthropic.com/v1/organizations/workspaces \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +#### Response (200) ```json {
## Update Workspace -**post** `/v1/organizations/workspaces/{workspace_id}` +**POST** `/v1/organizations/workspaces/{workspace_id}` Update Workspace -### Path Parameters - -- `workspace_id: string` - -### Body Parameters - -- `data_residency: optional object { allowed_inference_geos, default_inference_geo } or null` +### Path parameters + +- `workspace_id: string` + +### Body parameters + +- `data_residency: optional object or null` Data residency configuration for the workspace.
- `"us"` - `"unrestricted"` - - - `"unrestricted"` - `default_inference_geo: optional "global" or "us" or null`
Name of the Workspace. + maxLength: 40, minLength: 1 + - `tags: optional map[string] or null` User-defined tags as string key-value pairs. Keys may not begin with `anthropic`. ### Returns -- `Workspace object { id, archived_at, compartment_id, 7 more }` +- `Workspace object` - `id: string`
- `archived_at: string or null` RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived. + + format: date-time - `compartment_id: string`
RFC 3339 datetime string indicating when the Workspace was created. - - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }` + format: date-time + + - `data_residency: object` Data residency configuration.
- `array of string` - `"unrestricted"` - - - `"unrestricted"` - `default_inference_geo: string`
For Workspaces, this is always `"workspace"`. - - `"workspace"` + default: workspace ### Example -```http +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
}' ``` -#### Response +#### Response (200) ```json {
## Archive Workspace -**post** `/v1/organizations/workspaces/{workspace_id}/archive` +**POST** `/v1/organizations/workspaces/{workspace_id}/archive` Archive Workspace -### Path Parameters +### Path parameters - `workspace_id: string` ### Returns -- `Workspace object { id, archived_at, compartment_id, 7 more }` +- `Workspace object` - `id: string`
- `archived_at: string or null` RFC 3339 datetime string indicating when the Workspace was archived, or `null` if the Workspace is not archived. + + format: date-time - `compartment_id: string`
RFC 3339 datetime string indicating when the Workspace was created. - - `data_residency: object { allowed_inference_geos, default_inference_geo, workspace_geo }` + format: date-time + + - `data_residency: object` Data residency configuration.
- `array of string` - `"unrestricted"` - - - `"unrestricted"` - `default_inference_geo: string`
For Workspaces, this is always `"workspace"`. - - `"workspace"` + default: workspace ### Example -```http +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/archive \ -X POST \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +#### Response (200) ```json {
} ``` -# Members - -## Create Workspace Member - -**post** `/v1/organizations/workspaces/{workspace_id}/members` +## Workspaces › Members + +### Create Workspace Member + +**POST** `/v1/organizations/workspaces/{workspace_id}/members` Create Workspace Member -### Path Parameters +#### Path parameters - `workspace_id: string` ID of the Workspace. -### Body Parameters +#### Body parameters - `user_id: string`
- `"workspace_user"` -### Returns - -- `WorkspaceMember object { type, user_id, workspace_id, workspace_role }` +#### Returns + +- `WorkspaceMember object` - `type: "workspace_member"`
For Workspace Members, this is always `"workspace_member"`. - - `"workspace_member"` + default: workspace_member - `user_id: string`
- `"workspace_user"` -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
}' ``` -#### Response +##### Response (200) ```json {
} ``` -## Get Workspace Member - -**get** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}` +### Get Workspace Member + +**GET** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}` Get Workspace Member -### Path Parameters +#### Path parameters - `workspace_id: string`
ID of the User. -### Returns - -- `WorkspaceMember object { type, user_id, workspace_id, workspace_role }` +#### Returns + +- `WorkspaceMember object` - `type: "workspace_member"`
For Workspace Members, this is always `"workspace_member"`. - - `"workspace_member"` + default: workspace_member - `user_id: string`
- `"workspace_user"` -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members/$USER_ID \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +##### Response (200) ```json {
} ``` -## List Workspace Members - -**get** `/v1/organizations/workspaces/{workspace_id}/members` +### List Workspace Members + +**GET** `/v1/organizations/workspaces/{workspace_id}/members` List Workspace Members -### Path Parameters +#### Path parameters - `workspace_id: string` ID of the Workspace. -### Query Parameters +#### Query parameters - `after_id: optional string`
Defaults to `20`. Ranges from `1` to `1000`. -### Returns + default: 20, maximum: 1000, minimum: 1 + +#### Returns - `data: array of WorkspaceMember`
For Workspace Members, this is always `"workspace_member"`. - - `"workspace_member"` + default: workspace_member - `user_id: string`
Last ID in the `data` list. Can be used as the `after_id` for the next page. -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +##### Response (200) ```json {
} ``` -## Update Workspace Member - -**post** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}` +### Update Workspace Member + +**POST** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}` Update Workspace Member -### Path Parameters +#### Path parameters - `workspace_id: string`
ID of the User. -### Body Parameters +#### Body parameters - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more`
- `"workspace_user"` -### Returns - -- `WorkspaceMember object { type, user_id, workspace_id, workspace_role }` +#### Returns + +- `WorkspaceMember object` - `type: "workspace_member"`
For Workspace Members, this is always `"workspace_member"`. - - `"workspace_member"` + default: workspace_member - `user_id: string`
- `"workspace_user"` -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members/$USER_ID \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
}' ``` -#### Response +##### Response (200) ```json {
} ``` -## Delete Workspace Member - -**delete** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}` +### Delete Workspace Member + +**DELETE** `/v1/organizations/workspaces/{workspace_id}/members/{user_id}` Delete Workspace Member -### Path Parameters +#### Path parameters - `workspace_id: string`
ID of the User. -### Returns +#### Returns - `type: "workspace_member_deleted"`
For Workspace Members, this is always `"workspace_member_deleted"`. - - `"workspace_member_deleted"` + default: workspace_member_deleted - `user_id: string`
ID of the Workspace. -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/members/$USER_ID \ -X DELETE \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +##### Response (200) ```json {
} ``` -## Domain Types - -### Workspace Member - -- `WorkspaceMember object { type, user_id, workspace_id, workspace_role }` - - - `type: "workspace_member"` - - Object type. - - For Workspace Members, this is always `"workspace_member"`. - - - `"workspace_member"` - - - `user_id: string` - - ID of the User. - - - `workspace_id: string` - - ID of the Workspace. - - - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more` - - Role of the Workspace Member. - - - `"workspace_admin"` - - - `"workspace_billing"` - - - `"workspace_developer"` - - - `"workspace_restricted_developer"` - - - `"workspace_user"` - -### Member Delete Response - -- `MemberDeleteResponse object { type, user_id, workspace_id }` - - - `type: "workspace_member_deleted"` - - Deleted object type. - - For Workspace Members, this is always `"workspace_member_deleted"`. - - - `"workspace_member_deleted"` - - - `user_id: string` - - ID of the User. - - - `workspace_id: string` - - ID of the Workspace. - -# Rate Limits - -## List Workspace Rate Limits - -**get** `/v1/organizations/workspaces/{workspace_id}/rate_limits` +## Workspaces › Rate Limits + +### List Workspace Rate Limits + +**GET** `/v1/organizations/workspaces/{workspace_id}/rate_limits` List rate-limit overrides configured for a workspace.
override. Groups without overrides inherit the organization limits and are not listed; use `GET /v1/organizations/rate_limits` to see those. -### Path Parameters +#### Path parameters - `workspace_id: string` The ID of the workspace. -### Query Parameters +#### Query parameters - `group_type: optional "batch" or "files" or "model_group" or 3 more`
Opaque cursor from a previous response's `next_page`. -### Returns - -- `data: array of object { group_type, limits, models, 3 more }` +#### Returns + +- `data: array of object` Rate-limit entries for the workspace, one per group that has at least one override.
- `"web_search"` - - `limits: array of object { org_limit, type, value }` + - `limits: array of object` The limiter values overridden for this group in this workspace. Limiter types without a workspace override are omitted and inherit the organization value.
Object type. Always `workspace_rate_limit` for workspace rate-limit entries. - - `"workspace_rate_limit"` + default: workspace_rate_limit - `workspace_id: string`
Token to provide in as `page` in the subsequent request to retrieve the next page of data. -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/rate_limits \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +##### Response (200) ```json {
} ``` -## Domain Types - -### Rate Limit List Response - -- `RateLimitListResponse object { data, next_page }` - - - `data: array of object { group_type, limits, models, 3 more }` - - Rate-limit entries for the workspace, one per group that has at least one override. - - - `group_type: "batch" or "files" or "model_group" or 3 more` - - The kind of rate-limit group this entry represents. `model_group` entries apply to a family of models (listed in `models`); other values apply to an API-surface category and have `models` set to `null`. - - - `"batch"` - - - `"files"` - - - `"model_group"` - - - `"skills"` - - - `"token_count"` - - - `"web_search"` - - - `limits: array of object { org_limit, type, value }` - - The limiter values overridden for this group in this workspace. Limiter types without a workspace override are omitted and inherit the organization value. - - - `org_limit: number or null` - - The organization-level value for the same limiter type, for reference. `null` when the organization has no limit configured for this limiter type. - - - `type: string` - - The limiter type (for example, `requests_per_minute` or `input_tokens_per_minute`). - - - `value: number` - - The workspace-level override value for this limiter type. - - - `models: array of string or null` - - Model names this entry's limits apply to, including aliases. `null` when `group_type` is not `"model_group"`. - - - `rate_limit_id: string` - - The `id` of the RateLimit group this override applies to. - - - `type: "workspace_rate_limit"` - - Object type. Always `workspace_rate_limit` for workspace rate-limit entries. - - - `"workspace_rate_limit"` - - - `workspace_id: string` - - ID of the Workspace this override applies to. - - - `next_page: string or null` - - Token to provide in as `page` in the subsequent request to retrieve the next page of data. - -# Service Accounts - -## Create Service Account Workspace Member - -**post** `/v1/organizations/workspaces/{workspace_id}/service_accounts` +## Workspaces › Service Accounts + +### Create Service Account Workspace Member + +**POST** `/v1/organizations/workspaces/{workspace_id}/service_accounts` Add a service account to a workspace with the given `workspace_role`.
accounts cannot be added and are rejected. Requires an OAuth bearer or Console session; Admin API keys are not accepted. -### Path Parameters +#### Path parameters - `workspace_id: string` ID of the workspace. -### Header Parameters +#### Headers - `"anthropic-beta": optional array of string`
To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta. -### Body Parameters +#### Body parameters - `service_account_id: string`
- `"workspace_user"` -### Returns +#### Returns - `created_by_actor_id: string or null`
- `type: "service_account_workspace_member"` - - `"service_account_workspace_member"` + default: service_account_workspace_member - `workspace_id: string`
- `"workspace_user"` -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
}' ``` -#### Response +##### Response (200) ```json {
} ``` -## Get Service Account Workspace Member - -**get** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` +### Get Service Account Workspace Member + +**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` Retrieve a service account's membership in a workspace.
membership is returned with its assigned role. An archived service account returns 404. -### Path Parameters +#### Path parameters - `workspace_id: string`
ID of the service account. -### Header Parameters +#### Headers - `"anthropic-beta": optional array of string`
To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta. -### Returns +#### Returns - `created_by_actor_id: string or null`
- `type: "service_account_workspace_member"` - - `"service_account_workspace_member"` + default: service_account_workspace_member - `workspace_id: string`
- `"workspace_user"` -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts/$SERVICE_ACCOUNT_ID \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +##### Response (200) ```json {
} ``` -## List Service Account Workspace Members - -**get** `/v1/organizations/workspaces/{workspace_id}/service_accounts` +### List Service Account Workspace Members + +**GET** `/v1/organizations/workspaces/{workspace_id}/service_accounts` List the service accounts that are members of a workspace.
included in this list. Memberships of archived service accounts are omitted from the results. -### Path Parameters +#### Path parameters - `workspace_id: string` ID of the workspace. -### Query Parameters +#### Query parameters - `limit: optional number` Number of results per page. + default: 20, maximum: 100, minimum: 1 + - `page: optional string` Opaque cursor from a previous response's `next_page`. -### Header Parameters +#### Headers - `"anthropic-beta": optional array of string`
To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta. -### Returns - -- `data: array of object { created_by_actor_id, implicit, service_account_id, 3 more }` +#### Returns + +- `data: array of object` - `created_by_actor_id: string or null`
- `type: "service_account_workspace_member"` - - `"service_account_workspace_member"` + default: service_account_workspace_member - `workspace_id: string`
Opaque cursor for the next page, or null if no more results. -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +##### Response (200) ```json {
} ``` -## Update Service Account Workspace Member - -**post** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` +### Update Service Account Workspace Member + +**POST** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` Change a service account's role in a workspace.
rejected. Requires an OAuth bearer or Console session; Admin API keys are not accepted. -### Path Parameters +#### Path parameters - `workspace_id: string`
ID of the service account. -### Header Parameters +#### Headers - `"anthropic-beta": optional array of string`
To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta. -### Body Parameters +#### Body parameters - `workspace_role: "workspace_admin" or "workspace_developer" or "workspace_restricted_developer" or "workspace_user"`
- `"workspace_user"` -### Returns +#### Returns - `created_by_actor_id: string or null`
- `type: "service_account_workspace_member"` - - `"service_account_workspace_member"` + default: service_account_workspace_member - `workspace_id: string`
- `"workspace_user"` -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts/$SERVICE_ACCOUNT_ID \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
}' ``` -#### Response +##### Response (200) ```json {
} ``` -## Delete Service Account Workspace Member - -**delete** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` +### Delete Service Account Workspace Member + +**DELETE** `/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}` Remove a service account from a workspace.
membership. Archived workspaces return 400. Requires an OAuth bearer or Console session; Admin API keys are not accepted. -### Path Parameters +#### Path parameters - `workspace_id: string`
ID of the service account. -### Header Parameters +#### Headers - `"anthropic-beta": optional array of string`
To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta. -### Returns +#### Returns - `service_account_id: string`
- `type: "service_account_workspace_member_deleted"` - - `"service_account_workspace_member_deleted"` + default: service_account_workspace_member_deleted - `workspace_id: string` Tagged workspace ID (`wrkspc_...`) named in the delete request. -### Example - -```http +#### Example + +```bash curl https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/service_accounts/$SERVICE_ACCOUNT_ID \ -X DELETE \ -H 'anthropic-version: 2023-06-01' \ -H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" ``` -#### Response +##### Response (200) ```json {
"workspace_id": "workspace_id" } ``` - -## Domain Types - -### Service Account Create Response - -- `ServiceAccountCreateResponse object { created_by_actor_id, implicit, service_account_id, 3 more }` - - - `created_by_actor_id: string or null` - - Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. - - - `implicit: boolean or null` - - True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role workspace_user and cannot be removed. - - - `service_account_id: string` - - Tagged service account ID (`svac_...`). - - - `type: "service_account_workspace_member"` - - - `"service_account_workspace_member"` - - - `workspace_id: string` - - Tagged workspace ID (`wrkspc_...`). - - - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more` - - Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. - - - `"workspace_admin"` - - - `"workspace_billing"` - - - `"workspace_developer"` - - - `"workspace_restricted_developer"` - - - `"workspace_user"` - -### Service Account Retrieve Response - -- `ServiceAccountRetrieveResponse object { created_by_actor_id, implicit, service_account_id, 3 more }` - - - `created_by_actor_id: string or null` - - Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. - - - `implicit: boolean or null` - - True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role workspace_user and cannot be removed. - - - `service_account_id: string` - - Tagged service account ID (`svac_...`). - - - `type: "service_account_workspace_member"` - - - `"service_account_workspace_member"` - - - `workspace_id: string` - - Tagged workspace ID (`wrkspc_...`). - - - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more` - - Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. - - - `"workspace_admin"` - - - `"workspace_billing"` - - - `"workspace_developer"` - - - `"workspace_restricted_developer"` - - - `"workspace_user"` - -### Service Account List Response - -- `ServiceAccountListResponse object { created_by_actor_id, implicit, service_account_id, 3 more }` - - - `created_by_actor_id: string or null` - - Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. - - - `implicit: boolean or null` - - True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role workspace_user and cannot be removed. - - - `service_account_id: string` - - Tagged service account ID (`svac_...`). - - - `type: "service_account_workspace_member"` - - - `"service_account_workspace_member"` - - - `workspace_id: string` - - Tagged workspace ID (`wrkspc_...`). - - - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more` - - Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. - - - `"workspace_admin"` - - - `"workspace_billing"` - - - `"workspace_developer"` - - - `"workspace_restricted_developer"` - - - `"workspace_user"` - -### Service Account Update Response - -- `ServiceAccountUpdateResponse object { created_by_actor_id, implicit, service_account_id, 3 more }` - - - `created_by_actor_id: string or null` - - Tagged ID (`user_...`/`svac_...`) of the actor who created this membership. - - - `implicit: boolean or null` - - True when this is the implicit default-workspace membership every service account has when no explicit membership exists. Implicit memberships have role workspace_user and cannot be removed. - - - `service_account_id: string` - - Tagged service account ID (`svac_...`). - - - `type: "service_account_workspace_member"` - - - `"service_account_workspace_member"` - - - `workspace_id: string` - - Tagged workspace ID (`wrkspc_...`). - - - `workspace_role: "workspace_admin" or "workspace_billing" or "workspace_developer" or 2 more` - - Role of the service account in this workspace. Service accounts cannot hold the `workspace_billing` role. - - - `"workspace_admin"` - - - `"workspace_billing"` - - - `"workspace_developer"` - - - `"workspace_restricted_developer"` - - - `"workspace_user"` - -### Service Account Delete Response - -- `ServiceAccountDeleteResponse object { service_account_id, type, workspace_id }` - - - `service_account_id: string` - - Tagged service account ID (`svac_...`) named in the delete request. Removal is idempotent; see the endpoint description for the implicit-membership no-op. - - - `type: "service_account_workspace_member_deleted"` - - - `"service_account_workspace_member_deleted"` - - - `workspace_id: string` - - Tagged workspace ID (`wrkspc_...`) named in the delete request.