Resources·Docs

RareCloud Cloud VM: images, snapshots and passwords

Reference for RareCloud Cloud VMs: deploy, images, power, web console, reinstall, password reset, resize, snapshots and restore, tags and reverse DNS, from the console, API, CLI and Terraform.

By RareCloud Team · 7 min read · 3 Nov 2026

In one paragraph: a Cloud VM is a server in our European cloud region (bucharest-ro), billed by the hour up to its plan's monthly price. You run it from the console, or through the public API at https://api.rarecloud.io/v1, the CLI, the Terraform provider or the MCP server. This page shows each task with its API route and CLI command. Routes that read need services:read and routes that change something need services:write. For plans and prices, see the Cloud VM page; to start with the API, see API getting started.

Deploy

rarecloud server check --plan g-2vcpu-8gb --image ubuntu-24.04 \
  --region bucharest-ro --name web-01 --ssh-key <key-id>
rarecloud server create --plan g-2vcpu-8gb --image ubuntu-24.04 \
  --region bucharest-ro --name web-01 --ssh-key <key-id> --wait
curl -s https://api.rarecloud.io/v1/services \
  -H "Authorization: Bearer $RARECLOUD_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"category":"cloud-vm","productId":"g-2vcpu-8gb","region":"bucharest-ro","imageId":"ubuntu-24.04","hostname":"web-01","sshPublicKey":"ssh-ed25519 ..."}'

GET /v1/catalog/listings/cloud-vm lists the plans. Send the same body to POST /v1/services/preflight to check your balance and whether new orders are open on this account, with nothing created or charged. It does not check your limits.

How you log in depends on what you send:

You sendWhat you get
An SSH key, no passwordKey login over SSH. The answer carries consolePassword, shown once, which works only on the web console
NeitherThe same consolePassword, shown once, for the web console
rootPassword, no keyYour password works over SSH and on the web console
rootPassword and a keySSH stays key-only, and your password works on the web console

Images

GET /v1/catalog/images lists what a new server can start from: ubuntu-24.04, ubuntu-22.04, debian-12 and rocky-9. You can also create a server from one of your own snapshots by passing its id as imageId.

The console's server page shows the image the server really runs. GET /v1/services/{id} returns it as image, { slug, name }, and it follows a reinstall. slug is the catalog slug or your snapshot id, and image is null when it cannot be determined. List responses carry it for VMs that recorded it at create or reinstall. In Terraform, it is image_name on rarecloud_server.

Power

TaskAPICLI
StartPOST /v1/services/{id}/actions/startrarecloud server start <id>
StopPOST /v1/services/{id}/actions/stoprarecloud server stop <id>
RebootPOST /v1/services/{id}/actions/rebootrarecloud server reboot <id>

A server is billed while it exists, on or off, because its disk and IP stay reserved for you.

Web console

The browser console reaches the server even when SSH does not. Open it from the server's page, or get its URL with GET /v1/services/{id}/console or rarecloud server console <id>.

Reinstall

A reinstall rebuilds the server from an image and keeps its IP. Everything on the disk is lost.

rarecloud server reinstall <id> --image ubuntu-24.04 --ssh-key ~/.ssh/id_ed25519.pub

Through the API it is POST /v1/services/{id}/actions/reinstall with imageId, plus password or sshPublicKey. With neither, the answer carries a web console password, shown once. GET /v1/services/{id}/os-templates lists what you can pick: curated images (kind: "stock") and your own snapshots (kind: "snapshot"), including those of another VM. A snapshot that needs a bigger disk than this server has is refused, and the error names both sizes. The login rules are the same as at deploy.

Reset the root password

Reset the password of a running server without a reboot, from the server's page in the console or with:

rarecloud server reset-password <id> --generate

