Default

List API Versions

get

Lists information about all known API versions in the deployment. This endpoint does not require authentication.

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Responses
200

Successful response

application/json
get
/
GET /compute/v2.1/ HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "versions": [
    {
      "id": "text",
      "status": "CURRENT",
      "version": "text",
      "min_version": "text",
      "updated": "2025-11-28T20:23:32.263Z",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ]
    }
  ]
}

List Servers

get

Lists IDs, names, and links for servers. By default, servers are filtered using the project ID associated with the authenticated request.

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
changes-sincestring · date-timeOptional

Filters the response by a date and time stamp when the server last changed status. Format: CCYY-MM-DDThh:mm:ss±hh:mm

flavorstring · uuidOptional

Filters the response by a flavor UUID

imagestring · uuidOptional

Filters the response by an image UUID

ipstring · ipv4Optional

An IPv4 address to filter results by

ip6string · ipv6Optional

An IPv6 address to filter results by

namestringOptional

Filters the response by a server name

reservation_idstringOptional

A reservation id as returned by a servers multiple create call

statusstring · enumOptional

Filters the response by a server status

Possible values:
tagsstringOptional

A list of tags to filter the server list by. Servers that match all tags in this list will be returned. Tags must be separated by comma.

tags-anystringOptional

A list of tags to filter the server list by. Servers that match any tag in this list will be returned. Tags must be separated by comma.

not-tagsstringOptional

A list of tags to filter the server list by. Servers that don't match all tags in this list will be returned. Tags must be separated by comma.

not-tags-anystringOptional

A list of tags to filter the server list by. Servers that don't match any tags in this list will be returned. Tags must be separated by comma.

limitinteger · min: 1Optional

Requests a page size of items

markerstring · uuidOptional

The ID of the last-seen item for pagination

sort_keystring · enumOptional

Sorts by a server attribute

Default: created_atPossible values:
sort_dirstring · enumOptional

Sort direction

Default: descPossible values:
changes-beforestring · date-timeOptional

Filters the response by a date and time stamp when the server last changed. Format: CCYY-MM-DDThh:mm:ss±hh:mm

lockedbooleanOptional

Specify the locked status to filter servers

availability_zonestringOptional

Filter the server list result by server availability zone

config_drivestringOptional

Filter the server list result by the config drive setting

key_namestringOptional

Filter the server list result by keypair name

created_atstring · date-timeOptional

Filter the server list result by a date and time stamp when server was created. Format: CCYY-MM-DDThh:mm:ss±hh:mm

launched_atstring · date-timeOptional

Filter the server list result by a date and time stamp when the instance was launched. Format: CCYY-MM-DDThh:mm:ss±hh:mm

terminated_atstring · date-timeOptional

Filter the server list result by a date and time stamp when instance was terminated. Format: CCYY-MM-DDThh:mm:ss±hh:mm

user_idstringOptional

Filter the list of servers by the given user ID

power_stateinteger · enumOptional

Filter the server list result by server power state

Possible values:
task_statestringOptional

Filter the server list result by task state

vm_statestring · enumOptional

Filter the server list result by vm state

Possible values:
progressinteger · max: 100Optional

Filter the server list result by the progress of the server (0-100)

hostnamestringOptional

Filter the server list result by the host name of server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/servers
GET /compute/v2.1/servers HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "servers": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ]
    }
  ],
  "servers_links": [
    {
      "href": "https://example.com",
      "rel": "self",
      "type": "text"
    }
  ]
}

Create Server

post

Creates a server. The progress of this operation depends on various factors including image location, network I/O, host load, and selected flavor.

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
post
/servers
POST /compute/v2.1/servers HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1239

{
  "server": {
    "name": "text",
    "imageRef": "123e4567-e89b-12d3-a456-426614174000",
    "flavorRef": "text",
    "adminPass": "text",
    "networks": "auto",
    "block_device_mapping_v2": [
      {
        "boot_index": 1,
        "uuid": "123e4567-e89b-12d3-a456-426614174000",
        "source_type": "volume",
        "destination_type": "volume",
        "delete_on_termination": false,
        "device_name": "text",
        "device_type": "disk",
        "disk_bus": "ide",
        "guest_format": "text",
        "no_device": true,
        "volume_size": 1,
        "tag": "text",
        "volume_type": "text"
      }
    ],
    "availability_zone": "text",
    "user_data": "Ynl0ZXM=",
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "personality": [
      {
        "path": "text",
        "contents": "Ynl0ZXM="
      }
    ],
    "security_groups": [
      {
        "name": "text"
      }
    ],
    "key_name": "text",
    "config_drive": true,
    "OS-DCF:diskConfig": "AUTO",
    "accessIPv4": "0.0.0.0",
    "accessIPv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "description": "text",
    "hostname": "text",
    "tags": [
      "text"
    ],
    "trusted_image_certificates": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "host": "text",
    "hypervisor_hostname": "text"
  },
  "OS-SCH-HNT:scheduler_hints": {
    "build_near_host_ip": "0.0.0.0",
    "cidr": "text",
    "different_cell": "text",
    "different_host": "123e4567-e89b-12d3-a456-426614174000",
    "group": "123e4567-e89b-12d3-a456-426614174000",
    "query": "text",
    "same_host": "123e4567-e89b-12d3-a456-426614174000",
    "target_cell": "text"
  }
}
{
  "server": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "links": [
      {
        "href": "https://example.com",
        "rel": "self",
        "type": "text"
      }
    ],
    "OS-DCF:diskConfig": "AUTO",
    "adminPass": "text",
    "security_groups": [
      {
        "name": "text"
      }
    ]
  }
}

