Get a Version
Use these endpoints when you already know the version ID and want the change list for that release. Public reads are published-only, while authenticated reads can return versions from private or draft workflows.
/v1/public/teams/{teamSlug}/products/{productSlug}/changelog/versions/{versionId}NoneReturns one published changelog version for a published product in a public team.
/v1/teams/{teamSlug}/products/{productSlug}/changelog/versions/{versionId}Bearer API keyReturns one changelog version for the target team and product when the API key is allowed to access it.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| teamSlug | path | Yes | The team that owns the product. Public routes require a public team, while authenticated routes can target private teams. |
| productSlug | path | Yes | The product that owns the changelog. Public routes require a published product, while authenticated routes can target private or draft products the API key can access. |
| versionId | path | Yes | The version ID you want to load. Pick one from the version selector above or copy it from a changelog response or from the app. |
Request examples
The examples below use the currently selected team, product, and version context above. Authenticated examples also use the selected token from the API token manager. API key creation for authenticated private-team and private-product reads is plan gated, so use the upgrade link in the token manager if your workspace has not unlocked service API keys yet.
cURL
bash
curl "https://chxngelog.dev/api/v1/public/teams/your-team/products/your-product/changelog/versions/YOUR_VERSION_ID"Response shape
{
"data": {
"id": "ver_456",
"object": "changelog.version",
"version": "2.4.0",
"title": "Version 2.4.0",
"status": "published",
"publishedAt": "2026-03-11T10:00:00.000Z",
"changes": [
{
"id": "chg_789",
"object": "changelog.change",
"type": "added",
"description": "Added roadmap filters to the dashboard."
}
]
}
}Visibility rules
- The version must be published.
- The parent changelog must be published.
- The product must be published.
- The team must be public.
- In password-protected deployments, middleware can still require Basic auth before the public handler runs.
If any of those checks fail, the endpoint returns 404.
Authenticated behavior
- Authenticated reads use
/v1/teams/...instead of/v1/public/.... - A valid API key can read versions for private teams and private products it is allowed to access.
- The response envelope stays the same, but
statuscan bedraftorpublished. - The version route still returns
404when the requested resource is missing.
Errors
{
"error": {
"code": "forbidden",
"message": "API key does not have access to this product"
}
}Authenticated routes may also return:
unauthorizedwhen the API key is missing, malformed, unknown, or disablednot_foundwhen the version resource does not exist
Related endpoint
Read Get a Changelog when you want the full public feed instead of a single version.