---
title: "Fetch the latest published CHANGELOG.md for an enterprise plugin"
method: GET
path: "/v1/enterprise-plugins/{slug}/changelog"
tags: ["Enterprise Plugins"]
---

# Fetch the latest published CHANGELOG.md for an enterprise plugin

`GET /v1/enterprise-plugins/{slug}/changelog`

## Request

- Base URL: `https://api.vendure.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.vendure.io/v1/enterprise-plugins/{slug}/changelog`
- Auth: none declared
- TypeScript: <https://skmtc.dev/vendure/apis/vendure-io-api-public/docs/v1/enterprise-plugins/:slug/changelog/get.ts> (a function with typed inputs; its response is checked against the schema)

Resolves the latest version on the registry and extracts CHANGELOG.md from its tarball. Always returns 200 — `available: false` signals that no changelog could be fetched (no published version, missing file, or registry error). Cache at the caller; the endpoint hits the upstream registry on every request.

## Path parameters

- `slug` string, required

## Response `200`

- EnterprisePluginChangelogDto
  - `slug` string, required: URL slug of the plugin the changelog belongs to.
  - `packageName` string, required: Fully qualified npm package name.
  - `version` string, nullable, required: Resolved version from the registry `latest` dist-tag, or null when no published version was found.
  - `changelog` string, nullable, required: Raw markdown contents of CHANGELOG.md as published in the tarball.
  - `available` boolean, required: True only when both a version was resolved and a non-empty CHANGELOG.md was extracted.

## Other responses

- `400`: Validation failed
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict
- `500`: Internal server error

---

[API](https://skmtc.dev/vendure/apis/vendure-io-api-public.md) - [All operations](https://skmtc.dev/vendure/apis/vendure-io-api-public/llms.txt) - [OpenAPI document](https://skmtc.dev/vendure/apis/vendure-io-api-public/revisions/0747ce439f89?raw)