List Servers (Detailed)

get

For each server, shows server details including config drive, extended status, and server usage information.

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
changes-sincestring · date-timeOptional
flavorstring · uuidOptional
imagestring · uuidOptional
ipstring · ipv4Optional
ip6string · ipv6Optional
namestringOptional
statusstring · enumOptionalPossible values:
limitinteger · min: 1Optional
markerstring · uuidOptional
Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/servers/detail
GET /compute/v2.1/servers/detail HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "servers": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ],
      "accessIPv4": "0.0.0.0",
      "accessIPv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
      "addresses": {
        "ANY_ADDITIONAL_PROPERTY": [
          {
            "addr": "text",
            "version": 4,
            "OS-EXT-IPS:type": "fixed",
            "OS-EXT-IPS-MAC:mac_addr": "text"
          }
        ]
      },
      "config_drive": "text",
      "created": "2025-11-28T20:23:32.263Z",
      "flavor": {
        "id": "text",
        "links": [
          {
            "href": "https://example.com",
            "rel": "self",
            "type": "text"
          }
        ]
      },
      "hostId": "text",
      "image": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "links": [
          {
            "href": "https://example.com",
            "rel": "self",
            "type": "text"
          }
        ],
        "properties": {}
      },
      "key_name": "text",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "status": "ACTIVE",
      "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
      "user_id": "123e4567-e89b-12d3-a456-426614174000",
      "updated": "2025-11-28T20:23:32.263Z",
      "OS-DCF:diskConfig": "AUTO",
      "OS-EXT-AZ:availability_zone": "text",
      "OS-EXT-SRV-ATTR:host": "text",
      "OS-EXT-SRV-ATTR:hostname": "text",
      "OS-EXT-SRV-ATTR:hypervisor_hostname": "text",
      "OS-EXT-SRV-ATTR:instance_name": "text",
      "OS-EXT-SRV-ATTR:kernel_id": "text",
      "OS-EXT-SRV-ATTR:launch_index": 1,
      "OS-EXT-SRV-ATTR:ramdisk_id": "text",
      "OS-EXT-SRV-ATTR:reservation_id": "text",
      "OS-EXT-SRV-ATTR:root_device_name": "text",
      "OS-EXT-SRV-ATTR:user_data": "text",
      "OS-EXT-STS:power_state": 0,
      "OS-EXT-STS:task_state": "text",
      "OS-EXT-STS:vm_state": "text",
      "os-extended-volumes:volumes_attached": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "delete_on_termination": true
        }
      ],
      "OS-SRV-USG:launched_at": "2025-11-28T20:23:32.263Z",
      "OS-SRV-USG:terminated_at": "2025-11-28T20:23:32.263Z",
      "fault": {
        "code": 1,
        "message": "text",
        "details": "text",
        "created": "2025-11-28T20:23:32.263Z"
      },
      "locked": true,
      "locked_reason": "text",
      "host_status": "UP",
      "description": "text",
      "tags": [
        "text"
      ],
      "trusted_image_certificates": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "progress": 1,
      "security_groups": [
        {
          "name": "text"
        }
      ],
      "pinned_availability_zone": "text",
      "scheduler_hints": {}
    }
  ],
  "servers_links": [
    {
      "href": "https://example.com",
      "rel": "self",
      "type": "text"
    }
  ]
}

Show Server Details

get

