---
title: "Restart a running Cube"
method: POST
path: "/spaces/{spaceId}/cubes/{cubeId}/restart"
tags: ["Cubes"]
---

# Restart a running Cube

`POST /spaces/{spaceId}/cubes/{cubeId}/restart`

## Request

- Base URL: `https://krova.cloud/api/v1`
- URL: `https://krova.cloud/api/v1/spaces/{spaceId}/cubes/{cubeId}/restart`
- Auth: API key in header `X-API-KEY`

Cold-restarts the Cube: the hypervisor process is stopped and relaunched, so the Cube boots against the host's current kernel. This is how a Cube picks up a refreshed guest kernel after a platform image update — a `reboot` issued inside the Cube cannot do it, because the kernel is supplied externally by the host. Disk state is preserved; only the kernel changes. Cube must be `running` (a stopped Cube already picks up the latest kernel when started). Concurrent restarts of the same Cube are rejected with 409 rather than queued twice.

## Path parameters

- `spaceId` string, required
- `cubeId` string, required

## Response `200`

Restart enqueued

## Other responses

- `404`: Resource not found
- `409`: Cube is not running, or a restart is already in progress
- `429`: Rate limit exceeded (10 mutations / 60s)

---

[API](https://skmtc.dev/krova/apis/krova-cloud-api.md) · [All operations](https://skmtc.dev/krova/apis/krova-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/krova/apis/krova-cloud-api/revisions/46bb68281ce1?raw)
