Skip to main content

Upgrade a case

POST 

/v1/projects/:project_id/playbook-cases/:case_id/upgrade

Moves a case to another version of its playbook: the playbook's current version, or the version named, an earlier one included. Values carry over by node ID, and every node's state is read against the new version: a node added is open, a node removed leaves the structure while its entries stay, a node whose input reads another field is stale, and a value its input's new schema refuses is missing again. The cascade then runs what became runnable. With wait: true it answers once every execution queued, and every one those queue, has settled or parked. Each upgrade is recorded with what moved; the version the case is already on records nothing.

The case's upstream bindings follow the target version: a name it declares on the same playbook keeps its case, any other binding is dropped, and each name it declares that the case does not bind is bound from upstreams, by the rules of create. A declared name left unbound is 400 PLAYBOOK_CASE_UPSTREAM_INVALID and moves nothing.

An execution running is 409 PLAYBOOK_CASE_BUSY; one queued but not started settles superseded. An upgrade made with a credential the case's own work, or that of a case reading it as an upstream, runs as is 403 PLAYBOOK_SELF_WRITE.

Request​

Responses​

The case on its new version