Releases Index
Registry stats
View .md

Public registry rollup with per-source activity

GET
/stats

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.

Authorization

bearerAuth
headerAuthorizationBearer <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.

Query Parameters

days?integer

Lookback window for releasesInPeriod, sourceHealth.stale/upToDate, and sourceActivity.recentReleases. Defaults to 30.

Range1 <= value
Default30

Response Body

Registry rollup

application/json
  1. response
orgs*integer
Range0 <= value <= 9007199254740991
sources*integer
Range0 <= value <= 9007199254740991
releases*integer
Range0 <= value <= 9007199254740991
products*integer
Range0 <= value <= 9007199254740991
period*
totals*
sourceHealth*
sourceActivity*array<>
recentActivity*array<>
Example Request
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"    }  ]}