Claude Platform Docs

Agregar espacio de trabajo a la cuenta de servicio

ServiceAccountWorkspaceMember organization().serviceAccounts().workspaces().add(params, requestOptions = RequestOptions.none())
POST/v1/organizations/service_accounts/{service_account_id}/workspaces

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.

Agrega una cuenta de servicio a un espacio de trabajo con el workspace_role indicado.

Es el equivalente de POST /workspaces/{workspace_id}/service_accounts, abordado desde el lado de la cuenta de servicio; ambos crean la misma membresía. Si la cuenta de servicio ya es miembro explícito del espacio de trabajo, su workspace_role se reemplaza por el valor proporcionado aquí. Los espacios de trabajo archivados devuelven 400. Las cuentas de servicio archivadas no se pueden agregar y se rechazan.

Parameters
WorkspaceAddParams params
Optional<String> serviceAccountId⁠Path parameter

ID of the service account.

String workspaceId

Tagged workspace ID to add the service account to.

NoBillingWorkspaceRole workspaceRole

Role to assign to the service account in this workspace.

Returns
class ServiceAccountWorkspaceMember { type = "service_account_workspace_member"; createdByActorId; implicit; /* 3 more */ }
JsonValue type = "service_account_workspace_member"
Optional<String> createdByActorId

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

Optional<Boolean> implicit

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.

String serviceAccountId

Tagged service account ID (svac_...).

String workspaceId

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:
WORKSPACE_ADMIN("workspace_admin")
WORKSPACE_BILLING("workspace_billing")
WORKSPACE_DEVELOPER("workspace_developer")
WORKSPACE_RESTRICTED_DEVELOPER("workspace_restricted_developer")
WORKSPACE_USER("workspace_user")
Agregar espacio de trabajo a la cuenta de servicio
package com.anthropic.example;

import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.organization.serviceaccounts.ServiceAccountWorkspaceMember;
import com.anthropic.models.organization.serviceaccounts.workspaces.WorkspaceAddParams;
import com.anthropic.models.organization.workspaces.NoBillingWorkspaceRole;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        AnthropicClient client = AnthropicOkHttpClient.fromEnv();

        WorkspaceAddParams params = WorkspaceAddParams.builder()
            .serviceAccountId("service_account_id")
            .workspaceId("workspace_id")
            .workspaceRole(NoBillingWorkspaceRole.WORKSPACE_ADMIN)
            .build();
        ServiceAccountWorkspaceMember serviceAccountWorkspaceMember = client.organization().serviceAccounts().workspaces().add(params);
    }
}
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"
}