Resilience4j · Schema

Resilience4j Circuit Breaker Configuration

JSON Schema for Resilience4j circuit breaker configuration properties used in application.yml or application.properties.

BulkheadCircuit BreakerFault ToleranceJavaMicroservicesRate LimiterResilienceRetrySpring BootFunctional Programming

Properties

Name Type Description
resilience4j object
View JSON Schema on GitHub

JSON Schema

circuit-breaker-configuration.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/resilience4j/json-schema/circuit-breaker-configuration.json",
  "title": "Resilience4j Circuit Breaker Configuration",
  "description": "JSON Schema for Resilience4j circuit breaker configuration properties used in application.yml or application.properties.",
  "type": "object",
  "properties": {
    "resilience4j": {
      "type": "object",
      "properties": {
        "circuitbreaker": {
          "type": "object",
          "properties": {
            "configs": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/$defs/CircuitBreakerConfig"
              }
            },
            "instances": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/$defs/CircuitBreakerInstance"
              }
            }
          }
        }
      }
    }
  },
  "$defs": {
    "CircuitBreakerConfig": {
      "type": "object",
      "properties": {
        "slidingWindowType": {
          "type": "string",
          "enum": ["COUNT_BASED", "TIME_BASED"],
          "default": "COUNT_BASED",
          "description": "Type of sliding window used to record calls."
        },
        "slidingWindowSize": {
          "type": "integer",
          "default": 100,
          "description": "Size of the sliding window."
        },
        "minimumNumberOfCalls": {
          "type": "integer",
          "default": 100,
          "description": "Minimum number of calls before the circuit breaker can calculate the error rate."
        },
        "failureRateThreshold": {
          "type": "number",
          "default": 50,
          "description": "Failure rate threshold in percentage above which the circuit breaker opens."
        },
        "slowCallRateThreshold": {
          "type": "number",
          "default": 100,
          "description": "Slow call rate threshold in percentage."
        },
        "slowCallDurationThreshold": {
          "type": "string",
          "default": "60s",
          "description": "Duration threshold above which a call is considered slow."
        },
        "waitDurationInOpenState": {
          "type": "string",
          "default": "60s",
          "description": "Duration the circuit breaker stays open before transitioning to half-open."
        },
        "permittedNumberOfCallsInHalfOpenState": {
          "type": "integer",
          "default": 10,
          "description": "Number of permitted calls in half-open state."
        },
        "automaticTransitionFromOpenToHalfOpenEnabled": {
          "type": "boolean",
          "default": false,
          "description": "Whether to automatically transition from open to half-open."
        },
        "recordExceptions": {
          "type": "array",
          "items": { "type": "string" },
          "description": "List of exception class names that are recorded as failures."
        },
        "ignoreExceptions": {
          "type": "array",
          "items": { "type": "string" },
          "description": "List of exception class names that are ignored."
        },
        "writableStackTraceEnabled": {
          "type": "boolean",
          "default": true,
          "description": "Whether CallNotPermittedException has a writable stack trace."
        }
      }
    },
    "CircuitBreakerInstance": {
      "allOf": [
        { "$ref": "#/$defs/CircuitBreakerConfig" },
        {
          "type": "object",
          "properties": {
            "baseConfig": {
              "type": "string",
              "description": "Name of a shared configuration to inherit from."
            }
          }
        }
      ]
    }
  }
}

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/circuit-breaker-configuration"
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 email required.

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