Skip to main content
Instances are the main Compute resource you’ll work with through the API. An instance runs a workload on a selected hardware preset in a chosen region. You can use the API to check instance state, build automation around instance workflows, start stopped work, stop running instances, terminate resources you no longer need, and fetch recent logs for debugging.
If you prefer to manage instances from the web console, see start and stop instances and stop or terminate an instance in the Essentials section.

Instance lifecycle

An instance moves through lifecycle states as it is created, started, stopped, or terminated. Common states include: Some actions are asynchronous. That means the API accepts the request and returns the current instance state while the platform continues working in the background.
After starting or terminating an instance, poll GET /instances/{id} until the status field shows the expected state.

List instances

Use GET /instances to return the instances visible to your account.
The response returns a data array and pagination details.
If pagination.next is not null, use it as the cursor query parameter to request the next page. See Use pagination and filters for the full pagination workflow.

Filter instances

You can filter the GET /instances response when you only need a specific subset. Common filters include: For example, to list running instances in a specific region:
Date range filters use ISO 8601 timestamps in UTC. Use date_range_begin and date_range_end together.

Get one instance

Use GET /instances/{id} when you need the current state of a single instance.
Use this endpoint after actions such as start or terminate to check whether the instance has reached the expected state.

Start an instance

Use POST /instances/{id}/start to start a stopped instance.
The request body is optional. You can include reason_note when you want to keep a human-readable note for audit or operational context. After the request, the instance may move through STARTING before it reaches RUNNING. Check progress with GET /instances/{id}.
If the instance is already running, the API returns the current instance state.

Stop an instance

Use POST /instances/{id}/stop to stop a running instance without deleting it. Stopped instances can be started again later with the same data.
The call returns as soon as the request is accepted. The instance moves through STOPPING and reaches STOPPED in the background. Poll GET /instances/{id} until the status field shows STOPPED.
Use stop instead of terminate when you want to pause work and resume later. Terminated instances can’t be recovered.

Terminate an instance

Use POST /instances/{id}/terminate to permanently terminate an instance.
Terminating an instance is irreversible. A terminated instance can’t be restarted, and its data is deleted.
After the request, poll GET /instances/{id} until the instance reaches TERMINATED.

Get instance logs

Use GET /instances/{id}/logs to fetch recent container output from an instance.
The lines query parameter controls how many log lines are returned. The default is 100, and the maximum is 1000. A shortened response looks like this:

Suggested workflow

1

List your instances

Call GET /instances to find the instance you want to inspect or manage.
2

Save the instance ID

Copy the instance_id from the response. You’ll need it for instance-specific requests.
3

Check the current state

Call GET /instances/{id} and read the status field before taking action.
4

Run the action

Start, stop, or terminate the instance only after confirming that you’re using the correct ID.
5

Poll for the final state

Call GET /instances/{id} again until the instance reaches the expected lifecycle state.

Common issues

Next step

Continue with Use pagination and filters to learn how to work with larger result sets and narrow API responses.