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

# Health

> GET /v1/health: service health and freshness of the trade data. No API key required.

Service health of the Data API and how fresh the trade data is. No API key is required, so you can use it for uptime monitoring.

`status` is `ok` while trades are being synced, `degraded` when the last sync is more than 60 seconds old.

## Usage Example

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api-id.cabalspy.xyz/v1/health"
  ```

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

  d = requests.get("https://api-id.cabalspy.xyz/v1/health").json()["data"]
  print(d["status"], d["trade_sync_age_seconds"])
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch("https://api-id.cabalspy.xyz/v1/health");
  const { data } = await res.json();
  console.log(data.status, data.trade_sync_age_seconds);
  ```
</CodeGroup>

## Response

<ResponseField name="success" type="boolean">
  True on success.
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="data">
    <ResponseField name="status" type="string">
      `ok` or `degraded`.
    </ResponseField>

    <ResponseField name="trade_sync_age_seconds" type="integer">
      Seconds since the last trade sync, or null if unknown.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "status": "ok",
      "trade_sync_age_seconds": 2
    },
    "meta": {
      "request_id": "req_1f265546e444",
      "cached": false,
      "cache_age_seconds": 0,
      "version": "v1",
      "timestamp": "2026-10-13T08:04:11Z"
    }
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.