Shows details for a server, including configuration drive, extended status, and server usage information.

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/servers/{server_id}
GET /compute/v2.1/servers/{server_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "server": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "links": [
      {
        "href": "https://example.com",
        "rel": "self",
        "type": "text"
      }
    ],
    "accessIPv4": "0.0.0.0",
    "accessIPv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "addresses": {
      "ANY_ADDITIONAL_PROPERTY": [
        {
          "addr": "text",
          "version": 4,
          "OS-EXT-IPS:type": "fixed",
          "OS-EXT-IPS-MAC:mac_addr": "text"
        }
      ]
    },
    "config_drive": "text",
    "created": "2025-11-28T20:23:32.263Z",
    "flavor": {
      "id": "text",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ]
    },
    "hostId": "text",
    "image": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ],
      "properties": {}
    },
    "key_name": "text",
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "status": "ACTIVE",
    "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
    "user_id": "123e4567-e89b-12d3-a456-426614174000",
    "updated": "2025-11-28T20:23:32.263Z",
    "OS-DCF:diskConfig": "AUTO",
    "OS-EXT-AZ:availability_zone": "text",
    "OS-EXT-SRV-ATTR:host": "text",
    "OS-EXT-SRV-ATTR:hostname": "text",
    "OS-EXT-SRV-ATTR:hypervisor_hostname": "text",
    "OS-EXT-SRV-ATTR:instance_name": "text",
    "OS-EXT-SRV-ATTR:kernel_id": "text",
    "OS-EXT-SRV-ATTR:launch_index": 1,
    "OS-EXT-SRV-ATTR:ramdisk_id": "text",
    "OS-EXT-SRV-ATTR:reservation_id": "text",
    "OS-EXT-SRV-ATTR:root_device_name": "text",
    "OS-EXT-SRV-ATTR:user_data": "text",
    "OS-EXT-STS:power_state": 0,
    "OS-EXT-STS:task_state": "text",
    "OS-EXT-STS:vm_state": "text",
    "os-extended-volumes:volumes_attached": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "delete_on_termination": true
      }
    ],
    "OS-SRV-USG:launched_at": "2025-11-28T20:23:32.263Z",
    "OS-SRV-USG:terminated_at": "2025-11-28T20:23:32.263Z",
    "fault": {
      "code": 1,
      "message": "text",
      "details": "text",
      "created": "2025-11-28T20:23:32.263Z"
    },
    "locked": true,
    "locked_reason": "text",
    "host_status": "UP",
    "description": "text",
    "tags": [
      "text"
    ],
    "trusted_image_certificates": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "progress": 1,
    "security_groups": [
      {
        "name": "text"
      }
    ],
    "pinned_availability_zone": "text",
    "scheduler_hints": {}
  }
}

Update Server

put

Updates the editable attributes of a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
200

Successful response

application/json
put
/servers/{server_id}
PUT /compute/v2.1/servers/{server_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 143

{
  "server": {
    "name": "text",
    "description": "text",
    "hostname": "text",
    "accessIPv4": "0.0.0.0",
    "accessIPv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
  }
}
{
  "server": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "links": [
      {
        "href": "https://example.com",
        "rel": "self",
        "type": "text"
      }
    ],
    "accessIPv4": "0.0.0.0",
    "accessIPv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "addresses": {
      "ANY_ADDITIONAL_PROPERTY": [
        {
          "addr": "text",
          "version": 4,
          "OS-EXT-IPS:type": "fixed",
          "OS-EXT-IPS-MAC:mac_addr": "text"
        }
      ]
    },
    "config_drive": "text",
    "created": "2025-11-28T20:23:32.263Z",
    "flavor": {
      "id": "text",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ]
    },
    "hostId": "text",
    "image": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ],
      "properties": {}
    },
    "key_name": "text",
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "status": "ACTIVE",
    "tenant_id": "123e4567-e89b-12d3-a456-426614174000",
    "user_id": "123e4567-e89b-12d3-a456-426614174000",
    "updated": "2025-11-28T20:23:32.263Z",
    "OS-DCF:diskConfig": "AUTO",
    "OS-EXT-AZ:availability_zone": "text",
    "OS-EXT-SRV-ATTR:host": "text",
    "OS-EXT-SRV-ATTR:hostname": "text",
    "OS-EXT-SRV-ATTR:hypervisor_hostname": "text",
    "OS-EXT-SRV-ATTR:instance_name": "text",
    "OS-EXT-SRV-ATTR:kernel_id": "text",
    "OS-EXT-SRV-ATTR:launch_index": 1,
    "OS-EXT-SRV-ATTR:ramdisk_id": "text",
    "OS-EXT-SRV-ATTR:reservation_id": "text",
    "OS-EXT-SRV-ATTR:root_device_name": "text",
    "OS-EXT-SRV-ATTR:user_data": "text",
    "OS-EXT-STS:power_state": 0,
    "OS-EXT-STS:task_state": "text",
    "OS-EXT-STS:vm_state": "text",
    "os-extended-volumes:volumes_attached": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "delete_on_termination": true
      }
    ],
    "OS-SRV-USG:launched_at": "2025-11-28T20:23:32.263Z",
    "OS-SRV-USG:terminated_at": "2025-11-28T20:23:32.263Z",
    "fault": {
      "code": 1,
      "message": "text",
      "details": "text",
      "created": "2025-11-28T20:23:32.263Z"
    },
    "locked": true,
    "locked_reason": "text",
    "host_status": "UP",
    "description": "text",
    "tags": [
      "text"
    ],
    "trusted_image_certificates": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "progress": 1,
    "security_groups": [
      {
        "name": "text"
      }
    ],
    "pinned_availability_zone": "text",
    "scheduler_hints": {}
  }
}

