Claude Platform Docs

Добавить сервисный аккаунт в рабочее пространство

client.Organization.Workspaces.ServiceAccounts.Add(ctx, workspaceID, body) (*ServiceAccountWorkspaceMember, error)
POST/v1/organizations/workspaces/{workspace_id}/service_accounts

Требуется токен доступа OAuth с областью org:admin, полученный с помощью ant auth login --scope org:admin или правила федерации удостоверений рабочих нагрузок; ключи Admin API не принимаются. См. Управление WIF с помощью Admin API.

Добавляет сервисный аккаунт в рабочее пространство с указанной ролью workspace_role.

Роль определяет, что сервисный аккаунт может делать в рабочем пространстве и какие разрешения уровня рабочего пространства ему могут быть предоставлены при аутентификации через федерацию. Каждый сервисный аккаунт уже является неявным участником workspace_user рабочего пространства по умолчанию; явное добавление назначает выбранную роль. Если сервисный аккаунт уже является явным участником рабочего пространства, его workspace_role заменяется указанным здесь значением. Для архивированных рабочих пространств возвращается 400. Архивированные сервисные аккаунты нельзя добавить, такие запросы отклоняются.

Parameters
workspaceID string⁠Path parameter

ID of the workspace.

body OrganizationWorkspaceServiceAccountAddParams
ServiceAccountID string

Tagged service account ID to add.

WorkspaceRole NoBillingWorkspaceRole

Role to assign to 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.Add(
		context.TODO(),
		"workspace_id",
		anthropic.OrganizationWorkspaceServiceAccountAddParams{
			ServiceAccountID: "service_account_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"
}