Skip to main content
A Workspace is owned by one Namespace. Its name is unique within that Namespace and its durable state remains available independently of running Workloads. Workspace-local routes are nested under:
Direct Workload routes remain under the Namespace and contain no Workspace segment.

Lifecycle

A Workspace is in one of two phases. Every Workspace the API serves carries a phase.

Deleting a workspace

Deleting a Workspace is asynchronous. The API accepts the request with HTTP 202 and records the Workspace as terminating. 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 reports terminatingAt, 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.
Output similar to:

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.
Both exit 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.