Getting Revisions
Each Constellation has revisions which are immutable representations of your Constellation on a timeline of changes. Read more about revisions here. To get the project ID, see this guide.
Get revision history
Section titled “Get revision history”https://api.konstellat.io/api/v1/project/{{projectId}}/historyQuery parameters
| Name | Type | Note |
|---|---|---|
projectId * | string | Project ID |
skip ** | int | How many events to skip |
count ** | int | Maximum events to return |
** Read more about pagination here
Required permissions
-
GetProject -
GetConstellationNode
Example response body
{ "events": [ { "hash": "0fd5c374b271eb0990333bea8a8a55046d29a3659841cce5fc59acdfa1176543", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:12.8460605Z", "message": "Update status for node f9e31cf3" } }, { "hash": "c950c55e4bbb205bb6c55753d4cdf0919e8727780852f87b5ffaec09b16610e2", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:02.7821648Z", "message": "Update version for node f9e31cf3" } }, { "hash": "610f82f9d679f45ac3f2278af7a4557e78289c99480e0e6f6d0bb498f2768114", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:03:52.6927054Z", "message": "Update status for node f9e31cf3" } }, { "hash": "c4be5492e2e51c2bb42a8de723820568d1495f862aea658e5c2379e0f3499be1", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:03:43.2574257Z", "message": "Update version for node 276f4e36" } }, { "hash": "70eead205651352266300f6f14d6458bc56de82fcc4de30f64f938340499c201", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:03:30.7736652Z", "message": "Update" } }, { "hash": "1b1021c72fc86d1dc3d50a515af89a9fcf0caf9cd81d6f2cdfcdc45c7e331840", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:02:38.1803805Z", "message": "Init" } } ]}Get latest revision
Section titled “Get latest revision”https://api.konstellat.io/api/v1/project/{{projectId}}/revisionQuery parameters
| Name | Type | Note |
|---|---|---|
projectId * | string | Project ID |
Required permissions
-
GetProject -
GetConstellationNode
Example response body
{ "projectId": "6738a522-b8e2-4711-be18-8f3ca33d3b02", "hash": "0fd5c374b271eb0990333bea8a8a55046d29a3659841cce5fc59acdfa1176543", "variants": [], "nodes": [ { "id": "root", "name": "Awesome App", "description": "", "versionValue": "77b76d11", "versionSchema": "Hash", "statusResult": "Success", "statusStrategy": "AllSuccess", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:12.8460605Z", "message": "Update status for node f9e31cf3" }, "children": ["276f4e36", "f9e31cf3"], "metadata": { "kio.pos.x": { "float": 0 }, "kio.pos.y": { "float": 0 } } }, { "id": "276f4e36", "name": "API", "description": "", "versionValue": "1.0.0", "versionSchema": "SemVer", "statusResult": "Success", "statusStrategy": "Manual", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:03:43.2574257Z", "message": "Update version for node 276f4e36" }, "children": [], "metadata": { "kio.pos.x": { "float": 175.24246 }, "kio.pos.y": { "float": 107.07421 } } }, { "id": "f9e31cf3", "name": "E2E", "description": "", "versionValue": "2", "versionSchema": "Incremental", "statusResult": "Success", "statusStrategy": "Manual", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:12.8460605Z", "message": "Update status for node f9e31cf3" }, "children": [], "metadata": { "kio.pos.x": { "float": -160.45491 }, "kio.pos.y": { "float": 104.28472 } } } ], "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:12.8460605Z", "message": "Update status for node f9e31cf3" }}Get specific revision
Section titled “Get specific revision”To get a specific revision you can append the hash as a query parameter.
https://api.konstellat.io/api/v1/project/{{projectId}}/revision?hash={{hash}}Query parameters
| Name | Type | Note |
|---|---|---|
projectId * | string | Project ID |
hash * | string | Will match the first revision whose hash starts with the hash parameter |
Required permissions
-
GetProject -
GetConstellationNode
Example response body
{ "projectId": "6738a522-b8e2-4711-be18-8f3ca33d3b02", "hash": "1b1021c72fc86d1dc3d50a515af89a9fcf0caf9cd81d6f2cdfcdc45c7e331840", "variants": [], "nodes": [ { "id": "root", "name": "Awesome App", "description": "", "versionValue": "0.1.0", "versionSchema": "SemVer", "statusResult": "Success", "statusStrategy": "Manual", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:02:38.1803805Z", "message": "Init" }, "children": [], "metadata": { "kio.pos.x": { "float": 0 }, "kio.pos.y": { "float": 0 } } } ], "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:02:38.1803805Z", "message": "Init" }}Get revision diffs
Section titled “Get revision diffs”https://api.konstellat.io/api/v1/project/{{projectId}}/revision/{{hash}}/diffQuery parameters
| Name | Type | Note |
|---|---|---|
projectId * | string | Project ID |
hash * | string | Will match the first revision whose hash starts with the hash parameter |
Required permissions
-
GetProject -
GetConstellationNode
Example response body
{ "hash": "0fd5c374b271eb0990333bea8a8a55046d29a3659841cce5fc59acdfa1176543", "shortHash": "0fd5c374", "stamp": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:12.8460605Z", "message": "Update status for node f9e31cf3" }, "nodes": [ { "id": { "from": "root", "to": "root" }, "name": { "from": "Awesome App", "to": "Awesome App" }, "description": { "from": "", "to": "" }, "versionValue": { "from": "77b76d11", "to": "77b76d11" }, "versionSchema": { "from": "Hash", "to": "Hash" }, "statusResult": { "from": "Failure", "to": "Success" }, "statusStrategy": { "from": "AllSuccess", "to": "AllSuccess" }, "stamp": { "from": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:02.7821648Z", "message": "Update version for node f9e31cf3" }, "to": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:12.8460605Z", "message": "Update status for node f9e31cf3" } }, "children": [ { "from": "276f4e36", "to": "276f4e36" }, { "from": "f9e31cf3", "to": "f9e31cf3" } ], "metadata": { "kio.pos.x": { "from": { "float": 0 }, "to": { "float": 0 } }, "kio.pos.y": { "from": { "float": 0 }, "to": { "float": 0 } } } }, { "id": { "from": "276f4e36", "to": "276f4e36" }, "name": { "from": "API", "to": "API" }, "description": { "from": "", "to": "" }, "versionValue": { "from": "1.0.0", "to": "1.0.0" }, "versionSchema": { "from": "SemVer", "to": "SemVer" }, "statusResult": { "from": "Success", "to": "Success" }, "statusStrategy": { "from": "Manual", "to": "Manual" }, "stamp": { "from": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:03:43.2574257Z", "message": "Update version for node 276f4e36" }, "to": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:03:43.2574257Z", "message": "Update version for node 276f4e36" } }, "children": [], "metadata": { "kio.pos.x": { "from": { "float": 175.24246 }, "to": { "float": 175.24246 } }, "kio.pos.y": { "from": { "float": 107.07421 }, "to": { "float": 107.07421 } } } }, { "id": { "from": "f9e31cf3", "to": "f9e31cf3" }, "name": { "from": "E2E", "to": "E2E" }, "description": { "from": "", "to": "" }, "versionValue": { "from": "2", "to": "2" }, "versionSchema": { "from": "Incremental", "to": "Incremental" }, "statusResult": { "from": "Failure", "to": "Success" }, "statusStrategy": { "from": "Manual", "to": "Manual" }, "stamp": { "from": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:02.7821648Z", "message": "Update version for node f9e31cf3" }, "to": { "author": "Actor (system@konstellat.io)", "timestamp": "2026-02-07T07:04:12.8460605Z", "message": "Update status for node f9e31cf3" } }, "children": [], "metadata": { "kio.pos.x": { "from": { "float": -160.45491 }, "to": { "float": -160.45491 } }, "kio.pos.y": { "from": { "float": 104.28472 }, "to": { "float": 104.28472 } } } } ]}