GET /{o}/{p}/catalog-revisionsList catalog revisions
List the append-only apply history for this project (most recent first).
Auth: Bearer token required · Permission:
catalog:read
Path parameters
| Name | Type | Description |
|---|---|---|
o | string | |
p | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Catalog revisions | CatalogRevisionList |
GET /{o}/{p}/catalog-revisions/{id}Get a catalog revision by id
Auth: Bearer token required · Permission:
catalog:read
Path parameters
| Name | Type | Description |
|---|---|---|
o | string | |
p | string | |
id | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | The catalog revision | CatalogRevision |
404 | Catalog revision not found | Error |
GET /{o}/{p}/catalog-revisions/{id}/snapshotsList per-item snapshots for a revision
Returns the pre/post images recorded for each item applied in this revision (the rollback substrate).
Auth: Bearer token required · Permission:
catalog:read
Path parameters
| Name | Type | Description |
|---|---|---|
o | string | |
p | string | |
id | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Hunk snapshots | CatalogRevisionSnapshotList |
404 | Catalog revision not found | Error |
POST /{o}/{p}/catalog-revisions/{id}/rollbackRoll back a catalog revision
Apply the inverse of a prior revision (or a single hunk via ?hunkId=). Runs the same destructive-check + apply pipeline as POST /apply; returns 207 when some inverse items fail. Requires apply:write.
Auth: Bearer token required · Permission:
apply:write
Path parameters
| Name | Type | Description |
|---|---|---|
o | string | |
p | string | |
id | string |
Request body (application/json)
| Field | Type | Description |
|---|---|---|
force | boolean |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Rollback applied | CatalogRevisionRollbackResult |
207 | Partial rollback — some items failed | CatalogRevisionRollbackResult |
404 | Catalog revision not found | Error |
409 | Destructive change rejected without force | Error |
CatalogRevision| Field | Type | Description |
|---|---|---|
id | string | (required) |
projectId | string,null | (required) |
appliedAt | string | (required) |
appliedBy | string,null | (required) |
items | object[] | (required) |
deletions | object[] | (required) |
response | object | |
force | boolean | (required) |
CatalogRevisionListType: CatalogRevisionListItem[]
CatalogRevisionListItem| Field | Type | Description |
|---|---|---|
id | string | (required) |
projectId | string,null | (required) |
appliedAt | string | (required) |
appliedBy | string,null | (required) |
force | boolean | (required) |
itemCount | integer | (required) |
deletionCount | integer | (required) |
version | integer | (required) |
CatalogRevisionRollbackResult| Field | Type | Description |
|---|---|---|
revisionId | string | (required) |
rolledBackFrom | string | (required) |
hunkId | string,null | (required) |
succeeded | object[] | (required) |
failed | object[] | (required) |
skipped | object[] | (required) |
CatalogRevisionSnapshotListType: object[]
Error| Field | Type | Description |
|---|---|---|
error | string | (required) |
code | string |