Skip to content

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.

HTTPS GET
https://api.konstellat.io/api/v1/project/{{projectId}}/history
Query parameters
Name Type Note
projectId  * string Project ID
skip  ** int How many events to skip
count  ** int Maximum events to return
* Required
** Read more about pagination here
Required permissions
  • GetProject
  • GetConstellationNode
Example response body
JSON
{
"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"
}
}
]
}
HTTPS GET
https://api.konstellat.io/api/v1/project/{{projectId}}/revision
Query parameters
Name Type Note
projectId  * string Project ID
* Required
Required permissions
  • GetProject
  • GetConstellationNode
Example response body
JSON
{
"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"
}
}

To get a specific revision you can append the hash as a query parameter.

HTTPS GET
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
Required permissions
  • GetProject
  • GetConstellationNode
Example response body
JSON
{
"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"
}
}
HTTPS GET
https://api.konstellat.io/api/v1/project/{{projectId}}/revision/{{hash}}/diff
Query parameters
Name Type Note
projectId  * string Project ID
hash  * string Will match the first revision whose hash starts with the hash parameter
* Required
Required permissions
  • GetProject
  • GetConstellationNode
Example response body
JSON
{
"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
}
}
}
}
]
}