Delete Server

delete

Deletes a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
delete
/servers/{server_id}
DELETE /compute/v2.1/servers/{server_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List Server Metadata

get

Lists all metadata for a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/servers/{server_id}/metadata
GET /compute/v2.1/servers/{server_id}/metadata HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

Update Server Metadata

post

Updates metadata for a server, merging with existing metadata

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
200

Successful response

application/json
post
/servers/{server_id}/metadata
POST /compute/v2.1/servers/{server_id}/metadata HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}
200

Successful response

{
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

Set Server Metadata

put

Sets metadata for a server, replacing all existing metadata

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
200

Successful response

application/json
put
/servers/{server_id}/metadata
PUT /compute/v2.1/servers/{server_id}/metadata HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}
200

Successful response

{
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

Get Server Metadata Item

get

Gets a specific metadata item for a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

keystringRequired

The metadata key

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/servers/{server_id}/metadata/{key}
GET /compute/v2.1/servers/{server_id}/metadata/{key} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "meta": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

Set Server Metadata Item

put

Sets a specific metadata item for a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

keystringRequired

The metadata key

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
200

Successful response

application/json
put
/servers/{server_id}/metadata/{key}
PUT /compute/v2.1/servers/{server_id}/metadata/{key} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 43

{
  "meta": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}
200

Successful response

{
  "meta": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

Delete Server Metadata Item

delete

Deletes a specific metadata item from a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

keystringRequired

The metadata key

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
delete
/servers/{server_id}/metadata/{key}
DELETE /compute/v2.1/servers/{server_id}/metadata/{key} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

Metadata item deleted successfully

No content

List Server Tags

get

Lists all tags for a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/servers/{server_id}/tags
GET /compute/v2.1/servers/{server_id}/tags HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "tags": [
    "text"
  ]
}

Replace Server Tags

put

Replaces all tags for a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
tagsstring[] · max: 50Required
Responses
200

Successful response

application/json
put
/servers/{server_id}/tags
PUT /compute/v2.1/servers/{server_id}/tags HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "tags": [
    "text"
  ]
}
200

Successful response

{
  "tags": [
    "text"
  ]
}

Delete All Server Tags

delete

Deletes all tags from a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
delete
/servers/{server_id}/tags
DELETE /compute/v2.1/servers/{server_id}/tags HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

All tags deleted successfully

No content

Check Server Tag Exists

get

Checks if a tag exists on a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

tagstringRequired

The tag to add or remove

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
get
/servers/{server_id}/tags/{tag}
GET /compute/v2.1/servers/{server_id}/tags/{tag} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Add Server Tag

put

Adds a single tag to a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

tagstringRequired

The tag to add or remove

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
put
/servers/{server_id}/tags/{tag}
PUT /compute/v2.1/servers/{server_id}/tags/{tag} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Delete Server Tag

delete

Deletes a single tag from a server

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

tagstringRequired

The tag to add or remove

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
delete
/servers/{server_id}/tags/{tag}
DELETE /compute/v2.1/servers/{server_id}/tags/{tag} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

Tag deleted successfully

No content

List Flavors

get

Lists flavors with details

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
limitinteger · min: 1Optional

Requests a page size of items

markerstringOptional

The ID of the last-seen item for pagination

sort_keystring · enumOptional

Sorts by a flavor attribute

Default: created_atPossible values:
sort_dirstring · enumOptional

Sort direction

Default: ascPossible values:
min_diskintegerOptional

Filters the response by a minimum disk space in GiB

min_ramintegerOptional

Filters the response by a minimum RAM in MiB

is_publicbooleanOptional

Filters the response by whether the flavor is public or private

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/flavors
GET /compute/v2.1/flavors HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "flavors": [
    {
      "id": "text",
      "name": "text",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ]
    }
  ]
}

List Flavors (Detailed)

get

Lists flavors with full details

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
limitinteger · min: 1Optional
markerstringOptional
sort_keystring · enumOptionalDefault: created_atPossible values:
sort_dirstring · enumOptionalDefault: ascPossible values:
Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/flavors/detail
GET /compute/v2.1/flavors/detail HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "flavors": [
    {
      "id": "text",
      "name": "text",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ],
      "disk": 1,
      "ephemeral": 1,
      "ram": 1,
      "swap": 1,
      "vcpus": 1,
      "original_name": "text",
      "extra_specs": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "OS-FLV-DISABLED:disabled": true,
      "OS-FLV-EXT-DATA:ephemeral": 1,
      "os-flavor-access:is_public": true,
      "rxtx_factor": 1
    }
  ]
}

