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 或工作負載身分聯合(workload identity federation)規則取得;不接受 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"
}