# GET /v4/historical/campaign/{campaignId}

_Merkl API_

> Campaign reward diff between two trees (BETA)

**Historical Campaign Diff**<p>Computes the difference in reward breakdowns for a given campaign between two merkle trees. Each tree is selected either by date (closest root on or before the date, via <code>startDate</code>/<code>endDate</code>) or by an explicit root hash (<code>startRoot</code>/<code>endRoot</code>). Returns per-recipient, per-reason breakdown diffs with non-zero changes only.</p><p><strong>Authentication:</strong> Requires a valid API key passed via the <code>Authorization</code> header.</p><p>⚠️ <strong>Beta:</strong> this endpoint is in beta. The behavior, response shape and data format may change at any time without notice. Historical data is only available from the configured cutoff date onwards.</p>

### Path parameters

- `campaignId` (string) _(required)_

### Query parameters

- `chainId` (string | number) _(required)_
- `startDate` (string)
- `endDate` (string)
- `startRoot` (string)
- `endRoot` (string)

## Responses

- **200** Response for status 200

## Example request

```bash
curl -X GET "https://api.merkl.xyz//v4/historical/campaign/{campaignId}?chainId=<chainId>" \
  -H "x-api-key: YOUR_API_KEY"
```