Show Flavor Details

get

Shows details for a flavor

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
flavor_idstringRequired

The UUID or name of the flavor

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/flavors/{flavor_id}
GET /compute/v2.1/flavors/{flavor_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "flavor": {
    "id": "text",
    "name": "text",
    "links": [
      {
        "href": "https://example.com",
        "rel": "self",
        "type": "text"
      }
    ],
    "disk": 1,
    "ephemeral": 1,
    "ram": 1,
    "swap": 1,
    "vcpus": 1,
    "original_name": "text",
    "extra_specs": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "OS-FLV-DISABLED:disabled": true,
    "OS-FLV-EXT-DATA:ephemeral": 1,
    "os-flavor-access:is_public": true,
    "rxtx_factor": 1
  }
}

List Keypairs

get

Lists keypairs that are associated with the project

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
limitinteger · min: 1Optional
markerstringOptional
user_idstringOptional

Filter the list by user ID (admin only)

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-keypairs
GET /compute/v2.1/os-keypairs HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "keypairs": [
    {
      "keypair": {
        "name": "text",
        "type": "ssh",
        "public_key": "text",
        "fingerprint": "text"
      }
    }
  ]
}

Create/Import Keypair

post

Creates or imports a keypair

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
post
/os-keypairs
POST /compute/v2.1/os-keypairs HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "keypair": {
    "name": "text",
    "type": "ssh",
    "public_key": "text",
    "user_id": "123e4567-e89b-12d3-a456-426614174000"
  }
}
201

Keypair created successfully

{
  "keypair": {
    "keypair": {
      "user_id": "123e4567-e89b-12d3-a456-426614174000",
      "created_at": "2025-11-28T20:23:32.263Z",
      "deleted": true,
      "deleted_at": "2025-11-28T20:23:32.263Z",
      "id": 1,
      "is_deleted": true,
      "updated_at": "2025-11-28T20:23:32.263Z"
    }
  }
}

Show Keypair Details

get

Shows details for a keypair

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
keypair_namestringRequired

The name of the keypair

Query parameters
user_idstringOptional

User ID for the keypair (admin only)

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-keypairs/{keypair_name}
GET /compute/v2.1/os-keypairs/{keypair_name} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "keypair": {
    "keypair": {
      "user_id": "123e4567-e89b-12d3-a456-426614174000",
      "created_at": "2025-11-28T20:23:32.263Z",
      "deleted": true,
      "deleted_at": "2025-11-28T20:23:32.263Z",
      "id": 1,
      "is_deleted": true,
      "updated_at": "2025-11-28T20:23:32.263Z"
    }
  }
}

Delete Keypair

delete

Deletes a keypair

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
keypair_namestringRequired

The name of the keypair

Query parameters
user_idstringOptional

User ID for the keypair (admin only)

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
delete
/os-keypairs/{keypair_name}
DELETE /compute/v2.1/os-keypairs/{keypair_name} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Show Rate and Absolute Limits

get

Shows rate and absolute limits for the project

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
tenant_idstringOptional

Project ID to get limits for (admin only)

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/limits
GET /compute/v2.1/limits HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "limits": {
    "rate": [
      {
        "uri": "text",
        "regex": "text",
        "limit": [
          {
            "value": 1,
            "verb": "text",
            "remaining": 1,
            "unit": "text",
            "next-available": "2025-11-28T20:23:32.263Z"
          }
        ]
      }
    ],
    "absolute": {
      "maxServerMeta": 1,
      "maxTotalInstances": 1,
      "maxTotalCores": 1,
      "maxTotalRAMSize": 1,
      "maxTotalKeypairs": 1,
      "maxServerGroups": 1,
      "maxServerGroupMembers": 1,
      "totalInstancesUsed": 1,
      "totalCoresUsed": 1,
      "totalRAMUsed": 1,
      "totalServerGroupsUsed": 1
    }
  }
}

List Availability Zones

get

Lists availability zones

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-availability-zone
GET /compute/v2.1/os-availability-zone HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "availabilityZoneInfo": [
    {
      "zoneName": "text",
      "zoneState": {
        "available": true
      }
    }
  ]
}

List Availability Zones (Detailed)

get

Lists availability zones with detailed information (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-availability-zone/detail
GET /compute/v2.1/os-availability-zone/detail HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "availabilityZoneInfo": [
    {
      "zoneName": "text",
      "zoneState": {
        "available": true
      },
      "hosts": {
        "ANY_ADDITIONAL_PROPERTY": {
          "ANY_ADDITIONAL_PROPERTY": {
            "available": true,
            "active": true,
            "updated_at": "2025-11-28T20:23:32.263Z"
          }
        }
      }
    }
  ]
}

List Hypervisors

get

