---
title: "Circuit breakers and the volume they are measured against"
method: GET
path: "/v1/circuits"
tags: ["Circuits"]
---

# Circuit breakers and the volume they are measured against

`GET /v1/circuits`

## Request

- Base URL: `https://ratchetgate.com`
- URL: `https://ratchetgate.com/v1/circuits`
- Auth: HTTP bearer

Surge containment stops an agent that has started doing far more than it used to. This lists every breaker the workspace has, plus the per-effect-type volume you would set a threshold against.

## Response `200`

Default Response

- object
  - `circuits` object[]
    - `effect_type` string: The effect type this breaker governs. "*" is the whole workspace.
    - `state` 'closed' | 'open'
    - `action` 'monitor' | 'require_approval' | 'deny'
    - `tripped_at` string, date-time, nullable
    - `resets_at` string, date-time, nullable: When the breaker closes itself. Null means it was opened by hand and stays open until a human closes it.
    - `observed` integer, nullable
    - `threshold` integer, nullable
    - `reason` string, nullable
    - `opened_by` string, nullable
    - `trip_count` integer
  - `rates` object[]: Observed volume per effect type, to choose a threshold from.
    - `effect_type` string
    - `this_hour` integer
    - `peak_hour` integer: Busiest single hour in the last 30 days.

## Other responses

- `400`: Invalid request.
- `401`: Missing or invalid API key.
- `402`: Insufficient prepaid credit.
- `403`: Scope, policy, or budget refusal.
- `404`: Not found.
- `409`: Conflicting state or idempotency-key reuse.
- `413`: Payload too large.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/ratchetgate/apis/ratchet-api.md) · [All operations](https://skmtc.dev/ratchetgate/apis/ratchet-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ratchetgate/apis/ratchet-api/revisions/5712f33c692f?raw)
