Conflicts
Whenever making changes to your Constellation through konstellat.io there’s a risk that the revision that you’re basing
your changes on is no longer the latest revision of the Constellation due to other users making changes from the time
that your started making yours. This will lead to a conflict when trying to apply your changes. To mitigate lost
changes, konstellat.io will return a 409 Conflict status code when it detects a possible conflict and abort before
applying your changes. There are two query parameters that you can append to all your queries, excluding your GET
queries as those will not change the Constellation.
Not passing the hash query parameter will always result in a 409 Conflict unless the force query
parameter is passed. The hash should be equal to the revision hash (all characters) that you’re basing your changes
on. If the latest revision’s hash is equal to hash the conflict is considered resolved. If the latest revision’s hash
is not equal to hash, you will need to either:
- base your changes on the latest revision before trying to apply again; or
- pass
force=trueas a query parameter to still try to apply your changes
Passing force=true as a query parameter will skip the conflict check. This can be useful when bumping versions or
updating statuses from pipelines as they don’t need to know the latest revision’s hash provided that the nodes still
exist.