Lists hypervisors (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
limitinteger · min: 1Optional
markerstringOptional
hypervisor_hostname_patternstringOptional

Filter hypervisors by hostname pattern

with_serversbooleanOptional

Include servers running on each hypervisor

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-hypervisors
GET /compute/v2.1/os-hypervisors HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "hypervisors": [
    {
      "id": "text",
      "hypervisor_hostname": "text",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ]
    }
  ]
}

List Hypervisors (Detailed)

get

Lists hypervisors with detailed information (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
limitinteger · min: 1Optional
markerstringOptional
hypervisor_hostname_patternstringOptional
with_serversbooleanOptional
Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-hypervisors/detail
GET /compute/v2.1/os-hypervisors/detail HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "hypervisors": [
    {
      "id": "text",
      "hypervisor_hostname": "text",
      "links": [
        {
          "href": "https://example.com",
          "rel": "self",
          "type": "text"
        }
      ],
      "status": "enabled",
      "state": "up",
      "host_ip": "0.0.0.0",
      "free_disk_gb": 1,
      "free_ram_mb": 1,
      "hypervisor_type": "text",
      "hypervisor_version": 1,
      "local_gb": 1,
      "local_gb_used": 1,
      "memory_mb": 1,
      "memory_mb_used": 1,
      "running_vms": 1,
      "vcpus": 1,
      "vcpus_used": 1,
      "cpu_info": {},
      "disk_available_least": 1,
      "service": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "binary": "text",
        "host": "text",
        "zone": "text",
        "status": "enabled",
        "state": "up",
        "updated_at": "2025-11-28T20:23:32.263Z",
        "disabled_reason": "text",
        "forced_down": true
      },
      "servers": [
        {
          "name": "text",
          "uuid": "123e4567-e89b-12d3-a456-426614174000"
        }
      ]
    }
  ]
}

Show Hypervisor Details

get

Shows details for a hypervisor (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
hypervisor_idstringRequired

The ID or UUID of the hypervisor

Query parameters
with_serversbooleanOptional

Include servers running on the hypervisor

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-hypervisors/{hypervisor_id}
GET /compute/v2.1/os-hypervisors/{hypervisor_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "hypervisor": {
    "id": "text",
    "hypervisor_hostname": "text",
    "links": [
      {
        "href": "https://example.com",
        "rel": "self",
        "type": "text"
      }
    ],
    "status": "enabled",
    "state": "up",
    "host_ip": "0.0.0.0",
    "free_disk_gb": 1,
    "free_ram_mb": 1,
    "hypervisor_type": "text",
    "hypervisor_version": 1,
    "local_gb": 1,
    "local_gb_used": 1,
    "memory_mb": 1,
    "memory_mb_used": 1,
    "running_vms": 1,
    "vcpus": 1,
    "vcpus_used": 1,
    "cpu_info": {},
    "disk_available_least": 1,
    "service": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "binary": "text",
      "host": "text",
      "zone": "text",
      "status": "enabled",
      "state": "up",
      "updated_at": "2025-11-28T20:23:32.263Z",
      "disabled_reason": "text",
      "forced_down": true
    },
    "servers": [
      {
        "name": "text",
        "uuid": "123e4567-e89b-12d3-a456-426614174000"
      }
    ]
  }
}

Show Hypervisor Uptime

get

Shows uptime for a hypervisor (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
hypervisor_idstringRequired

The ID or UUID of the hypervisor

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-hypervisors/{hypervisor_id}/uptime
GET /compute/v2.1/os-hypervisors/{hypervisor_id}/uptime HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "hypervisor": {
    "id": "text",
    "hypervisor_hostname": "text",
    "uptime": "text"
  }
}

List Services

get

Lists services (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
hoststringOptional

Filter services by host name

binarystringOptional

Filter services by binary name

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-services
GET /compute/v2.1/os-services HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "services": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "binary": "text",
      "host": "text",
      "zone": "text",
      "status": "enabled",
      "state": "up",
      "updated_at": "2025-11-28T20:23:32.263Z",
      "disabled_reason": "text",
      "forced_down": true
    }
  ]
}

Update Service

put

