# GET /v1/solana/health/history

Bucketed history of Solana probe results over 1 hour, 24 hours or 7 days.

## Purpose

Aggregates the stored probes into time buckets with sample count, successful samples, uptime percentage and average latency. It returns whatever samples are stored, even while Solana data is not configured, and never names the upstream provider.

## When to use

To see whether Solana data was reliable over the last hour, day or week.

## When not to use

Not a record of chain activity; it describes this service's access to Solana.

## Parameters

| Name | In | Required | Description | Constraints | Example |
|---|---|---|---|---|---|
| `window` | query | no | History window. | One of `1h`, `24h`, `7d`; default `1h` | `24h` |

## Request example

```sh
curl -s "https://api.criptonlabs.com/v1/solana/health/history?window=1h"
```

## Response example (200)

```json
{
  "window": "1h",
  "bucket_seconds": 300,
  "buckets": [
    {
      "start": "2026-10-14T11:55:00.000Z",
      "samples": 2,
      "up": 2,
      "uptime_pct": 100,
      "avg_latency_ms": 175
    }
  ],
  "meta": {
    "slot": 456943158,
    "commitment": "finalized",
    "as_of": "2026-10-14T12:00:03.000Z",
    "age_seconds": 0,
    "cache": "miss",
    "stale": false
  }
}
```

## Errors

- 400 [invalid-parameters](https://api.criptonlabs.com/errors/invalid-parameters.md)
- 429 [rate-limited](https://api.criptonlabs.com/errors/rate-limited.md)
- 503 [upstream-unavailable](https://api.criptonlabs.com/errors/upstream-unavailable.md)

## Caching

Fresh for 4 seconds; on upstream failure the last good value is served for up to 60 seconds (`meta.stale` is `true`), then the service answers 503. See the [freshness guide](https://api.criptonlabs.com/docs/guides/freshness.md).

## Rate limit

Tier `cheap`. See the [rate-limits guide](https://api.criptonlabs.com/docs/guides/rate-limits.md).

## MCP tool

There is no MCP tool for this endpoint; use REST.
