Skip to content
GET/servers

List 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

NameInTypeDescription
X-OpenStack-Nova-MicroversionheaderstringRequest a specific Nova microversion. Defaults to 2.1. Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95
limitqueryintegerMaximum number of items to return per page
Default: 1000
markerquerystringUUID of the last item in the previous page (for pagination)
namequerystringFilter by server name (supports regex)
statusquerystring
ACTIVEBUILDDELETEDERRORSHUTOFFPAUSEDSUSPENDED
Filter by server status
imagequerystringFilter by image UUID
flavorquerystringFilter by flavor UUID
changes-sincequerystringReturn only servers modified since this time (ISO 8601)

Responses

200List of servers
serversarray[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/servers

Create 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

NameInTypeDescription
X-OpenStack-Nova-MicroversionheaderstringRequest a specific Nova microversion. Defaults to 2.1. Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95

Request Bodyrequired

application/json
server*objectServer creation parameters

Responses

202Server accepted for creation (build starts asynchronously)
serverobjectA 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/detail

List 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

NameInTypeDescription
X-OpenStack-Nova-MicroversionheaderstringRequest a specific Nova microversion. Defaults to 2.1. Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95
limitqueryintegerMaximum number of items to return per page
Default: 1000
markerquerystringUUID of the last item in the previous page (for pagination)
statusquerystringFilter by server status

Responses

200List of detailed server objects
serversarray[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

NameInTypeDescription
server_id*pathstringThe UUID of the server
X-OpenStack-Nova-MicroversionheaderstringRequest a specific Nova microversion. Defaults to 2.1. Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95

Responses

200Server detail object
serverobjectA 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

NameInTypeDescription
server_id*pathstringThe UUID of the server
X-OpenStack-Nova-MicroversionheaderstringRequest 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

NameInTypeDescription
server_id*pathstringThe UUID of the server
X-OpenStack-Nova-MicroversionheaderstringRequest 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
serverobjectA 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}/action

Perform 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

NameInTypeDescription
server_id*pathstringThe UUID of the server
X-OpenStack-Nova-MicroversionheaderstringRequest 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)
object
202Action 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}/ips

List server IP addresses

Returns IP addresses for all networks attached to the server. Includes both fixed IPs and floating IPs.

Parameters

NameInTypeDescription
server_id*pathstringThe UUID of the server
X-OpenStack-Nova-MicroversionheaderstringRequest a specific Nova microversion. Defaults to 2.1. Maximum supported on Rumble Cloud: **2.95**.
Example: 2.95

Responses

200Network addresses by network name
addressesobject
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"