changelogs collection.
Endpoints
All under/api/v1/changelog, requiring admin:
| Method | Path | Purpose |
|---|---|---|
GET | “ | List entries (newest release_date first); limit (≤100), skip, component filter |
GET | /{changelog_id} | Fetch one entry by _id |
POST | “ | Create an entry (version must be unique) |
PUT | /{changelog_id} | Update an entry (version must stay unique) |
DELETE | /{changelog_id} | Delete an entry |
component filter matches against components_updated (CXB Core, CXB API, or CXB Console).
Schema
ChangeLogCreateRequest:
| Field | Type | Notes |
|---|---|---|
version | str | e.g. v2.1.3 — unique across entries |
release_date | datetime | Sort key (descending) |
title, summary | str | Release headline + summary |
entries[] | ChangeLogEntry | Individual changes |
components_updated[] | CXB Core/CXB API/CXB Console | Filterable |
deployment_status | deployed/pending/rollback | Default pending |
ChangeLogEntry: type (feature/bugfix/performance/security/operational), component, title, description, impact (critical/high/medium/low), optional technical_details, metrics, affected_calls.
ChangeLogResponse aliases the stored _id to id (populate_by_name=True) and adds created_by/created_at/updated_by/updated_at.
Version uniqueness
POSTrejects (400) aversionthat already exists.PUTrejects (400) aversionalready used by a different entry (_id != changelog_id).
The string _id requirement
Related docs
Users & roles
Admin gating for changelog management.
CXB API overview
Control-plane responsibilities.