Domain types
Beta Federation Rule
BetaFederationRule objectAuthorization 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_idsorapplies_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 legacyworkspace_idbinding do not enforce this.type: "federation_rule"default: federation_rule
id: stringTagged ID of the federation rule.
applies_to_all_workspaces: booleanWhen true, this rule is enabled for every workspace in the org (including ones created after the rule).
workspace_idsis ignored at exchange time.archived_at: string or nullIf set, this rule is archived and rejects token exchange.
format: date-time
archived_by_actor_id: string or nullTagged ID (
user_/svac_) of the actor that archived this rule.attributes: map[string] or nullCEL expressions extracting named values from claims. Not yet supported; always null.
created_at: stringWhen this rule was created.
format: date-time
created_by_actor_id: string or nullTagged ID (
user_/svac_) of the actor that created this rule.description: string or nullOptional free-text description.
issuer_id: stringTagged ID of the issuer whose tokens this rule accepts.
issuer_name: string or nullIssuer's display name at read time.
match: BetaFederationRuleMatchConditions the verified JWT must satisfy for this rule to apply. All populated matcher fields must pass.
audience: optional string or nullExact match against the
audclaim (any element if array). When omitted, the JWT'saudmust still equal Anthropic's expected audience for the issuer; setting this field overrides that default.maxLength: 1024
claims: optional map[string] or nullExact-match
\{claim: value\}pairs against top-level claims. Only string-valued claims can be matched; useconditionfor non-string claims.condition: optional string or nullCEL expression over claims for logic the structural fields can't express. Must evaluate to a boolean and may reference only the
claimsvariable; a constant-true expression (such astrue) is rejected with 400.maxLength: 4096
subject_prefix: optional string or nullMatch the verified JWT
subclaim. Exact match unless the value ends with*, in which case it is a prefix match. Example:repo:my-org/my-repo:ref:refs/heads/main.maxLength: 1024
name: stringAdmin-chosen slug identifier.
oauth_scope: stringSpace-separated OAuth scopes granted on the minted token.
target: BetaServiceAccountTargetIdentity that tokens minted via this rule act as. Currently always a
service_accounttarget.type: "service_account"service_account_id: stringTagged ID of the service account to mint tokens for.
service_account_name: optional string or nullService account's display name at read time. Ignored on writes.
token_lifetime_seconds: numberLifetime in seconds of access tokens minted via this rule. Minted tokens are capped at
max(60, min(this value, 2 × remaining assertion validity))seconds.updated_at: stringWhen this rule was last updated.
format: date-time
updated_by_actor_id: string or nullTagged ID (
user_/svac_) of the actor that last updated this rule.workspace_id: string or nullLegacy single-workspace binding. Prefer
workspace_idsand the/federation_rules/\{federation_rule_id\}/workspacessub-resource for managing workspace enablement.workspace_ids: array of stringTagged IDs of the workspaces this rule is enabled for. May be empty for older rules that only carry the legacy
workspace_idbinding. Ignored at exchange time whenapplies_to_all_workspacesis true (the list may still be non-empty).
Beta Federation Rule Match
BetaFederationRuleMatch objectDoes the incoming JWT qualify?
All populated fields must pass; omitted fields are skipped. At least one of
subject_prefix(other than a wildcard-only value like*),claims, orconditionis required;audiencealone is not sufficient.audience: optional string or nullExact match against the
audclaim (any element if array). When omitted, the JWT'saudmust still equal Anthropic's expected audience for the issuer; setting this field overrides that default.maxLength: 1024
claims: optional map[string] or nullExact-match
\{claim: value\}pairs against top-level claims. Only string-valued claims can be matched; useconditionfor non-string claims.condition: optional string or nullCEL expression over claims for logic the structural fields can't express. Must evaluate to a boolean and may reference only the
claimsvariable; a constant-true expression (such astrue) is rejected with 400.maxLength: 4096
subject_prefix: optional string or nullMatch the verified JWT
subclaim. Exact match unless the value ends with*, in which case it is a prefix match. Example:repo:my-org/my-repo:ref:refs/heads/main.maxLength: 1024
Beta Federation Rule Workspace
BetaFederationRuleWorkspace objecttype: "federation_rule_workspace"default: federation_rule_workspace
created_at: stringWhen this workspace was enabled for the rule.
format: date-time
created_by_actor_id: string or nullTagged ID (
user_...orsvac_...) of the actor that enabled this workspace for the rule, if known.federation_rule_id: stringTagged ID of the federation rule.
workspace_id: stringTagged ID of the workspace this rule is enabled for.
workspace_name: string or nullWorkspace display name. Populated when listing; null in the enable response.
Beta Service Account Target
BetaServiceAccountTarget objectBind to a fixed service account by ID.
type: "service_account"service_account_id: stringTagged ID of the service account to mint tokens for.
service_account_name: optional string or nullService account's display name at read time. Ignored on writes.