Claude Platform Docs

Remove Workspace From Service Account

organization.service_accounts.workspaces.remove(workspace_id, **kwargs) -> WorkspaceRemoveResponse
DELETE/v1/organizations/service_accounts/{service_account_id}/workspaces/{workspace_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Remove a service account from a workspace.

Mirror of DELETE /workspaces/{workspace_id}/service_accounts/{service_account_id}, addressed from the service-account side. Removal is idempotent (returns 200 even if the membership was already removed). A DELETE against the implicit default-workspace membership returns 200 but is a no-op and the membership persists; deleting an explicit default-workspace row reverts to the implicit workspace_user membership. Archived workspaces return 400.

Parameters
service_account_id: String⁠Path parameter

ID of the service account.

workspace_id: String⁠Path parameter

ID of the workspace.

Returns
class WorkspaceRemoveResponse { type: :service_account_workspace_member_deleted, service_account_id, workspace_id }
type: :service_account_workspace_member_deleted
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.

workspace_id: String

Tagged workspace ID (wrkspc_...) named in the delete request.

Remove Workspace From Service Account
require "anthropic"

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

workspace = anthropic.organization.service_accounts.workspaces.remove(
  "workspace_id",
  service_account_id: "service_account_id"
)

puts(workspace)
Returns Examples
Response 200
{
  "service_account_id": "service_account_id",
  "type": "service_account_workspace_member_deleted",
  "workspace_id": "workspace_id"
}