Claude Platform Docs

Créer un compte de service

client.Organization.ServiceAccounts.New(ctx, body) (*ServiceAccount, error)
POST/v1/organizations/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.

Créez un compte de service.

Un compte de service est une identité de charge de travail nommée que ciblent les règles de fédération. organization_role vaut developer (par défaut) ou admin ; une règle ne peut être créée ou reciblée pour accorder la portée org:admin que lorsque l'organization_role de la cible est admin. La création d'un compte de service avec le rôle admin nécessite un identifiant interactif (un jeton OAuth utilisateur ou une session Console) — une charge de travail ne peut créer que des comptes de service avec le rôle developer.

Parameters
body OrganizationServiceAccountNewParams
Name string

Slug identifier (lowercase, digits, hyphens). Unique within the organization; a duplicate name returns 409.

minLength1
maxLength255
Description param.Opt[string] Optional

Optional free-text description.

maxLength2000

Org-level role. Defaults to developer.

const OrganizationServiceAccountNewParamsOrganizationRoleAdmin OrganizationServiceAccountNewParamsOrganizationRole = "admin"
const OrganizationServiceAccountNewParamsOrganizationRoleDeveloper OrganizationServiceAccountNewParamsOrganizationRole = "developer"
Returns
type ServiceAccount struct { Type: "service_account"; ID; ArchivedAt; /* 8 more */ }

Named non-human identity within the caller's organization.

A service account is a pure identity: name + org. Authorization lives on whatever references it (federation rules).

Créer un compte de service
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"),
	)
	serviceAccount, err := client.Organization.ServiceAccounts.New(context.TODO(), anthropic.OrganizationServiceAccountNewParams{
		Name: "ci-deploy-bot",
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", serviceAccount.ID)
}
Returns Examples
Response 200
{
  "id": "svac_01SDCCSbTxrXDpWc1phhtcfK",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "archived_by_actor_id": "archived_by_actor_id",
  "created_at": "2024-10-30T23:58:27.427722Z",
  "created_by_actor_id": "created_by_actor_id",
  "description": "description",
  "name": "ci-deploy-bot",
  "organization_role": "admin",
  "type": "service_account",
  "updated_at": "2024-10-30T23:58:27.427722Z",
  "updated_by_actor_id": "updated_by_actor_id"
}