Claude Platform Docs

建立服務帳戶工作區成員

ServiceAccountWorkspaceMember Organization.Workspaces.ServiceAccounts.Add(parameters, cancellationToken = default)
POST/v1/organizations/workspaces/{workspace_id}/service_accounts

需要具有 org:admin 範圍的 OAuth 存取權杖,可透過 ant auth login --scope org:admin 或工作負載身分聯合(workload identity federation)規則取得;不接受 Admin API 金鑰。請參閱使用 Admin API 管理 WIF。

以指定的 workspace_role 將服務帳戶新增至工作區。

角色決定服務帳戶在工作區中可執行的操作,以及透過聯合驗證時可被授予哪些工作區範圍的權限。每個服務帳戶都已是預設工作區的隱含 workspace_user 成員;明確新增則會指派所選的角色。若服務帳戶已是該工作區的明確成員,其 workspace_role 會被取代為此處提供的值。已封存的工作區會傳回 400。已封存的服務帳戶無法新增,並會被拒絕。

Parameters
ServiceAccountAddParams parameters
required string workspaceID⁠Path parameter

ID of the workspace.

required string serviceAccountID

Tagged service account ID to add.

required NoBillingWorkspaceRole workspaceRole

Role to assign to the service account in this workspace.

Returns
class ServiceAccountWorkspaceMember { Type = "service_account_workspace_member"; CreatedByActorID; Implicit; /* 3 more */ }
JsonElement Type = "service_account_workspace_member"
required string? CreatedByActorID

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

required bool? Implicit

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.

required string ServiceAccountID

Tagged service account ID (svac_...).

required string WorkspaceID

Tagged workspace ID (wrkspc_...).

required WorkspaceRole WorkspaceRole

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

One of the following:
WorkspaceAdmin("workspace_admin")
WorkspaceBilling("workspace_billing")
WorkspaceDeveloper("workspace_developer")
WorkspaceRestrictedDeveloper("workspace_restricted_developer")
WorkspaceUser("workspace_user")
建立服務帳戶工作區成員
using System;
using Anthropic.Models.Organization.Workspaces;
using Anthropic.Models.Organization.Workspaces.ServiceAccounts;

ServiceAccountAddParams parameters = new()
{
    WorkspaceID = "workspace_id",
    ServiceAccountID = "service_account_id",
    WorkspaceRole = NoBillingWorkspaceRole.WorkspaceAdmin,
};

var serviceAccountWorkspaceMember = await client.Organization.Workspaces.ServiceAccounts.Add(parameters);

Console.WriteLine(serviceAccountWorkspaceMember);
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"
}