Debug a VM that will not come up

Start with what the API can tell you, then move to the guest, which the API cannot see. 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 a problem on our side, and actions on that VM fail right away until the hypervisor is back. 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, newest first: what the platform did, when, and what failed. This is where to look when an action did not do what you expected; a failed create was answered in step 1.

4. Is it running but unreachable?

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

5. If the guest locked you out

There is no console and no password. You have three options:

To avoid this next time, make every firewall and sshd change revert itself unless you confirm it: Harden a VM.