Claude Platform Docs

서비스 계정 워크스페이스 멤버 업데이트

client.Organization.Workspaces.ServiceAccounts.Update(ctx, serviceAccountID, params) (*ServiceAccountWorkspaceMember, error)
POST/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}

org:admin 범위가 있는 OAuth 액세스 토큰이 필요합니다. 이 토큰은 ant auth login --scope org:admin 또는 워크로드 ID 페더레이션 규칙에서 얻을 수 있으며, Admin API 키는 허용되지 않습니다. Admin API로 WIF 관리를 참조하세요.

워크스페이스에서 서비스 계정의 역할을 변경합니다.

새 workspace_role이 현재 역할을 대체합니다. 명시적 멤버십만 업데이트할 수 있습니다. 암묵적 기본 워크스페이스 멤버십에 역할을 설정하려면 POST /workspaces/{workspace_id}/service_accounts로 서비스 계정을 명시적으로 추가하세요. 보관된 워크스페이스는 400을 반환합니다. 보관된 서비스 계정은 업데이트할 수 없으며 거부됩니다.

Parameters
serviceAccountID string⁠Path parameter

ID of the service account.

params OrganizationWorkspaceServiceAccountUpdateParams
WorkspaceID string⁠Path parameter

ID of the workspace.

WorkspaceRole NoBillingWorkspaceRole

New role for the service account in this workspace.

Returns
type ServiceAccountWorkspaceMember struct { Type: "service_account_workspace_member"; CreatedByActorID; Implicit; /* 3 more */ }
Type ServiceAccountWorkspaceMember
defaultservice_account_workspace_member
CreatedByActorID string

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

Implicit 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.

ServiceAccountID string

Tagged service account ID (svac_...).

WorkspaceID string

Tagged workspace ID (wrkspc_...).

WorkspaceRole WorkspaceRole

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

One of the following:
const WorkspaceRoleWorkspaceAdmin WorkspaceRole = "workspace_admin"
const WorkspaceRoleWorkspaceBilling WorkspaceRole = "workspace_billing"
const WorkspaceRoleWorkspaceDeveloper WorkspaceRole = "workspace_developer"
const WorkspaceRoleWorkspaceRestrictedDeveloper WorkspaceRole = "workspace_restricted_developer"
const WorkspaceRoleWorkspaceUser WorkspaceRole = "workspace_user"
서비스 계정 워크스페이스 멤버 업데이트
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	serviceAccountWorkspaceMember, err := client.Organization.Workspaces.ServiceAccounts.Update(
		context.TODO(),
		"service_account_id",
		anthropic.OrganizationWorkspaceServiceAccountUpdateParams{
			WorkspaceID:   "workspace_id",
			WorkspaceRole: anthropic.NoBillingWorkspaceRoleWorkspaceAdmin,
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", serviceAccountWorkspaceMember.CreatedByActorID)
}
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"
}