Anthropic · Schema

FederationIssuer

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.

LLMAnthropicArtificial IntelligenceClaudeFoundation ModelsMachine LearningMCPAgents

Properties

Name Type Description
archived_at object If set, all rules referencing this issuer reject token exchange.
archived_by_actor_id object Tagged ID (`user_`/`svac_`) of the actor that archived this issuer.
check_jti boolean Whether the jwt-bearer exchange enforces JTI single-use (replay protection) for tokens from this issuer. Applies only to assertions carrying a `jti` claim; tokens without one are accepted without sing
created_at string When this issuer was created.
created_by_actor_id object Tagged ID (`user_`/`svac_`) of the actor that created this issuer.
id string Tagged ID of the federation issuer.
issuer_url string The `iss` claim value. Incoming JWTs must match exactly.
jwks object How signing keys are obtained for signature verification.
jwks_polling_disabled_at object If set, Anthropic's JWKS poller has paused polling for this issuer after repeated fetch failures. Re-enable by sending `jwks_polling_disabled: false` via the issuer update endpoint (POST) once the ups
max_jwt_lifetime_seconds integer Maximum allowed iat→exp spread for assertions from this issuer (1-176400 seconds, i.e. up to 49h). Assertions must carry both `iat` and `exp`; a missing `iat` is rejected.
name string Admin-chosen slug identifier.
poll_status object Live state of Anthropic's JWKS polling for this issuer. Populated on both single-issuer retrieval and list responses, including archived issuers. Typically null for inline-key issuers (no polling), or
type string
updated_at string When this issuer was last updated.
updated_by_actor_id object Tagged ID (`user_`/`svac_`) of the actor that last updated this issuer.
View JSON Schema on GitHub

JSON Schema

