Servers
GET
/serversList servers
Returns a list of servers (compact format). Only the server ID, name, and
links are returned. Use `GET /servers/detail` for full server objects.
Supports filtering by status, name, image, flavor, and more via query
parameters. Results are paginated using `limit` and `marker`.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| X-OpenStack-Nova-Microversion | header | string | Request a specific Nova microversion. Defaults to 2.1.
Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95 |
| limit | query | integer | Maximum number of items to return per page Default: 1000 |
| marker | query | string | UUID of the last item in the previous page (for pagination) |
| name | query | string | Filter by server name (supports regex) |
| status | query | stringACTIVEBUILDDELETEDERRORSHUTOFFPAUSEDSUSPENDED | Filter by server status |
| image | query | string | Filter by image UUID |
| flavor | query | string | Filter by flavor UUID |
| changes-since | query | string | Return only servers modified since this time (ISO 8601) |
Responses
200List of servers
| servers | array[object] |
401Unauthorized — invalid or missing token
403Forbidden — insufficient permissions
curl -X GET "https://nova.YOUR_REGION.rumble.cloud/v2.1/YOUR_PROJECT_ID/servers?limit=YOUR_LIMIT&marker=YOUR_MARKER&name=YOUR_NAME&status=YOUR_STATUS&image=YOUR_IMAGE&flavor=YOUR_FLAVOR&changes-since=YOUR_CHANGES-SINCE" \
-H "X-Auth-Token: $TOKEN" \
-H "X-OpenStack-Nova-Microversion: YOUR_X-OPENSTACK-NOVA-MICROVERSION"POST
/serversCreate server
Creates and launches a new server. The server moves through BUILD status
into ACTIVE (or ERROR) asynchronously after the API returns.
**Boot sources (choose one):**
- `imageRef` — boot from an existing image directly
- `block_device_mapping_v2` — boot from a volume, snapshot, or blank volume;
also used to attach additional volumes at creation time
**Networking:** Set `networks` to `auto` for automatic network assignment, or
provide a list of network/port UUIDs.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| X-OpenStack-Nova-Microversion | header | string | Request a specific Nova microversion. Defaults to 2.1.
Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95 |
Request Bodyrequired
application/json
| server* | object | Server creation parameters |
Responses
202Server accepted for creation (build starts asynchronously)
| server | object | A server (compute instance) object |
400Bad request — invalid parameters
401Unauthorized
403Forbidden — quota exceeded or insufficient permissions
409Conflict — name already in use or invalid state
curl -X POST "https://nova.YOUR_REGION.rumble.cloud/v2.1/YOUR_PROJECT_ID/servers" \
-H "X-Auth-Token: $TOKEN" \
-H "X-OpenStack-Nova-Microversion: YOUR_X-OPENSTACK-NOVA-MICROVERSION" \
-H "Content-Type: application/json" \
-d '{
"server": {}
}'GET
/servers/detailList servers (detailed)
Returns a list of servers with full detail. Equivalent to calling
`GET /servers/{server_id}` for each server. Supports the same query
filters as `GET /servers`.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| X-OpenStack-Nova-Microversion | header | string | Request a specific Nova microversion. Defaults to 2.1.
Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95 |
| limit | query | integer | Maximum number of items to return per page Default: 1000 |
| marker | query | string | UUID of the last item in the previous page (for pagination) |
| status | query | string | Filter by server status |
Responses
200List of detailed server objects
| servers | array[object] |
401Unauthorized
curl -X GET "https://nova.YOUR_REGION.rumble.cloud/v2.1/YOUR_PROJECT_ID/servers/detail?limit=YOUR_LIMIT&marker=YOUR_MARKER&status=YOUR_STATUS" \
-H "X-Auth-Token: $TOKEN" \
-H "X-OpenStack-Nova-Microversion: YOUR_X-OPENSTACK-NOVA-MICROVERSION"GET
/servers/{server_id}Show server details
Returns full details for a specific server.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| server_id* | path | string | The UUID of the server |
| X-OpenStack-Nova-Microversion | header | string | Request a specific Nova microversion. Defaults to 2.1.
Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95 |
Responses
200Server detail object
| server | object | A server (compute instance) object |
401Unauthorized
404Server not found
curl -X GET "https://nova.YOUR_REGION.rumble.cloud/v2.1/YOUR_PROJECT_ID/servers/YOUR_SERVER_ID" \
-H "X-Auth-Token: $TOKEN" \
-H "X-OpenStack-Nova-Microversion: YOUR_X-OPENSTACK-NOVA-MICROVERSION"DELETE
/servers/{server_id}Delete server
Deletes a server. The server moves to DELETED status and is removed
asynchronously. If the server has an attached volume created with
`delete_on_termination: true`, that volume is also deleted.
A server in BUILD or ERROR state can be deleted.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| server_id* | path | string | The UUID of the server |
| X-OpenStack-Nova-Microversion | header | string | Request a specific Nova microversion. Defaults to 2.1.
Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95 |
Responses
204Server deleted (no content)
401Unauthorized
404Server not found
409Conflict — server cannot be deleted in its current state
curl -X DELETE "https://nova.YOUR_REGION.rumble.cloud/v2.1/YOUR_PROJECT_ID/servers/YOUR_SERVER_ID" \
-H "X-Auth-Token: $TOKEN" \
-H "X-OpenStack-Nova-Microversion: YOUR_X-OPENSTACK-NOVA-MICROVERSION"PUT
/servers/{server_id}Update server
Updates mutable server properties: `name`, `description` (microversion ≥ 2.19),
and `accessIPv4`/`accessIPv6`.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| server_id* | path | string | The UUID of the server |
| X-OpenStack-Nova-Microversion | header | string | Request a specific Nova microversion. Defaults to 2.1.
Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95 |
Request Bodyrequired
application/json
| server* | object |
Responses
200Updated server object
| server | object | A server (compute instance) object |
400Bad request
404Server not found
curl -X PUT "https://nova.YOUR_REGION.rumble.cloud/v2.1/YOUR_PROJECT_ID/servers/YOUR_SERVER_ID" \
-H "X-Auth-Token: $TOKEN" \
-H "X-OpenStack-Nova-Microversion: YOUR_X-OPENSTACK-NOVA-MICROVERSION" \
-H "Content-Type: application/json" \
-d '{
"server": {
"name": "renamed-server"
}
}'POST
/servers/{server_id}/actionPerform server action
Triggers a lifecycle action on a server. The request body is a single-key
JSON object where the key is the action name.
**Common actions:**
| Action | Allowed in states | Description |
|--------|------------------|-------------|
| `os-start` | SHUTOFF | Power on the server |
| `os-stop` | ACTIVE, ERROR | Power off (SHUTOFF) |
| `reboot` | ACTIVE | Soft (`SOFT`) or hard (`HARD`) reboot |
| `resize` | ACTIVE, SHUTOFF | Change flavor |
| `confirmResize` | VERIFY_RESIZE | Confirm resize and delete old server |
| `revertResize` | VERIFY_RESIZE | Roll back to original flavor |
| `createImage` | ACTIVE, SHUTOFF | Snapshot the server to an image |
| `os-getConsoleOutput` | Any | Retrieve console log |
**Resize workflow:** `resize` → server enters VERIFY_RESIZE → confirm or revert.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| server_id* | path | string | The UUID of the server |
| X-OpenStack-Nova-Microversion | header | string | Request a specific Nova microversion. Defaults to 2.1.
Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95 |
Request Bodyrequired
application/json
objectWrap the action object in a single-key JSON body. Supported actions:
| Action key | Description |
|---|---|
| `os-start` | Power on a SHUTOFF server |
| `os-stop` | Power off a running server (SHUTOFF) |
| `reboot` | Soft or hard reboot |
| `resize` | Resize to a different flavor |
| `confirmResize` | Confirm a completed resize |
| `revertResize` | Revert a pending resize |
| `createImage` | Create a snapshot of the server |
| `os-getConsoleOutput` | Retrieve console output |
Responses
200Action result (for actions that return data, e.g. createImage, os-getConsoleOutput)
object202Action accepted (for async actions like resize, reboot)
204Action succeeded (no content, e.g. os-start, os-stop)
400Bad request — unknown action or invalid parameters
401Unauthorized
404Server not found
409Conflict — server is not in the required state for this action
curl -X POST "https://nova.YOUR_REGION.rumble.cloud/v2.1/YOUR_PROJECT_ID/servers/YOUR_SERVER_ID/action" \
-H "X-Auth-Token: $TOKEN" \
-H "X-OpenStack-Nova-Microversion: YOUR_X-OPENSTACK-NOVA-MICROVERSION" \
-H "Content-Type: application/json" \
-d '{
"key": "value"
}'GET
/servers/{server_id}/ipsList server IP addresses
Returns IP addresses for all networks attached to the server.
Includes both fixed IPs and floating IPs.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| server_id* | path | string | The UUID of the server |
| X-OpenStack-Nova-Microversion | header | string | Request a specific Nova microversion. Defaults to 2.1.
Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95 |
Responses
200Network addresses by network name
| addresses | object |
404Server not found
curl -X GET "https://nova.YOUR_REGION.rumble.cloud/v2.1/YOUR_PROJECT_ID/servers/YOUR_SERVER_ID/ips" \
-H "X-Auth-Token: $TOKEN" \
-H "X-OpenStack-Nova-Microversion: YOUR_X-OPENSTACK-NOVA-MICROVERSION"