Claude Platform Docs

Créer un compte de service membre d'un espace de travail

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

Nécessite un jeton d'accès OAuth avec la portée org:admin, obtenu via ant auth login --scope org:admin ou une règle de workload identity federation (fédération d'identité de charge de travail) ; les clés Admin API ne sont pas acceptées. Consultez Gérer WIF avec l'Admin API.

Ajoutez un compte de service à un espace de travail avec le workspace_role indiqué.

Le rôle détermine ce que le compte de service peut faire dans l'espace de travail et quelles autorisations limitées à l'espace de travail peuvent lui être accordées lors de l'authentification via la fédération. Chaque compte de service est déjà membre implicite workspace_user de l'espace de travail par défaut ; l'ajouter explicitement lui attribue un rôle choisi. Si le compte de service est déjà membre explicite de l'espace de travail, son workspace_role est remplacé par la valeur fournie ici. Les espaces de travail archivés renvoient 400. Les comptes de service archivés ne peuvent pas être ajoutés et sont rejetés.

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"
Créer un compte de service membre d'un espace de travail
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"
}