Claude Platform Docs

Actualizar regla de federación

BetaFederationRule beta().organization().federation().rules().update(params = RuleUpdateParams.none(), requestOptions = RequestOptions.none())
POST/v1/organizations/federation_rules/{federation_rule_id}

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.

Actualiza parcialmente una regla de federación.

issuer_id es inmutable. match y target se reemplazan como objetos completos cuando se establecen. Las cuentas de servicio y los espacios de trabajo referenciados deben existir en tu organización; las referencias no válidas se rechazan con un error 400. Las reglas archivadas no se pueden actualizar; esto devuelve 400. En su lugar, crea una nueva regla. Las reglas sobre emisores compartidos conocidos (GitHub Actions, GitLab, Buildkite, Terraform Cloud, Google) deben restringir la identidad del tenant mediante un claim que contenga identidad, un prefijo de subject que fije el tenant (como repo:YOUR_ORG/...) o una condición CEL que haga referencia a uno de esos claims de identidad (p. ej., claims.repository_owner). En estos emisores, el requisito se vuelve a comprobar en cada actualización; si la coincidencia almacenada de una regla existente todavía no restringe la identidad del tenant, cualquier actualización (incluso un cambio de nombre o de descripción) también debe proporcionar un match conforme en la misma solicitud. Los llamadores OAuth solo pueden administrar reglas cuyo oauth_scope sea workspace:developer o workspace:inference; otros alcances requieren una sesión de Console.

Parameters
RuleUpdateParams params
Optional<String> federationRuleId⁠Path parameter

ID of the federation rule to update.

Optional<List<AnthropicBeta>> betas⁠Header parameter

Optional header to specify the beta version(s) you want to use.

MESSAGE_BATCHES_2024_09_24("message-batches-2024-09-24")
PROMPT_CACHING_2024_07_31("prompt-caching-2024-07-31")
COMPUTER_USE_2024_10_22("computer-use-2024-10-22")
COMPUTER_USE_2025_01_24("computer-use-2025-01-24")
PDFS_2024_09_25("pdfs-2024-09-25")
TOKEN_COUNTING_2024_11_01("token-counting-2024-11-01")
TOKEN_EFFICIENT_TOOLS_2025_02_19("token-efficient-tools-2025-02-19")
OUTPUT_128K_2025_02_19("output-128k-2025-02-19")
FILES_API_2025_04_14("files-api-2025-04-14")
MCP_CLIENT_2025_04_04("mcp-client-2025-04-04")
MCP_CLIENT_2025_11_20("mcp-client-2025-11-20")
DEV_FULL_THINKING_2025_05_14("dev-full-thinking-2025-05-14")
INTERLEAVED_THINKING_2025_05_14("interleaved-thinking-2025-05-14")
CODE_EXECUTION_2025_05_22("code-execution-2025-05-22")
EXTENDED_CACHE_TTL_2025_04_11("extended-cache-ttl-2025-04-11")
CONTEXT_1M_2025_08_07("context-1m-2025-08-07")
CONTEXT_MANAGEMENT_2025_06_27("context-management-2025-06-27")
MODEL_CONTEXT_WINDOW_EXCEEDED_2025_08_26("model-context-window-exceeded-2025-08-26")
SKILLS_2025_10_02("skills-2025-10-02")
FAST_MODE_2026_02_01("fast-mode-2026-02-01")
OUTPUT_300K_2026_03_24("output-300k-2026-03-24")
USER_PROFILES_2026_03_24("user-profiles-2026-03-24")
USER_PROFILES_2026_08_18("user-profiles-2026-08-18")
USER_PROFILES_2026_09_04("user-profiles-2026-09-04")
ADVISOR_TOOL_2026_03_01("advisor-tool-2026-03-01")
MANAGED_AGENTS_2026_04_01("managed-agents-2026-04-01")
CACHE_DIAGNOSIS_2026_04_07("cache-diagnosis-2026-04-07")
DREAMING_2026_04_21("dreaming-2026-04-21")
THINKING_TOKEN_COUNT_2026_05_13("thinking-token-count-2026-05-13")
SERVER_SIDE_FALLBACK_2026_06_01("server-side-fallback-2026-06-01")
SERVER_SIDE_FALLBACK_2026_07_01("server-side-fallback-2026-07-01")
FALLBACK_CREDIT_2026_06_01("fallback-credit-2026-06-01")
FALLBACK_CREDIT_2026_07_01("fallback-credit-2026-07-01")
AGENT_MEMORY_2026_07_22("agent-memory-2026-07-22")
MID_CONVERSATION_TOOL_CHANGES_2026_07_01("mid-conversation-tool-changes-2026-07-01")
COMPACT_2026_01_12("compact-2026-01-12")
COMPUTER_USE_2025_11_24("computer-use-2025-11-24")
MCP_TUNNELS_2026_06_22("mcp-tunnels-2026-06-22")
STRUCTURED_OUTPUTS_2025_11_13("structured-outputs-2025-11-13")
TASK_BUDGETS_2026_03_13("task-budgets-2026-03-13")
THINKING_DISPLAY_UPDATES_2026_08_18("thinking-display-updates-2026-08-18")
CE_USER_MANAGEMENT_2026_07_13("ce-user-management-2026-07-13")
MID_CONVERSATION_OUTPUT_CONFIG_2026_07_01("mid-conversation-output-config-2026-07-01")
THINKING_BINDING_CONTROLS_2026_08_01("thinking-binding-controls-2026-08-01")
MID_CONVERSATION_SYSTEM_CLEAR_AT_2026_08_21("mid-conversation-system-clear-at-2026-08-21")
COMPACT_2026_09_04("compact-2026-09-04")
INLINE_TOOLS_2026_09_15("inline-tools-2026-09-15")
MCP_CLIENT_2026_09_15("mcp-client-2026-09-15")
CE_PLUGINS_2026_09_01("ce-plugins-2026-09-01")
SPEND_LIMIT_READS_2026_09_26("spend-limit-reads-2026-09-26")
TELEMETRY_DESTINATIONS_2026_08_11("telemetry-destinations-2026-08-11")
Optional<Boolean> appliesToAllWorkspaces

