Claude Platform Docs

Crear cuenta de servicio

client.Organization.ServiceAccounts.New(ctx, body) (*ServiceAccount, error)
POST/v1/organizations/service_accounts

Requiere un token de acceso OAuth con el alcance org:admin, obtenido de ant auth login --scope org:admin o de una regla de federación de identidades de carga de trabajo; no se aceptan claves de Admin API. Consulta Administrar WIF con la Admin API.

Crea una cuenta de servicio.

Una cuenta de servicio es una identidad de carga de trabajo con nombre a la que apuntan las reglas de federación. organization_role es developer (predeterminado) o admin; una regla solo se puede crear o redirigir para otorgar el alcance org:admin cuando el organization_role del destino es admin. Crear una cuenta de servicio con rol admin requiere una credencial interactiva (un token OAuth de usuario o una sesión de Console); una carga de trabajo solo puede crear cuentas de servicio con rol 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).

Crear cuenta de servicio
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"
}