---
title: "Check the update-dynamic-data job is running across chains"
method: GET
path: "/v4/dynamic-data/health"
tags: ["Health"]
---

# Check the update-dynamic-data job is running across chains

`GET /v4/dynamic-data/health`

Always returns HTTP 200. `status` is `STALE` when the `update-dynamic-data` job (refreshes live opportunity/campaign APR, TVL and dailyRewards) has stopped completing its full run on any chain it runs on — a chain counts as degraded when its last completed run is over 45 minutes old. Chains that have never recorded a run (newly added / not yet scheduled) aren't counted. Configure a keyword monitor to alert when `STALE` is present.

## Response `200`

Response for status 200

- object
  - `status` union, required
    - string
    - string
  - `success` boolean, required
  - `chainsChecked` number, required
  - `staleChains` number, required
  - `detail` string
  - `runbook` object
    - `impact` string, required
    - `remediation` string, required
    - `escalation` string

---

[API](https://skmtc.dev/merkl/apis/merkl-api.md) · [All operations](https://skmtc.dev/merkl/apis/merkl-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/merkl/merkl-api/revisions/b7784c9a78b9/schema)
