Get Changelog Stats
Aggregated release counts by type, the latest published release, and contributor totals derived from the pull-request references recorded on each entry. Requires the `changelog:read` scope when called with an API key.
Your personal API key — vw_ followed by 64 hex characters. The same key is also accepted
as Authorization: Bearer vw_....
In: header
Response Body
application/json
application/json
curl -X GET "https://example.com/api/v1/changelog/stats"{ "success": true, "message": "Changelog stats fetched successfully", "data": { "totalEntries": 42, "major": 3, "minor": 18, "patch": 21, "latest": { "version": "3.24.0", "title": "Portfolio template library refresh", "publishedAt": "2026-07-29T10:00:00.000Z" }, "contributorCount": 17, "topContributors": [ { "login": "octocat", "avatarUrl": "https://avatars.githubusercontent.com/u/583231", "htmlUrl": "https://github.com/octocat", "contributions": 9 } ] }}Get Changelog EntriesGET
Fetch published changelog entries, newest first, with optional filtering and pagination. This endpoint has no user session of its own: call it with an API key holding the `changelog:read` scope, or from a whitelisted first-party origin. A request with neither is rejected with `401`. Results are cached per query for `CHANGELOG_CACHE_TTL_SECONDS` (default 30 days) and busted whenever an admin writes an entry.
Get Changelog Entry by IDGET
Fetch a single changelog entry by its id. Requires the `changelog:read` scope when called with an API key.