> For the complete documentation index, see [llms.txt](https://docs.nebulablock.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nebulablock.com/api-reference/platform-api/list-products/reboot-instance.md).

# Reboot Instance

Reboot a running Nebula Block GPU or CPU instance without terminating it.

Initiate a reboot of an instance. Provide the instance ID in the path to reboot the specified instance.

## HTTP Request

`GET` `{API_URL}/computing/instance/{id}/reboot`

## Path parameters

| Parameters | Requirements | Type     | Description                                                                                                               |
| ---------- | ------------ | -------- | ------------------------------------------------------------------------------------------------------------------------- |
| id         | Required     | `string` | The unique identifier of the instance, from [List Instances](/api-reference/platform-api/list-products/list-instances.md) |

> **Note:** An unknown id is rejected with **HTTP 404** `Instance not found`, and an instance belonging to someone else with **HTTP 403** `Permission denied`. Those are the only real HTTP errors here — every other failure below comes back as HTTP 200.

> **Important:** The instance must be in `Running` or `Stopped` state. Calling this on an instance in any other state returns **HTTP 200** with `"status": "failed"` and the message `"Instance status is invalid for reboot operation"` — check `status`, not the HTTP code.

> **Note:** Not every configuration supports power actions — older ones in particular may not. Where the action is unavailable the call returns **HTTP 200** with `"status": "failed"` and the message `"Rebooting instance failed"`, and the instance is left untouched. There is no capability flag to check in advance, so handle that message; if a reboot fails this way on an instance you expect to support it, contact support.

> **Note:** Rebooting a **stopped Spot instance** starts it, so the same spot pricing check as [Start Instance](/api-reference/platform-api/list-products/start-instance.md#spot-instances) applies: if the current spot rate is above the rate the instance last ran at, nothing happens and the call returns `"status": "failed"` with the code `spot_price_changed`. Use Start Instance with `accepted_price_per_hour` to start it at the new rate.

> **Note:** Rebooting a **running Spot instance** stops it and starts it again at its current rate. If the spot rate has risen above that rate, it cannot start and ends up `Preempted`: compute billing pauses and its disks keep being billed at a storage rate until you start or delete it. Start it again with [Start Instance](/api-reference/platform-api/list-products/start-instance.md#spot-instances) at the current rate. To keep a running Spot instance running, avoid rebooting it while spot rates are rising.

## Response Attributes

#### data `list`

Always empty on this endpoint.

#### message `string`

A description of the status of the request.

#### status `string`

Indicates the result of the request. `success` signifies success, while `failed` indicates an error.

## Example

#### Request

```bash
curl -X GET '{API_URL}/computing/instance/{id}/reboot' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \

```

#### Response

```json
{
    "message": "Instance rebooted successfully",
    "status": "success"
}
```
