Debug a VM that will not come up

The question to settle first is whether the platform failed to build or start the machine, which you can read, or whether the guest is refusing you, which you cannot. In this order:

1. Did the create even succeed?

POST /v1/vms blocks until the machine is built, so a provisioning failure came back on the create itself as 409 create_failed, carrying the hypervisor's own text, and the partial VM was destroyed and its IP released. There is no half-built machine to inspect. Fix what detail said and create again.

2. What does the platform think the machine is doing?

GET /v1/vms/{id}

Two separate fields, and there is no state:

power: "unknown" with health: "unreachable" means the hypervisor could not be reached. That is ours, not yours, and actions on that VM fail fast until it clears. A VM that was running when the hypervisor under it rebooted comes back up on its own.

If power is stopped, start it: creation leaves a machine stopped, and starting it is a separate call.

3. What happened, in order?

GET /v1/vms/{id}/events

The newest 100 events for that VM, in order: what the platform did, when, and what failed. This is where to look when a create or an action did not do what you expected.

4. Is it running but unreachable?

If power is running, nothing on our side is left to check. Then:

5. If it is the guest, it is unrecoverable

There is no console, no password and no rescue mode, so a firewall or sshd change that locks you out has no door behind it. Two ways out:

To not be here again, make every firewall and sshd change revert itself unless you confirm it: Harden a VM.