Workspace-local routes are nested under:
Lifecycle
A Workspace is in one of two phases. Every Workspace the API serves carries aphase.
Deleting a workspace
Deleting a Workspace is asynchronous. The API accepts the request with HTTP 202 and records the Workspace asterminating. The platform then stops the
Workloads of the Workspace’s Runs and removes its files, revisions, Runs, and
attempts. Once nothing remains, the platform finalizes the release. A
finalized Workspace resolves 404, and its name is free to reuse within the
Namespace. Deleting a Workspace that is already terminating is accepted again
with the same result.
A Workspace deletion releases only what the Workspace owns. Every other
resource in the Namespace, including direct Workloads and other Workspaces,
is left in place. Deleting the Namespace releases every Workspace within it;
see Namespaces.
While terminating
The refusal’s details name the Namespace and the Workspace. Automation should
classify the refusal by its code.
Termination detail
While a Workspace is terminating, the API reportsterminatingAt, the instant
the deletion was recorded, and termination, which describes what still holds
finalization back.
The platform finalizes once no Runs remain.
Observe a deletion
idyl workspace get lists the Workspaces of a Namespace with a PHASE
column. With a name, it shows the phase and, for a terminating Workspace, the
Runs still to finish.
Wait for finalization
Pass--wait to idyl workspace delete to block until the Workspace is
finalized, and --timeout to bound the wait. After a deletion has been
accepted, idyl wait workspace <workspace> --for deleted blocks the same way.
0 when the Workspace is finalized and 124 when the timeout
passes first. While the Workspace is terminating, the wait reports the Runs
still to finish.

