Claude Platform Docs

将工作区添加到服务账号

organization.service_accounts.workspaces.add(service_account_id, **kwargs) -> ServiceAccountWorkspaceMember
POST/v1/organizations/service_accounts/{service_account_id}/workspaces

需要具有 org:admin 作用域的 OAuth 访问令牌,可通过 ant auth login --scope org:admin 或工作负载身份联合规则获取;不接受 Admin API 密钥。请参阅使用 Admin API 管理 WIF。

以指定的 workspace_role 将服务账号添加到工作区。

这是 POST /workspaces/{workspace_id}/service_accounts 的镜像操作,从服务账号一侧发起;两者创建的是相同的成员资格。如果服务账号已是该工作区的显式成员,其 workspace_role 将被替换为此处提供的值。已归档的工作区将返回 400。已归档的服务账号无法添加,将被拒绝。

Parameters
service_account_id: str⁠Path parameter

ID of the service account.

workspace_id: str

Tagged workspace ID to add the service account to.

workspace_role: NoBillingWorkspaceRole

Role to assign to the service account in this workspace.

One of the following:
"workspace_admin"
"workspace_developer"
"workspace_restricted_developer"
"workspace_user"
Returns
class ServiceAccountWorkspaceMember: type: "service_account_workspace_member"; created_by_actor_id; implicit; ... # 3 more
type: Literal["service_account_workspace_member"]
defaultservice_account_workspace_member
created_by_actor_id: Optional[str]

Tagged ID (user_.../svac_...) of the actor who created this membership.

implicit: Optional[bool]

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: str

Tagged service account ID (svac_...).

workspace_id: str

Tagged workspace ID (wrkspc_...).

workspace_role: WorkspaceRole

Role of the service account in this workspace. Service accounts cannot hold the workspace_billing role.

One of the following:
"workspace_admin"
"workspace_billing"
"workspace_developer"
"workspace_restricted_developer"
"workspace_user"
将工作区添加到服务账号
import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get(
        "ANTHROPIC_API_KEY"
    ),  # This is the default and can be omitted
)
service_account_workspace_member = client.organization.service_accounts.workspaces.add(
    service_account_id="service_account_id",
    workspace_id="workspace_id",
    workspace_role="workspace_admin",
)
print(service_account_workspace_member.created_by_actor_id)
Returns Examples
Response 200
{
  "created_by_actor_id": "created_by_actor_id",
  "implicit": true,
  "service_account_id": "service_account_id",
  "type": "service_account_workspace_member",
  "workspace_id": "workspace_id",
  "workspace_role": "workspace_admin"
}