Compute / task

Terminate an instance

Terminate an instance when you no longer need it. Termination is permanent and stops all billing for the instance and the volumes its launch created.

Before you begin

  • Copy off any data you need from the instance’s root disk. The root disk and every other volume the launch created are deleted with the instance, and there is no option to keep them.
  • Detach any volume you want to keep using elsewhere, or let termination release it. Volumes you attached yourself are never deleted. See Attach and detach volumes.

Important: Termination can’t be undone. The instance, its root disk and its launch-created network interface are gone for good.

Terminate the instance

  1. Request the termination:

    Terminal window
    origin compute terminate-instance --instance-urn <instance-urn>

    You can terminate an instance in any status. A FAILED instance is terminated without waiting for its machine to confirm the guest is gone.

  2. Run get-instance until status reads TERMINATED:

    Terminal window
    origin compute get-instance --instance-urn <instance-urn>

    The instance passes through SHUTTING_DOWN while its resources are released, normally for a few seconds.

Terminating is safe to repeat. If you aren’t sure an earlier attempt went through, call it again. Terminating an instance that is already TERMINATED reports success and changes nothing.

What happens to the instance’s resources

ResourceOn termination
Root disk and other launch-created volumesDeleted.
Volumes you attached yourselfDetached and AVAILABLE again. Not deleted.
Launch-created network interfaceDeleted, with any public address the platform assigned to it automatically.
Floating IP you allocated yourselfDisassociated. It stays allocated to you until you release it. See Floating IPs.

A launch-created volume that has a snapshot can’t be deleted, so it stays AVAILABLE and billed after the instance terminates. Its retentionNote says why. Delete the snapshots, then the volume. See Delete a volume.

If something else can’t be released, the instance still reaches TERMINATED and stops costing you anything. The attachment for that resource keeps naming it and says it could not be released.

A terminated instance stays in list-instances for 2 hours, then drops out of the default list. You can still read it with get-instance at any time.

Using the API

mutation {
compute {
terminateInstance(input: { instanceUrn: "<instance-urn>" }) {
accepted
message
}
}
}
Origin Cloud — user documentation · last reviewed 2026-10-03 Legal notice Privacy policy