Claude Platform Docs

Rules

Create Federation Rule
client.Beta.Organization.Federation.Rules.New(ctx, params) (*BetaFederationRule, error)
POST/v1/organizations/federation_rules
List Federation Rules
client.Beta.Organization.Federation.Rules.List(ctx, params) (*PageCursor[BetaFederationRule], error)
GET/v1/organizations/federation_rules
Get Federation Rule
client.Beta.Organization.Federation.Rules.Get(ctx, federationRuleID, query) (*BetaFederationRule, error)
GET/v1/organizations/federation_rules/{federation_rule_id}
Update Federation Rule
client.Beta.Organization.Federation.Rules.Update(ctx, federationRuleID, params) (*BetaFederationRule, error)
POST/v1/organizations/federation_rules/{federation_rule_id}
Archive Federation Rule
client.Beta.Organization.Federation.Rules.Archive(ctx, federationRuleID, body) (*BetaFederationRule, error)
POST/v1/organizations/federation_rules/{federation_rule_id}/archive
Models
type BetaFederationRule struct{…}

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.

type BetaFederationRuleMatch struct{…}

Does 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, or condition is required; audience alone is not sufficient.

Audience string Optional

Exact match against the aud claim (any element if array). When omitted, the JWT's aud must still equal Anthropic's expected audience for the issuer; setting this field overrides that default.

maxLength1024
Claims map[string, string] Optional

Exact-match {claim: value} pairs against top-level claims. Only string-valued claims can be matched; use condition for non-string claims.

Condition string Optional

CEL expression over claims for logic the structural fields can't express. Must evaluate to a boolean and may reference only the claims variable; a constant-true expression (such as true) is rejected with 400.

maxLength4096
SubjectPrefix string Optional

Match the verified JWT sub claim. 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.

maxLength1024
type BetaFederationRuleWorkspace struct{…}
CreatedAt Time

When this workspace was enabled for the rule.

formatdate-time
CreatedByActorID string

Tagged ID (user_... or svac_...) of the actor that enabled this workspace for the rule, if known.

FederationRuleID string

Tagged ID of the federation rule.

Type FederationRuleWorkspace
defaultfederation_rule_workspace
WorkspaceID string

Tagged ID of the workspace this rule is enabled for.

WorkspaceName string

Workspace display name. Populated when listing; null in the enable response.

type BetaServiceAccountTarget struct{…}

Bind to a fixed service account by ID.

ServiceAccountID string

Tagged ID of the service account to mint tokens for.

Type ServiceAccount
ServiceAccountName string Optional

Service account's display name at read time. Ignored on writes.

Add Federation Rule Workspace
client.Beta.Organization.Federation.Rules.Workspaces.Add(ctx, federationRuleID, params) (*BetaFederationRuleWorkspace, error)
POST/v1/organizations/federation_rules/{federation_rule_id}/workspaces
List Federation Rule Workspaces
client.Beta.Organization.Federation.Rules.Workspaces.List(ctx, federationRuleID, params) (*PageCursor[BetaFederationRuleWorkspace], error)
GET/v1/organizations/federation_rules/{federation_rule_id}/workspaces
Remove Federation Rule Workspace
client.Beta.Organization.Federation.Rules.Workspaces.Remove(ctx, workspaceID, params) (*BetaOrganizationFederationRuleWorkspaceRemoveResponse, error)
DELETE/v1/organizations/federation_rules/{federation_rule_id}/workspaces/{workspace_id}