---
title: "Per-connector freshness"
method: GET
path: "/v1/health/connectors"
tags: ["Health"]
---

# Per-connector freshness

`GET /v1/health/connectors`

## Request

- Base URL: `https://api.puntersedge.online`
- URL: `https://api.puntersedge.online/v1/health/connectors`
- Auth: API key in header `X-API-Key`

Cost: 1 credit. Per-connector last-success age + a stale flag, so a stalled feed is
visible.

`sports` breaks that down PER SPORT, because connector-level health cannot see a book
that has stopped covering one competition while it keeps writing others: a book can be
current to the minute on NRL and AFL while its rows for another sport are days old.

## Query parameters

- `stale_after_s` number: age (s) past which a connector is 'stale'
- `coverage_stale_after_s` number: age (s) past which a book is treated as no longer COVERING a sport. Defaults to 6h, the same window /v1/sports/{sport_key}/odds will serve — past it the book is effectively absent for that sport.
- `include_sports` boolean: include the per-sport coverage breakdown

## Headers

- `X-API-Key` string
- `X-RapidAPI-Proxy-Secret` string

## Response `200`

Successful Response

- object

## Other responses

- `401`: Missing or invalid API key. Send `X-API-Key`. See https://puntersedge.online/developers/errors
- `402`: Monthly credit allowance exhausted for this plan. Upgrade at https://puntersedge.online/api/pricing
- `422`: Validation Error
- `429`: Rate limit exceeded for this plan. Honour the `Retry-After` header (seconds) before retrying. See https://puntersedge.online/developers/rate-limits
- `500`: Unexpected server error. Safe to retry with backoff.

---

[API](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api.md) · [All operations](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/llms.txt) · [OpenAPI document](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/revisions/f35b6aab1946?raw)
