A sandbox says what you can do with it now
Every sandbox read from /v1/sandboxes and /v2/sandboxes returns actions: the actions that change it from its current state (pause, wake, stop, restart and delete). A lifecycle action that cannot apply, such as a pause of a starting sandbox, still returns 409, and its details now carry state and the same actions list; its hint is written for that state. A wait for a state (?waitFor=running) now returns immediately once the sandbox cannot get there without a new action, such as a sandbox you stopped, instead of after its whole timeout. Every SDK reads the list: sandbox.can("pause") in TypeScript and Python, Can("pause") in Go, can("pause") in Java and can?("pause") in Ruby. The states and every move between them are on Sandbox states and actions.