Update Circuit Breaker Settings

Overview

Updates circuit breaker settings for an API proxy. Circuit breaker prevents cascading failures by stopping requests to failing backends.

Endpoint

PATCH /apiops/projects/{projectName}/apiProxies/{apiProxyName}/settings/circuit-breaker/

Authentication

Requires a Personal API Access Token.

Authorization: Bearer YOUR_TOKEN

Request

Headers

Header Value Required
Authorization Bearer {token} Yes
Content-Type application/json Yes

Path Parameters

Parameter Type Required Description
projectName string Yes Project name
apiProxyName string Yes API Proxy name

Request Body

Full JSON Body Example

{
  "circuitBreakerEnabled": true,
  "errorWindow": 60,
  "errorThresholdValue": 5,
  "enumErrorThresholdType": "COUNT",
  "sleepWindow": 30,
  "halfOpenEnabled": true
}

Request Body Fields

Field Type Required Default Description
circuitBreakerEnabled boolean No - Enable/disable circuit breaker
errorWindow integer No - Time window in seconds to count errors
errorThresholdValue integer No - Error threshold value (count or percentage)
enumErrorThresholdType string No - Error threshold type
sleepWindow integer No - Sleep window in seconds (circuit breaker stays open)
halfOpenEnabled boolean No - Enable half-open state (test requests)

EnumErrorThresholdType

  • COUNT - Error threshold is a count (e.g., 5 errors)
  • PERCENT - Error threshold is a percentage (e.g., 50% error rate)

Note: All fields are optional. Only provided fields are updated.

Response

Success Response (200 OK)

{
  "success": true
}

Response Fields

Field Type Description
success boolean Indicates if the request was successful

Error Response (400 Bad Request)

{
  "error": "bad_request",
  "error_description": "Invalid circuit breaker settings"
}

Error Response (401 Unauthorized)

{
  "error": "unauthorized_client",
  "error_description": "Invalid token"
}

Error Response (404 Not Found)

{
  "error": "not_found",
  "error_description": "ApiProxy (name: MyAPI) was not found!"
}

cURL Example

Example 1: Enable Circuit Breaker with Count Threshold

curl -X PATCH \
  "https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/circuit-breaker/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "circuitBreakerEnabled": true,
    "errorWindow": 60,
    "errorThresholdValue": 5,
    "enumErrorThresholdType": "COUNT",
    "sleepWindow": 30,
    "halfOpenEnabled": true
  }'

Example 2: Enable Circuit Breaker with Percentage Threshold

curl -X PATCH \
  "https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/circuit-breaker/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "circuitBreakerEnabled": true,
    "errorWindow": 120,
    "errorThresholdValue": 50,
    "enumErrorThresholdType": "PERCENT",
    "sleepWindow": 60,
    "halfOpenEnabled": false
  }'

Notes and Warnings

  • Error Window: Time window in seconds during which errors are counted
  • Error Threshold: When threshold is reached, circuit breaker opens
  • Sleep Window: Duration in seconds that circuit breaker stays open before attempting half-open
  • Half-Open: When enabled, allows test requests to check if backend recovered
  • Threshold Type: COUNT uses absolute number, PERCENT uses percentage of requests
  • Permissions: Requires ROLE_MANAGE_PROXIES permission