Public registry rollup with per-source activity
GET
Returns a hybrid payload: the flat back-compat orgs/sources/releases/products counts (used by the web homepage banner) merged with the richer StatsSummary shape — period, totals, sourceHealth, sourceActivity, and the 20 most recent fetch-log entries. Counts use *_active / *_visible views, so soft-deleted and hidden rows are excluded.
bearerAuthheader
AuthorizationBearer <relk_… | relu_… | OAuth JWT>Machine/operator tokens use the relk_ prefix; self-serve read-only user keys use relu_; Sign in with Releases supplies an OAuth access token. Required scope depends on the endpoint.
days?integerLookback window for releasesInPeriod, sourceHealth.stale/upToDate, and sourceActivity.recentReleases. Defaults to 30.
Range
1 <= valueDefault
30Registry rollup
application/json- response
orgs*integerRange
0 <= value <= 9007199254740991sources*integerRange
0 <= value <= 9007199254740991releases*integerRange
0 <= value <= 9007199254740991products*integerRange
0 <= value <= 9007199254740991period*totals*sourceHealth*sourceActivity*array<>recentActivity*array<>curl -X GET 'https://api.releases.sh/v1/stats'Example Response200
{ "orgs": 0, "sources": 0, "releases": 0, "products": 0, "period": { "days": 1, "cutoff": "string" }, "totals": { "organizations": 0, "sources": 0, "releases": 0, "releasesInPeriod": 0 }, "sourceHealth": { "upToDate": 0, "stale": 0, "neverFetched": 0 }, "sourceActivity": [ { "sourceName": "string", "sourceSlug": "string", "sourceType": "string", "orgName": "string", "lastFetchedAt": "string", "totalReleases": 0, "recentReleases": 0 } ], "recentActivity": [ { "sourceName": "string", "sourceSlug": "string", "orgName": "string", "releasesFound": 0, "releasesInserted": 0, "totalReleases": 0, "status": "string", "durationMs": 0, "error": "string", "createdAt": "string" } ]}