The API route is POST /v1/services/{id}/actions/reset-password with { "password": "..." }, 8 to 128 characters. The answer is status: "reset-requested", and the server applies the new password within about a minute.

  • The new password always works on the web console. Over SSH it works only on servers deployed or reinstalled with password login; a server set up with an SSH key stays key-only.
  • GET /v1/services/{id} tells you whether a server can do this: capabilities.resetRootPassword. When it is false, capabilities.resetRootPasswordReason says why. no_guest_agent means the disk has no guest-agent channel, for example after a restore from an older snapshot, and a reinstall brings it back. unknown means it could not be read just now, so try again later.
  • The server must be running. Otherwise the route answers 409. A server still finishing first boot answers 409 NOT_READY; wait about a minute and retry.

Resize

rarecloud server resize <id> --flavor g-4vcpu-16gb

The API route is POST /v1/services/{id}/resize with { "flavor": "<plan SKU>" }. It answers 202 with status: "resizing"; poll GET /v1/services/{id} until the server is active. Your data and IP stay, the server restarts once, and billing follows the new plan. The new plan's disk must be at least as large as the current one, because a root disk cannot shrink. In Terraform, change plan on rarecloud_server.

Snapshots and restore

A snapshot copies the server's root disk while the server keeps running. Each server can keep up to 5. A name is 1 to 64 characters.

TaskAPICLI
Take onePOST /v1/services/{id}/snapshots with { "name": "..." }rarecloud server snapshot create <id> --name before-upgrade --wait
List one server'sGET /v1/services/{id}/snapshotsrarecloud server snapshot list <id>
List all yoursGET /v1/snapshotsrarecloud snapshot list
Read oneGET /v1/snapshots/{id}rarecloud snapshot get <snapshot-id>
RestorePOST /v1/services/{id}/restore with { "snapshotId": "..." }rarecloud server snapshot restore <id> <snapshot-id> --yes
DeleteDELETE /v1/snapshots/{id}rarecloud snapshot delete <snapshot-id> --yes
  • The state goes from creating to securing to ready. A snapshot is usable within seconds, while it is securing, and ready means it is fully independent of the server. failed still uses one of the server's slots until you delete it.
  • Restore replaces the disk. Everything written since the snapshot is lost. A restore takes a snapshot of that same server. To use a snapshot on another server, reinstall that server from it or deploy a new one.
  • A snapshot cannot be deleted while servers created from it exist; the error names them. While one of a server's snapshots is securing, that server cannot be deleted or reinstalled.
  • A snapshot is billed for the space it uses, at the price on the Cloud VM page. usedBytes is null until it is measured.

Tags

Labels for your own use: up to 50 per server, each 1 to 60 characters, without , or /. Tags starting with managed:, k8s: or rarecloud are reserved. PUT /v1/services/{id}/tags with { "tags": [...] } replaces the whole set, and [] clears it. In the CLI use --tag at create, rarecloud server tag set <id> <tag>... and rarecloud server tag clear <id>.

Reverse DNS

Set the PTR record of the server's primary public IPv4. The API works the address out from your server, so you only send the hostname.

rarecloud server rdns set <id> --hostname mail.example.com
rarecloud server rdns get <id>
rarecloud server rdns delete <id>

The API routes are GET, PUT ({ "hostname": "..." }) and DELETE on /v1/services/{id}/rdns. In Terraform, use rarecloud_reverse_dns.

Delete

rarecloud server destroy <id> --yes

The API route is DELETE /v1/services/{id}. Deleting ends the server's hourly billing. A volume attached to it stays in your account, with its data and its billing, until you delete the volume.

Troubleshooting

What you seeWhat it means
server create is refusedThe error says why. server check covers your balance and order blocks; for a limit, see rarecloud limits and limits.
409 starting RESET_PASSWORD_UNSUPPORTED:The disk has no guest-agent channel. Reinstall to bring it back.
A resize is refused for disk sizePick a plan with an equal or larger disk. For more space without a new plan, attach a volume.
A snapshot will not deleteServers created from it still exist. The error names them.
404 on a server idWrong id. Another account's server answers 404, the same as one that does not exist.

Related