anthropic-beta-federation-issuer-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/anthropic/main/json-schema/anthropic-beta-federation-issuer-schema.json",
  "title": "FederationIssuer",
  "description": "Registered external OIDC identity provider.\n\nRecords an external IdP the organization trusts for the RFC 7523\njwt-bearer grant. The `issuer_url` must match the JWT `iss` claim exactly.",
  "x-generated": "2026-09-23",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/anthropic-organizations-api-openapi.yml#/components/schemas/BetaFederationIssuer",
  "properties": {
    "archived_at": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ],
      "title": "Archived At",
      "description": "If set, all rules referencing this issuer reject token exchange."
    },
    "archived_by_actor_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Archived By Actor Id",
      "description": "Tagged ID (`user_`/`svac_`) of the actor that archived this issuer."
    },
    "check_jti": {
      "type": "boolean",
      "title": "Check Jti",
      "description": "Whether the jwt-bearer exchange enforces JTI single-use (replay protection) for tokens from this issuer. Applies only to assertions carrying a `jti` claim; tokens without one are accepted without single-use enforcement."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "title": "Created At",
      "description": "When this issuer was created."
    },
    "created_by_actor_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Created By Actor Id",
      "description": "Tagged ID (`user_`/`svac_`) of the actor that created this issuer."
    },
    "id": {
      "type": "string",
      "title": "Id",
      "description": "Tagged ID of the federation issuer."
    },
    "issuer_url": {
      "type": "string",
      "title": "Issuer Url",
      "description": "The `iss` claim value. Incoming JWTs must match exactly."
    },
    "jwks": {
      "oneOf": [
        {
          "$ref": "#/$defs/BetaJwksDiscovery"
        },
        {
          "$ref": "#/$defs/BetaJwksExplicitUrl"
        },
        {
          "$ref": "#/$defs/BetaJwksInline"
        }
      ],
      "title": "Jwks",
      "description": "How signing keys are obtained for signature verification."
    },
    "jwks_polling_disabled_at": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ],
      "title": "Jwks Polling Disabled At",
      "description": "If set, Anthropic's JWKS poller has paused polling for this issuer after repeated fetch failures. Re-enable by sending `jwks_polling_disabled: false` via the issuer update endpoint (POST) once the upstream JWKS endpoint is fixed. An OAuth caller cannot send this when the issuer backs a rule with any scope other than `workspace:developer` or `workspace:inference`; use a Console session."
    },
    "max_jwt_lifetime_seconds": {
      "type": "integer",
      "title": "Max Jwt Lifetime Seconds",
      "description": "Maximum allowed iat→exp spread for assertions from this issuer (1-176400 seconds, i.e. up to 49h). Assertions must carry both `iat` and `exp`; a missing `iat` is rejected."
    },
    "name": {
      "type": "string",
      "title": "Name",
      "description": "Admin-chosen slug identifier."
    },
    "poll_status": {
      "anyOf": [
        {
          "$ref": "#/$defs/BetaIssuerPollStatus"
        },
        {
          "type": "null"
        }
      ],
      "description": "Live state of Anthropic's JWKS polling for this issuer. Populated on both single-issuer retrieval and list responses, including archived issuers. Typically null for inline-key issuers (no polling), or when poll status is temporarily unavailable or polling has not started yet."
    },
    "type": {
      "type": "string",
      "const": "federation_issuer",
      "title": "Type",
      "default": "federation_issuer"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "title": "Updated At",
      "description": "When this issuer was last updated."
    },
    "updated_by_actor_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Updated By Actor Id",
      "description": "Tagged ID (`user_`/`svac_`) of the actor that last updated this issuer."
    }
  },
  "type": "object",
  "required": [
    "archived_at",
    "archived_by_actor_id",
    "check_jti",
    "created_at",
    "created_by_actor_id",
    "id",
    "issuer_url",
    "jwks",
    "jwks_polling_disabled_at",
    "max_jwt_lifetime_seconds",
    "name",
    "poll_status",
    "type",
    "updated_at",
    "updated_by_actor_id"
  ],
  "$defs": {
    "BetaIssuerPollStatus": {
      "properties": {
        "consecutive_failures": {
          "type": "integer",
          "title": "Consecutive Failures",
          "description": "Consecutive fetch failures since the last success."
        },
        "last_fetched_at": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ],
          "title": "Last Fetched At",
          "description": "When the last successful fetch completed."
        },
        "next_poll_at": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ],
          "title": "Next Poll At",
          "description": "When the next fetch is scheduled. Null if paused."
        }
      },
      "type": "object",
      "required": [
        "consecutive_failures",
        "last_fetched_at",
        "next_poll_at"
      ],
      "title": "IssuerPollStatus",
      "description": "Status of automatic JWKS polling for a federation issuer.\n\nAnthropic periodically fetches the issuer's signing keys in the\nbackground. These fields summarize the most recent fetches so the\nhealth of the JWKS endpoint can be monitored."
    },
    "BetaJwksDiscovery": {
      "properties": {
        "ca_cert_pem": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 8192
            },
            {
              "type": "null"
            }
          ],
          "title": "Ca Cert Pem",
          "description": "Optional custom CA (PEM) for TLS verification of the JWKS fetch."
        },
        "discovery_base": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Discovery Base",
          "description": "Set when the discovery URL differs from `issuer_url`."
        },
        "type": {
          "type": "string",
          "const": "discovery",
          "title": "Type"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "type"
      ],
      "title": "JwksDiscovery",
      "description": "JWKS via the issuer's OIDC discovery document."
    },
    "BetaJwksExplicitUrl": {
      "properties": {
        "ca_cert_pem": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 8192
            },
            {
              "type": "null"
            }
          ],
          "title": "Ca Cert Pem",
          "description": "Optional custom CA (PEM) for TLS verification of the JWKS fetch."
        },
        "type": {
          "type": "string",
          "const": "explicit_url",
          "title": "Type"
        },
        "url": {
          "type": "string",
          "minLength": 1,
          "title": "Url",
          "description": "JWKS endpoint."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "type",
        "url"
      ],
      "title": "JwksExplicitUrl",
      "description": "JWKS fetched from a fixed endpoint."
    },
    "BetaJwksInline": {
      "properties": {
        "keys": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array",
          "minItems": 1,
          "title": "Keys",
          "description": "Inline JWK objects."
        },
        "type": {
          "type": "string",
          "const": "inline",
          "title": "Type"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "keys",
        "type"
      ],
      "title": "JwksInline",
      "description": "JWKS supplied directly; no network fetch."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/anthropic-beta-federation-issuer"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.