> ## Documentation Index
> Fetch the complete documentation index at: https://docs.60db.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Health

> Judge upstream readiness and circuit-breaker state

Whether the judge's model service is reachable and ready, which upstream this deployment points at, and the state of the in-process circuit breaker.

Useful when evaluations start failing: it separates *the service is down* from *your rubric is wrong*.

**Requires owner or admin** — it exposes deployment internals.

## Request

### Headers

<ParamField header="Authorization" type="string" required>
  Bearer token — **your standard 60db API key** (`sk_…`), or a user JWT. There is no separate Judge credential.
</ParamField>

## Response

<ResponseField name="data.configured" type="boolean">
  Whether a service key is present. `false` means every inference call returns `503 JUDGE_NOT_CONFIGURED`.
</ResponseField>

<ResponseField name="data.upstream_url" type="string">
  Which model service this deployment is pointed at.
</ResponseField>

<ResponseField name="data.upstream" type="object">
  `reachable`, `ready` and the pinned model revisions.
</ResponseField>

<ResponseField name="data.circuit_breaker" type="object">
  `state` is `closed`, `open` or `half-open`. It opens after 5 consecutive upstream failures and stops adding to a queue that is already struggling; it probes again after a 30-second cooldown.
</ResponseField>

## Example

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET https://api.60db.ai/judge/health \
    -H "Authorization: Bearer your-api-key"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.60db.ai/judge/health', {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer your-api-key',
    },
  });
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.60db.ai/judge/health",
      headers={
          "Authorization": "Bearer your-api-key",
      },
  )
  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "workspace_id": 47,
      "configured": true,
      "upstream_url": "http://localhost:8799",
      "upstream": {
        "ready": true,
        "modelRevision": "a221b77a8baf4a613b8f8652661d41fa10a5641e",
        "systemoneModelRevision": "6bc1d43d201b0691e733626389af8c57eea3ea68",
        "reachable": true
      },
      "circuit_breaker": {
        "state": "closed",
        "failures": 0,
        "openedAt": 0,
        "threshold": 5,
        "cooldownMs": 30000
      }
    }
  }
  ```
</ResponseExample>