Updates a service (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
service_idstring · uuidRequired

The UUID of the service

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
one ofOptional
or
or
Responses
200

Service updated successfully

application/json
put
/os-services/{service_id}
PUT /compute/v2.1/os-services/{service_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 45

{
  "status": "enabled",
  "disabled_reason": "text"
}
200

Service updated successfully

{
  "service": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "binary": "text",
    "host": "text",
    "zone": "text",
    "status": "enabled",
    "state": "up",
    "updated_at": "2025-11-28T20:23:32.263Z",
    "disabled_reason": "text",
    "forced_down": true
  }
}

Delete Service

delete

Deletes a service (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
service_idstring · uuidRequired

The UUID of the service

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
delete
/os-services/{service_id}
DELETE /compute/v2.1/os-services/{service_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

Service deleted successfully

No content

List Host Aggregates

get

Lists host aggregates (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-aggregates
GET /compute/v2.1/os-aggregates HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "aggregates": [
    {
      "id": "text",
      "uuid": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "availability_zone": "text",
      "hosts": [
        "text"
      ],
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "created_at": "2025-11-28T20:23:32.263Z",
      "updated_at": "2025-11-28T20:23:32.263Z",
      "deleted_at": "2025-11-28T20:23:32.263Z",
      "deleted": true
    }
  ]
}

Create Host Aggregate

post

Creates a host aggregate (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
200

Aggregate created successfully

application/json
post
/os-aggregates
POST /compute/v2.1/os-aggregates HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "aggregate": {
    "name": "text",
    "availability_zone": "text"
  }
}
200

Aggregate created successfully

{
  "aggregate": {
    "id": "text",
    "uuid": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "availability_zone": "text",
    "hosts": [
      "text"
    ],
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "created_at": "2025-11-28T20:23:32.263Z",
    "updated_at": "2025-11-28T20:23:32.263Z",
    "deleted_at": "2025-11-28T20:23:32.263Z",
    "deleted": true
  }
}

Show Host Aggregate Details

get

Shows details for a host aggregate (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
aggregate_idstringRequired

The ID of the aggregate

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-aggregates/{aggregate_id}
GET /compute/v2.1/os-aggregates/{aggregate_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "aggregate": {
    "id": "text",
    "uuid": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "availability_zone": "text",
    "hosts": [
      "text"
    ],
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "created_at": "2025-11-28T20:23:32.263Z",
    "updated_at": "2025-11-28T20:23:32.263Z",
    "deleted_at": "2025-11-28T20:23:32.263Z",
    "deleted": true
  }
}

Update Host Aggregate

put

Updates a host aggregate (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
aggregate_idstringRequired

The ID of the aggregate

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
200

Aggregate updated successfully

application/json
put
/os-aggregates/{aggregate_id}
PUT /compute/v2.1/os-aggregates/{aggregate_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "aggregate": {
    "name": "text",
    "availability_zone": "text"
  }
}
200

Aggregate updated successfully

{
  "aggregate": {
    "id": "text",
    "uuid": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "availability_zone": "text",
    "hosts": [
      "text"
    ],
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "created_at": "2025-11-28T20:23:32.263Z",
    "updated_at": "2025-11-28T20:23:32.263Z",
    "deleted_at": "2025-11-28T20:23:32.263Z",
    "deleted": true
  }
}

Delete Host Aggregate

delete

Deletes a host aggregate (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
aggregate_idstringRequired

The ID of the aggregate

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Aggregate deleted successfully (for backward compatibility)

No content

delete
/os-aggregates/{aggregate_id}
DELETE /compute/v2.1/os-aggregates/{aggregate_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Aggregate deleted successfully (for backward compatibility)

No content

Perform Host Aggregate Action

post

Performs actions on a host aggregate (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
aggregate_idstringRequired

The ID of the aggregate

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
one ofOptional
or
or
Responses
200

Action performed successfully

application/json
post
/os-aggregates/{aggregate_id}/action
POST /compute/v2.1/os-aggregates/{aggregate_id}/action HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "add_host": {
    "host": "text"
  }
}
200

Action performed successfully

{
  "aggregate": {
    "id": "text",
    "uuid": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "availability_zone": "text",
    "hosts": [
      "text"
    ],
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "created_at": "2025-11-28T20:23:32.263Z",
    "updated_at": "2025-11-28T20:23:32.263Z",
    "deleted_at": "2025-11-28T20:23:32.263Z",
    "deleted": true
  }
}

List Server Groups

get

Lists server groups

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Query parameters
all_projectsbooleanOptional

Shows server groups for all projects (admin only)

limitinteger · min: 1Optional
offsetintegerOptional
Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-server-groups
GET /compute/v2.1/os-server-groups HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "server_groups": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "policies": [
        "anti-affinity"
      ],
      "policy": "anti-affinity",
      "rules": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "members": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "project_id": "123e4567-e89b-12d3-a456-426614174000",
      "user_id": "123e4567-e89b-12d3-a456-426614174000"
    }
  ]
}

Create Server Group

post

Creates a server group

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
200

Server group created successfully

application/json
post
/os-server-groups
POST /compute/v2.1/os-server-groups HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 129

{
  "server_group": {
    "name": "text",
    "policies": [
      "anti-affinity"
    ],
    "policy": "anti-affinity",
    "rules": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  }
}
200

Server group created successfully

{
  "server_group": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "policies": [
      "anti-affinity"
    ],
    "policy": "anti-affinity",
    "rules": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "members": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "project_id": "123e4567-e89b-12d3-a456-426614174000",
    "user_id": "123e4567-e89b-12d3-a456-426614174000"
  }
}

Show Server Group Details

get

Shows details for a server group

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_group_idstring · uuidRequired

The UUID of the server group

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-server-groups/{server_group_id}
GET /compute/v2.1/os-server-groups/{server_group_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "server_group": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "policies": [
      "anti-affinity"
    ],
    "policy": "anti-affinity",
    "rules": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "members": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "project_id": "123e4567-e89b-12d3-a456-426614174000",
    "user_id": "123e4567-e89b-12d3-a456-426614174000"
  }
}

Delete Server Group

delete

Deletes a server group

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_group_idstring · uuidRequired

The UUID of the server group

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
delete
/os-server-groups/{server_group_id}
DELETE /compute/v2.1/os-server-groups/{server_group_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204

Server group deleted successfully

No content

Show Quotas

get

Shows quotas for a project

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
project_idstring · uuidRequired

The UUID of the project

Query parameters
user_idstringOptional

User ID to get quotas for (admin only)

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-quota-sets/{project_id}
GET /compute/v2.1/os-quota-sets/{project_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "quota_set": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "cores": 1,
    "instances": 1,
    "key_pairs": 1,
    "metadata_items": 1,
    "ram": 1,
    "server_groups": 1,
    "server_group_members": 1
  }
}

Update Quotas

put

Updates quotas for a project (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
project_idstring · uuidRequired

The UUID of the project

Query parameters
user_idstringOptional

User ID to update quotas for

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
Responses
200

Quotas updated successfully

application/json
put
/os-quota-sets/{project_id}
PUT /compute/v2.1/os-quota-sets/{project_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 137

{
  "quota_set": {
    "cores": 1,
    "instances": 1,
    "key_pairs": 1,
    "metadata_items": 1,
    "ram": 1,
    "server_groups": 1,
    "server_group_members": 1,
    "force": false
  }
}
200

Quotas updated successfully

{
  "quota_set": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "cores": 1,
    "instances": 1,
    "key_pairs": 1,
    "metadata_items": 1,
    "ram": 1,
    "server_groups": 1,
    "server_group_members": 1
  }
}

Revert Quotas to Defaults

delete

Reverts quotas for a project to default values (admin only)

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
project_idstring · uuidRequired

The UUID of the project

Query parameters
user_idstringOptional

User ID to revert quotas for

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
delete
/os-quota-sets/{project_id}
DELETE /compute/v2.1/os-quota-sets/{project_id} HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
202

Quotas reverted successfully

No content

Show Default Quotas

get

Shows default quotas for a project

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
project_idstring · uuidRequired

The UUID of the project

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-quota-sets/{project_id}/defaults
GET /compute/v2.1/os-quota-sets/{project_id}/defaults HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "quota_set": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "cores": 1,
    "instances": 1,
    "key_pairs": 1,
    "metadata_items": 1,
    "ram": 1,
    "server_groups": 1,
    "server_group_members": 1
  }
}

Show Quotas with Usage

get

Shows quotas for a project with usage information

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
project_idstring · uuidRequired

The UUID of the project

Query parameters
user_idstringOptional

User ID to get quotas for (admin only)

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Responses
200

Successful response

application/json
get
/os-quota-sets/{project_id}/detail
GET /compute/v2.1/os-quota-sets/{project_id}/detail HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Successful response

{
  "quota_set": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "cores": {
      "limit": 1,
      "in_use": 1,
      "reserved": 1
    },
    "instances": {
      "limit": 1,
      "in_use": 1,
      "reserved": 1
    },
    "key_pairs": {
      "limit": 1,
      "in_use": 1,
      "reserved": 1
    },
    "metadata_items": {
      "limit": 1,
      "in_use": 1,
      "reserved": 1
    },
    "ram": {
      "limit": 1,
      "in_use": 1,
      "reserved": 1
    },
    "server_groups": {
      "limit": 1,
      "in_use": 1,
      "reserved": 1
    },
    "server_group_members": {
      "limit": 1,
      "in_use": 1,
      "reserved": 1
    }
  }
}

Perform Server Action

post

Performs various actions on a server such as reboot, rebuild, resize, etc.

Authorizations
AuthorizationstringRequired

OpenStack Keystone token authentication

Path parameters
server_idstring · uuidRequired

The UUID of the server

Header parameters
OpenStack-API-VersionstringOptional

Specifies the API microversion. Format: "compute X.Y" where X.Y is the microversion. If not specified, the minimum supported version (2.1) is used.

Example: compute 2.96Pattern: ^compute \d+\.\d+
Body
one ofOptional
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
or
Responses
200

Action performed successfully (may contain response data)

No content

post
/servers/{server_id}/action
POST /compute/v2.1/servers/{server_id}/action HTTP/1.1
Host: pcd.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 26

{
  "reboot": {
    "type": "HARD"
  }
}

No content

Last updated

Was this helpful?