Claude Platform Docs

Create Federation Issuer

BetaFederationIssuer Beta.Organization.Federation.Issuers.Create(parameters, cancellationToken = default)
POST/v1/organizations/federation_issuers

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Register an OIDC issuer that Anthropic will trust for workload identity federation in your organization.

The jwks field controls how the issuer's signing keys are obtained and takes one of three shapes selected by type: discovery (resolve keys through OIDC discovery), explicit_url (fetch keys from a fixed JWKS URL), or inline (provide a static key set). When jwks.type is discovery and no discovery_base is set, the issuer URL must be publicly reachable over HTTPS so Anthropic can fetch the discovery document; for explicit_url and inline modes the issuer URL is only matched as the JWT's iss claim and is not fetched.

Parameters
IssuerCreateParams parameters
required string issuerUrl

Body param: The iss claim value to match against.

minLength1
required string name

Body param: Slug identifier (lowercase, digits, hyphens). Unique within the organization; a duplicate name returns 409.

maxLength255
minLength1
bool? checkJti

Body param: Whether the jwt-bearer exchange enforces JTI single-use (replay protection) for tokens from this issuer. Defaults to true. Applies only to assertions carrying a jti claim; tokens without one are accepted without single-use enforcement.

Jwks jwks

Body param: How signing keys are obtained. Defaults to OIDC discovery.

class BetaJwksDiscovery { Type = "discovery"; CACertPem; DiscoveryBase; }

JWKS via the issuer's OIDC discovery document.

JsonElement Type = "discovery"
string? CACertPem

Optional custom CA (PEM) for TLS verification of the JWKS fetch.

maxLength8192
string? DiscoveryBase

Set when the discovery URL differs from issuer_url.

class BetaJwksExplicitUrl { Type = "explicit_url"; Url; CACertPem; }

JWKS fetched from a fixed endpoint.

JsonElement Type = "explicit_url"
required string Url

JWKS endpoint.

minLength1
string? CACertPem

Optional custom CA (PEM) for TLS verification of the JWKS fetch.

maxLength8192
class BetaJwksInline { Type = "inline"; Keys; }

JWKS supplied directly; no network fetch.

JsonElement Type = "inline"
required IReadOnlyList<IReadOnlyDictionary<string, JsonElement>> Keys

Inline JWK objects.

minItems1
long? maxJwtLifetimeSeconds

Body param: Maximum allowed iat→exp spread for assertions from this issuer (1-176400 seconds, i.e. up to 49h). Defaults to 3600 (1h). Assertions must carry both iat and exp; a missing iat is rejected.

maximum176400
exclusiveMinimum0
IReadOnlyList<AnthropicBeta> betas

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

MessageBatches2024_09_24("message-batches-2024-09-24")
PromptCaching2024_07_31("prompt-caching-2024-07-31")
ComputerUse2024_10_22("computer-use-2024-10-22")
ComputerUse2025_01_24("computer-use-2025-01-24")
Pdfs2024_09_25("pdfs-2024-09-25")
TokenCounting2024_11_01("token-counting-2024-11-01")
TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")
Output128k2025_02_19("output-128k-2025-02-19")
FilesApi2025_04_14("files-api-2025-04-14")
McpClient2025_04_04("mcp-client-2025-04-04")
McpClient2025_11_20("mcp-client-2025-11-20")
DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")
InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")
CodeExecution2025_05_22("code-execution-2025-05-22")
ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")
Context1m2025_08_07("context-1m-2025-08-07")
ContextManagement2025_06_27("context-management-2025-06-27")
ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")
Skills2025_10_02("skills-2025-10-02")
FastMode2026_02_01("fast-mode-2026-02-01")
Output300k2026_03_24("output-300k-2026-03-24")
UserProfiles2026_03_24("user-profiles-2026-03-24")
UserProfiles2026_08_18("user-profiles-2026-08-18")
UserProfiles2026_09_04("user-profiles-2026-09-04")
AdvisorTool2026_03_01("advisor-tool-2026-03-01")
ManagedAgents2026_04_01("managed-agents-2026-04-01")
CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")
Dreaming2026_04_21("dreaming-2026-04-21")
ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")
ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")
ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")
FallbackCredit2026_06_01("fallback-credit-2026-06-01")
FallbackCredit2026_07_01("fallback-credit-2026-07-01")
AgentMemory2026_07_22("agent-memory-2026-07-22")
MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")
Compact2026_01_12("compact-2026-01-12")
ComputerUse2025_11_24("computer-use-2025-11-24")
McpTunnels2026_06_22("mcp-tunnels-2026-06-22")
StructuredOutputs2025_11_13("structured-outputs-2025-11-13")
TaskBudgets2026_03_13("task-budgets-2026-03-13")
ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")
CEUserManagement2026_07_13("ce-user-management-2026-07-13")
MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")
ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")
MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")
Compact2026_09_04("compact-2026-09-04")
Returns
class BetaFederationIssuer { Type = "federation_issuer"; ID; ArchivedAt; /* 12 more */ }

Registered external OIDC identity provider.

Records an external IdP the organization trusts for the RFC 7523 jwt-bearer grant. The issuer_url must match the JWT iss claim exactly.

Create Federation Issuer
IssuerCreateParams parameters = new()
{
    IssuerUrl = "x",
    Name = "x",
};

var betaFederationIssuer = await client.Beta.Organization.Federation.Issuers.Create(parameters);

Console.WriteLine(betaFederationIssuer);
Returns Examples
Response 200
{
  "id": "fdis_01SDCCSbTxrXDpWc1phhtcfK",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "archived_by_actor_id": "archived_by_actor_id",
  "check_jti": true,
  "created_at": "2024-10-30T23:58:27.427722Z",
  "created_by_actor_id": "created_by_actor_id",
  "issuer_url": "https://token.actions.githubusercontent.com",
  "jwks": {
    "type": "discovery",
    "ca_cert_pem": "ca_cert_pem",
    "discovery_base": "discovery_base"
  },
  "jwks_polling_disabled_at": "2019-12-27T18:11:19.117Z",
  "max_jwt_lifetime_seconds": 0,
  "name": "github-actions",
  "poll_status": {
    "consecutive_failures": 0,
    "last_fetched_at": "2019-12-27T18:11:19.117Z",
    "next_poll_at": "2019-12-27T18:11:19.117Z"
  },
  "type": "federation_issuer",
  "updated_at": "2024-10-30T23:58:27.427722Z",
  "updated_by_actor_id": "updated_by_actor_id"
}