When true, enables this rule for every workspace in the org (including workspaces created later). Setting false is rejected with 400 if no workspace would remain enabled; a rule with only a legacy workspace_id binding continues to mint.

Optional<Attributes> attributes

Replaces the CEL expressions {name: expr} extracting named values from claims. Send null to clear them. Not yet supported; any non-empty value is rejected with 400.

Optional<String> description

Replaces the description. Omit to leave unchanged; send null to clear (the field is stored as an empty string).

maxLength2000
Optional<BetaFederationRuleMatch> match

Replaces the entire match object. All populated matcher fields must pass.

Optional<String> name

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

minLength1
maxLength255
Optional<String> oauthScope

Replaces the space-separated OAuth scopes granted on minted tokens. OAuth callers may only set workspace:developer or workspace:inference; other scopes (such as org:admin) require a Console session.

minLength1
Optional<BetaServiceAccountTarget> target

Replaces the entire target object. Currently always a service_account target.

Optional<Long> tokenLifetimeSeconds

Replaces the lifetime in seconds for access tokens minted via this rule (60-86400). Minted tokens are capped at max(60, min(this value, 2 × remaining assertion validity)) seconds.

minimum60
maximum86400
Optional<String> workspaceId

Replaces the existing single workspace enablement (the previous one is removed). Rejected with 400 if the rule is enabled for more than one workspace; use the /federation_rules/{federation_rule_id}/workspaces sub-resource instead.

Returns
class BetaFederationRule { type = "federation_rule"; id; appliesToAllWorkspaces; /* 17 more */ }

Authorization rule binding an external OIDC identity to Anthropic.

Evaluates the match conditions and mints an OAuth access token for the resolved target, scoped to a single workspace where the rule is enabled (chosen by the caller at exchange time when the rule is enabled for more than one). For rules enabled via workspace_ids or applies_to_all_workspaces, the target service account must be a member of that workspace (it is implicitly a member of the default workspace); rules carrying only the legacy workspace_id binding do not enforce this.

Actualizar regla de federación
package com.anthropic.example;

import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.beta.organization.federation.rules.BetaFederationRule;
import com.anthropic.models.beta.organization.federation.rules.RuleUpdateParams;

public final class Main {
    private Main() {}

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

        BetaFederationRule betaFederationRule = client.beta().organization().federation().rules().update("federation_rule_id");
    }
}
Returns Examples
Response 200
{
  "id": "fdrl_01SDCCSbTxrXDpWc1phhtcfK",
  "applies_to_all_workspaces": true,
  "archived_at": "2019-12-27T18:11:19.117Z",
  "archived_by_actor_id": "archived_by_actor_id",
  "attributes": {
    "foo": "string"
  },
  "created_at": "2024-10-30T23:58:27.427722Z",
  "created_by_actor_id": "created_by_actor_id",
  "description": "description",
  "issuer_id": "issuer_id",
  "issuer_name": "issuer_name",
  "match": {
    "audience": "audience",
    "claims": {
      "foo": "string"
    },
    "condition": "condition",
    "subject_prefix": "subject_prefix"
  },
  "name": "prod-deploy-pipeline",
  "oauth_scope": "oauth_scope",
  "target": {
    "service_account_id": "svac_01SDCCSbTxrXDpWc1phhtcfK",
    "type": "service_account",
    "service_account_name": "service_account_name"
  },
  "token_lifetime_seconds": 0,
  "type": "federation_rule",
  "updated_at": "2024-10-30T23:58:27.427722Z",
  "updated_by_actor_id": "updated_by_actor_id",
  "workspace_id": "workspace_id",
  "workspace_ids": [
    "string"
  ]
}