---
title: "Source freshness and catalog-completeness truth"
method: GET
path: "/api/prediction-markets/sources/health"
tags: ["public-pm-data"]
---

# Source freshness and catalog-completeness truth

`GET /api/prediction-markets/sources/health`

## Request

- Base URL: `https://api.coinrithm.com`
- URL: `https://api.coinrithm.com/api/prediction-markets/sources/health`
- Auth: none required

Keyless per-venue ingest evidence. Freshness and catalog completeness
are separate: a venue can have a fresh hot set while its full catalog
sweep is provider-bounded. Agents should skip stale or unhealthy sources
and preserve the returned completeness disclosure when citing coverage.

## Response `200`

Health, lag, refresh policy and catalog sweep evidence for all venues

- PublicPmSourcesHealthResponse
  - `asOf` string, date-time, required
  - `thresholds` object
  - `summary` object, required
  - `degraded` object[], required: Venues currently failing one or more health checks.
  - `sources` object[], required
    - `id` 'polymarket' | 'kalshi' | 'rothera' | 'limitless' | 'smarkets' | 'manifold' | 'metaculus' | 'predictit' | 'futuur' | 'myriad' | 'forecastex' | 'gemini'
    - `name` string
    - `isActive` boolean
    - `lastIngestAt` string, date-time, nullable
    - `lagSeconds` number, nullable
    - `freshness` string
    - `openEvents` integer
    - `totalEvents` integer
    - `catalog` object: Latest sweep evidence and provider-bounded completeness truth.
    - `degraded` string[]: Empty when healthy; otherwise stable reason codes.
  - `enrichment` object

## Other responses

- `429`: Public request rate limit exceeded; honor `Retry-After`.
- `500`: Server error

---

[API](https://skmtc.dev/coinrithm/apis/coinrithm-agent-trading-api.md) · [All operations](https://skmtc.dev/coinrithm/apis/coinrithm-agent-trading-api/llms.txt) · [OpenAPI document](https://skmtc.dev/coinrithm/apis/coinrithm-agent-trading-api/revisions/28fb59f285fe?raw)
