OpenStack API Reference

Use the following OpenStack APIs in your OpenStack cloud: Identity Service API v2.0, Compute API v2, Compute API v2 extensions, Image Service API v1, Block Storage Service API v2, and Object Storage API v1. You must install the packages for each API separately. After you authenticate through the Identity Service API, you can use the other APIs and extensions to launch server instances, create images, assign metadata to instances and images, create containers and objects, and complete other actions in your OpenStack cloud.

To get started with the APIs, see the OpenStack API Quick Start. For detailed information, read the specifications for each API.

 

Identity Service API v2.0

Gets an authentication token that permits access to the Compute API for 24 hours.

POST
v2.0/tokens

Returns a token when credentials are supplied. A payload of credentials must be included in the body.

 
Authenticate Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<auth xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://docs.openstack.org/identity/api/v2.0"
 tenantName="customer-x">
  <passwordCredentials username="test_user" password="test"/>
</auth>
Authenticate Request: JSON
{
    "auth":{
        "passwordCredentials":{
            "username":"test_user",
            "password":"mypass"
        },
        "tenantName":"customer-x"
    }
}
GET
v2.0/tenants

Returns a list of tenants.

 
Request parameters
Parameter Description
marker (Optional)
limit (Optional)

Compute API v2

Launches virtual machines (VMs) based on the images uploaded to the system. Also, connects to a server instance securely through SSH once it starts and reboots or resizes server instances as needed. API v1.1 is identical to API v2.

GET
v2

Returns detailed information about this specific version of the API.

 
Response parameters
Parameter Description
location

Full URL to a service or server.

Version Details Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<versions xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
  <version status="CURRENT" updated="2011-01-21T11:33:21Z" id="v2.0">
    <atom:link href="http://openstack.example.com/v2/" rel="self"/>
  </version>
</versions>
Version Details Response: JSON
{
    "versions": [
        {
            "id": "v2.0",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/",
                    "rel": "self"
                }
            ],
            "status": "CURRENT",
            "updated": "2011-01-21T11:33:21Z"
        }
    ]
}

This operation does not require a request body.

GET
v2/{tenant_id}/extensions

Lists all available extensions.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Extensions Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<extensions xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
  <extension alias="NMN" updated="2011-06-09T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/multinic/api/v1.1" name="Multinic">
    <description>Multiple network support.</description>
  </extension>
  <extension alias="OS-DCF" updated="2011-09-27T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/disk_config/api/v1.1" name="DiskConfig">
    <description>Disk Management Extension.</description>
  </extension>
  <extension alias="OS-EXT-SRV-ATTR" updated="2011-11-03T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/extended_status/api/v1.1" name="ExtendedServerAttributes">
    <description>Extended Server Attributes support.</description>
  </extension>
  <extension alias="OS-EXT-STS" updated="2011-11-03T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/extended_status/api/v1.1" name="ExtendedStatus">
    <description>Extended Status support.</description>
  </extension>
  <extension alias="OS-FLV-DISABLED" updated="2012-08-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_disabled/api/v1.1" name="FlavorDisabled">
    <description>Support to show the disabled status of a flavor.</description>
  </extension>
  <extension alias="OS-FLV-EXT-DATA" updated="2011-09-14T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1" name="FlavorExtraData">
    <description>Provide additional data for flavors.</description>
  </extension>
  <extension alias="OS-SCH-HNT" updated="2011-07-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/scheduler-hints/api/v2" name="SchedulerHints">
    <description>Pass arbitrary key/value pairs to the scheduler.</description>
  </extension>
  <extension alias="os-admin-actions" updated="2011-09-20T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/admin-actions/api/v1.1" name="AdminActions">
    <description>Enable admin-only server actions

    Actions include: pause, unpause, suspend, resume, migrate,
    resetNetwork, injectNetworkInfo, lock, unlock, createBackup
    </description>
  </extension>
  <extension alias="os-agents" updated="2012-10-28T00:00:00-00:00" namespace="http://docs.openstack.org/compute/ext/agents/api/v2" name="Agents">
    <description>Agents support.</description>
  </extension>
  <extension alias="os-aggregates" updated="2012-01-12T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/aggregates/api/v1.1" name="Aggregates">
    <description>Admin-only aggregate administration.</description>
  </extension>
  <extension alias="os-availability-zone" updated="2012-08-09T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/availabilityzone/api/v1.1" name="AvailabilityZone">
    <description>Add availability_zone to the Create Server v1.1 API.</description>
  </extension>
  <extension alias="os-cells" updated="2011-09-21T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/cells/api/v1.1" name="Cells">
    <description>Enables cells-related functionality such as adding child cells,
    listing child cells, getting the capabilities of the local cell,
    and returning build plans to parent cells' schedulers
    </description>
  </extension>
  <extension alias="os-certificates" updated="2012-01-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/certificates/api/v1.1" name="Certificates">
    <description>Certificates support.</description>
  </extension>
  <extension alias="os-cloudpipe" updated="2011-12-16T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/cloudpipe/api/v1.1" name="Cloudpipe">
    <description>Adds actions to create cloudpipe instances.

    When running with the Vlan network mode, you need a mechanism to route
    from the public Internet to your vlans.  This mechanism is known as a
    cloudpipe.

    At the time of creating this class, only OpenVPN is supported.  Support for
    a SSH Bastion host is forthcoming.
    </description>
  </extension>
  <extension alias="os-cloudpipe-update" updated="2012-11-14T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/cloudpipe-update/api/v2" name="CloudpipeUpdate">
    <description>Adds the ability to set the vpn ip/port for cloudpipe instances.</description>
  </extension>
  <extension alias="os-config-drive" updated="2012-07-16T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/config_drive/api/v1.1" name="ConfigDrive">
    <description>Config Drive Extension.</description>
  </extension>
  <extension alias="os-console-output" updated="2011-12-08T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/os-console-output/api/v2" name="ConsoleOutput">
    <description>Console log output support, with tailing ability.</description>
  </extension>
  <extension alias="os-consoles" updated="2011-12-23T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/os-consoles/api/v2" name="Consoles">
    <description>Interactive Console support.</description>
  </extension>
  <extension alias="os-coverage" updated="2012-10-15T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/coverage/api/v2" name="Coverage">
    <description>Enable Nova Coverage.</description>
  </extension>
  <extension alias="os-create-server-ext" updated="2011-07-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/createserverext/api/v1.1" name="Createserverext">
    <description>Extended support to the Create Server v1.1 API.</description>
  </extension>
  <extension alias="os-deferred-delete" updated="2011-09-01T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/deferred-delete/api/v1.1" name="DeferredDelete">
    <description>Instance deferred delete.</description>
  </extension>
  <extension alias="os-fixed-ips" updated="2012-10-18T13:25:27-06:00" namespace="http://docs.openstack.org/compute/ext/fixed_ips/api/v2" name="FixedIPs">
    <description>Fixed IPs support.</description>
  </extension>
  <extension alias="os-flavor-access" updated="2012-08-01T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_access/api/v2" name="FlavorAccess">
    <description>Flavor access supprt.</description>
  </extension>
  <extension alias="os-flavor-extra-specs" updated="2011-06-23T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_extra_specs/api/v1.1" name="FlavorExtraSpecs">
    <description>Instance type (flavor) extra specs.</description>
  </extension>
  <extension alias="os-flavor-manage" updated="2012-01-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_manage/api/v1.1" name="FlavorManage">
    <description>
    Flavor create/delete API support
    </description>
  </extension>
  <extension alias="os-flavor-rxtx" updated="2012-08-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_rxtx/api/v1.1" name="FlavorRxtx">
    <description>Support to show the rxtx status of a flavor.</description>
  </extension>
  <extension alias="os-flavor-swap" updated="2012-08-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/flavor_swap/api/v1.1" name="FlavorSwap">
    <description>Support to show the swap status of a flavor.</description>
  </extension>
  <extension alias="os-floating-ip-dns" updated="2011-12-23T00:00:00+00:00" namespace="http://docs.openstack.org/ext/floating_ip_dns/api/v1.1" name="FloatingIpDns">
    <description>Floating IP DNS support.</description>
  </extension>
  <extension alias="os-floating-ip-pools" updated="2012-01-04T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/floating_ip_pools/api/v1.1" name="FloatingIpPools">
    <description>Floating IPs support.</description>
  </extension>
  <extension alias="os-floating-ips" updated="2011-06-16T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/floating_ips/api/v1.1" name="FloatingIps">
    <description>Floating IPs support.</description>
  </extension>
  <extension alias="os-floating-ips-bulk" updated="2012-10-29T13:25:27-06:00" namespace="http://docs.openstack.org/compute/ext/floating_ips_bulk/api/v2" name="FloatingIpsBulk">
    <description>Bulk handling of Floating IPs.</description>
  </extension>
  <extension alias="os-fping" updated="2012-07-06T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/fping/api/v1.1" name="Fping">
    <description>Fping Management Extension.</description>
  </extension>
  <extension alias="os-hide-server-addresses" updated="2012-12-11T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/hide_server_addresses/api/v1.1" name="HideServerAddresses">
    <description>Support hiding server addresses in certain states.</description>
  </extension>
  <extension alias="os-hosts" updated="2011-06-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/hosts/api/v1.1" name="Hosts">
    <description>Admin-only host administration.</description>
  </extension>
  <extension alias="os-hypervisors" updated="2012-06-21T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/hypervisors/api/v1.1" name="Hypervisors">
    <description>Admin-only hypervisor administration.</description>
  </extension>
  <extension alias="os-instance_usage_audit_log" updated="2012-07-06T01:00:00+00:00" namespace="http://docs.openstack.org/ext/services/api/v1.1" name="OSInstanceUsageAuditLog">
    <description>Admin-only Task Log Monitoring.</description>
  </extension>
  <extension alias="os-keypairs" updated="2011-08-08T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/keypairs/api/v1.1" name="Keypairs">
    <description>Keypair Support.</description>
  </extension>
  <extension alias="os-multiple-create" updated="2012-08-07T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/multiplecreate/api/v1.1" name="MultipleCreate">
    <description>Allow multiple create in the Create Server v1.1 API.</description>
  </extension>
  <extension alias="os-networks" updated="2011-12-23T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/os-networks/api/v1.1" name="Networks">
    <description>Admin-only Network Management Extension.</description>
  </extension>
  <extension alias="os-networks-associate" updated="2012-11-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/networks_associate/api/v2" name="NetworkAssociationSupport">
    <description>Network association support.</description>
  </extension>
  <extension alias="os-tenant-networks" updated="2011-12-23T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/os-tenant-networks/api/v2" name="OSTenantNetworks">
    <description>Tenant-based Network Management Extension.</description>
  </extension>
  <extension alias="os-quota-class-sets" updated="2012-03-12T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/quota-classes-sets/api/v1.1" name="QuotaClasses">
    <description>Quota classes management support.</description>
  </extension>
  <extension alias="os-quota-sets" updated="2011-08-08T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/quotas-sets/api/v1.1" name="Quotas">
    <description>Quotas management support.</description>
  </extension>
  <extension alias="os-rescue" updated="2011-08-18T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/rescue/api/v1.1" name="Rescue">
    <description>Instance rescue mode.</description>
  </extension>
  <extension alias="os-security-groups" updated="2011-07-21T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/securitygroups/api/v1.1" name="SecurityGroups">
    <description>Security group support.</description>
  </extension>
  <extension alias="os-server-diagnostics" updated="2011-12-21T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/server-diagnostics/api/v1.1" name="ServerDiagnostics">
    <description>Allow Admins to view server diagnostics through server action.</description>
  </extension>
  <extension alias="os-server-password" updated="2012-11-29T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/server-password/api/v2" name="ServerPassword">
    <description>Server password support</description>
  </extension>
  <extension alias="os-server-start-stop" updated="2012-01-23T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/servers/api/v1.1" name="ServerStartStop">
    <description>Start/Stop instance compute API support.</description>
  </extension>
  <extension alias="os-services" updated="2012-10-28T00:00:00-00:00" namespace="http://docs.openstack.org/compute/ext/services/api/v2" name="Services">
    <description>Services support.</description>
  </extension>
  <extension alias="os-simple-tenant-usage" updated="2011-08-19T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/os-simple-tenant-usage/api/v1.1" name="SimpleTenantUsage">
    <description>Simple tenant usage extension.</description>
  </extension>
  <extension alias="os-used-limits" updated="2012-07-13T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/used_limits/api/v1.1" name="UsedLimits">
    <description>Provide data on limited resources that are being used.</description>
  </extension>
  <extension alias="os-user-data" updated="2012-08-07T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/userdata/api/v1.1" name="UserData">
    <description>Add user_data to the Create Server v1.1 API.</description>
  </extension>
  <extension alias="os-virtual-interfaces" updated="2011-08-17T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/virtual_interfaces/api/v1.1" name="VirtualInterfaces">
    <description>Virtual interface support.</description>
  </extension>
  <extension alias="os-volumes" updated="2011-03-25T00:00:00+00:00" namespace="http://docs.openstack.org/compute/ext/volumes/api/v1.1" name="Volumes">
    <description>Volumes support.</description>
  </extension>
</extensions>
List Extensions Response: JSON
{
    "extensions": [
        {
            "alias": "NMN",
            "description": "Multiple network support.",
            "links": [],
            "name": "Multinic",
            "namespace": "http://docs.openstack.org/compute/ext/multinic/api/v1.1",
            "updated": "2011-06-09T00:00:00+00:00"
        },
        {
            "alias": "OS-DCF",
            "description": "Disk Management Extension.",
            "links": [],
            "name": "DiskConfig",
            "namespace": "http://docs.openstack.org/compute/ext/disk_config/api/v1.1",
            "updated": "2011-09-27T00:00:00+00:00"
        },
        {
            "alias": "OS-EXT-SRV-ATTR",
            "description": "Extended Server Attributes support.",
            "links": [],
            "name": "ExtendedServerAttributes",
            "namespace": "http://docs.openstack.org/compute/ext/extended_status/api/v1.1",
            "updated": "2011-11-03T00:00:00+00:00"
        },
        {
            "alias": "OS-EXT-STS",
            "description": "Extended Status support.",
            "links": [],
            "name": "ExtendedStatus",
            "namespace": "http://docs.openstack.org/compute/ext/extended_status/api/v1.1",
            "updated": "2011-11-03T00:00:00+00:00"
        },
        {
            "alias": "OS-FLV-DISABLED",
            "description": "Support to show the disabled status of a flavor.",
            "links": [],
            "name": "FlavorDisabled",
            "namespace": "http://docs.openstack.org/compute/ext/flavor_disabled/api/v1.1",
            "updated": "2012-08-29T00:00:00+00:00"
        },
        {
            "alias": "OS-FLV-EXT-DATA",
            "description": "Provide additional data for flavors.",
            "links": [],
            "name": "FlavorExtraData",
            "namespace": "http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1",
            "updated": "2011-09-14T00:00:00+00:00"
        },
        {
            "alias": "OS-SCH-HNT",
            "description": "Pass arbitrary key/value pairs to the scheduler.",
            "links": [],
            "name": "SchedulerHints",
            "namespace": "http://docs.openstack.org/compute/ext/scheduler-hints/api/v2",
            "updated": "2011-07-19T00:00:00+00:00"
        },
        {
            "alias": "os-admin-actions",
            "description": "Enable admin-only server actions\n\n    Actions include: pause, unpause, suspend, resume, migrate,\n    resetNetwork, injectNetworkInfo, lock, unlock, createBackup\n    ",
            "links": [],
            "name": "AdminActions",
            "namespace": "http://docs.openstack.org/compute/ext/admin-actions/api/v1.1",
            "updated": "2011-09-20T00:00:00+00:00"
        },
        {
            "alias": "os-agents",
            "description": "Agents support.",
            "links": [],
            "name": "Agents",
            "namespace": "http://docs.openstack.org/compute/ext/agents/api/v2",
            "updated": "2012-10-28T00:00:00-00:00"
        },
        {
            "alias": "os-aggregates",
            "description": "Admin-only aggregate administration.",
            "links": [],
            "name": "Aggregates",
            "namespace": "http://docs.openstack.org/compute/ext/aggregates/api/v1.1",
            "updated": "2012-01-12T00:00:00+00:00"
        },
        {
            "alias": "os-availability-zone",
            "description": "Add availability_zone to the Create Server v1.1 API.",
            "links": [],
            "name": "AvailabilityZone",
            "namespace": "http://docs.openstack.org/compute/ext/availabilityzone/api/v1.1",
            "updated": "2012-08-09T00:00:00+00:00"
        },
        {
            "alias": "os-cells",
            "description": "Enables cells-related functionality such as adding neighbor cells,\n    listing neighbor cells, and getting the capabilities of the local cell.\n    ",
            "links": [],
            "name": "Cells",
            "namespace": "http://docs.openstack.org/compute/ext/cells/api/v1.1",
            "updated": "2011-09-21T00:00:00+00:00"
        },
        {
            "alias": "os-certificates",
            "description": "Certificates support.",
            "links": [],
            "name": "Certificates",
            "namespace": "http://docs.openstack.org/compute/ext/certificates/api/v1.1",
            "updated": "2012-01-19T00:00:00+00:00"
        },
        {
            "alias": "os-cloudpipe",
            "description": "Adds actions to create cloudpipe instances.\n\n    When running with the Vlan network mode, you need a mechanism to route\n    from the public Internet to your vlans.  This mechanism is known as a\n    cloudpipe.\n\n    At the time of creating this class, only OpenVPN is supported.  Support for\n    a SSH Bastion host is forthcoming.\n    ",
            "links": [],
            "name": "Cloudpipe",
            "namespace": "http://docs.openstack.org/compute/ext/cloudpipe/api/v1.1",
            "updated": "2011-12-16T00:00:00+00:00"
        },
        {
            "alias": "os-cloudpipe-update",
            "description": "Adds the ability to set the vpn ip/port for cloudpipe instances.",
            "links": [],
            "name": "CloudpipeUpdate",
            "namespace": "http://docs.openstack.org/compute/ext/cloudpipe-update/api/v2",
            "updated": "2012-11-14T00:00:00+00:00"
        },
        {
            "alias": "os-config-drive",
            "description": "Config Drive Extension.",
            "links": [],
            "name": "ConfigDrive",
            "namespace": "http://docs.openstack.org/compute/ext/config_drive/api/v1.1",
            "updated": "2012-07-16T00:00:00+00:00"
        },
        {
            "alias": "os-console-output",
            "description": "Console log output support, with tailing ability.",
            "links": [],
            "name": "ConsoleOutput",
            "namespace": "http://docs.openstack.org/compute/ext/os-console-output/api/v2",
            "updated": "2011-12-08T00:00:00+00:00"
        },
        {
            "alias": "os-consoles",
            "description": "Interactive Console support.",
            "links": [],
            "name": "Consoles",
            "namespace": "http://docs.openstack.org/compute/ext/os-consoles/api/v2",
            "updated": "2011-12-23T00:00:00+00:00"
        },
        {
            "alias": "os-coverage",
            "description": "Enable Nova Coverage.",
            "links": [],
            "name": "Coverage",
            "namespace": "http://docs.openstack.org/compute/ext/coverage/api/v2",
            "updated": "2012-10-15T00:00:00+00:00"
        },
        {
            "alias": "os-create-server-ext",
            "description": "Extended support to the Create Server v1.1 API.",
            "links": [],
            "name": "Createserverext",
            "namespace": "http://docs.openstack.org/compute/ext/createserverext/api/v1.1",
            "updated": "2011-07-19T00:00:00+00:00"
        },
        {
            "alias": "os-deferred-delete",
            "description": "Instance deferred delete.",
            "links": [],
            "name": "DeferredDelete",
            "namespace": "http://docs.openstack.org/compute/ext/deferred-delete/api/v1.1",
            "updated": "2011-09-01T00:00:00+00:00"
        },
        {
            "alias": "os-fixed-ips",
            "description": "Fixed IPs support.",
            "links": [],
            "name": "FixedIPs",
            "namespace": "http://docs.openstack.org/compute/ext/fixed_ips/api/v2",
            "updated": "2012-10-18T13:25:27-06:00"
        },
        {
            "alias": "os-flavor-access",
            "description": "Flavor access supprt.",
            "links": [],
            "name": "FlavorAccess",
            "namespace": "http://docs.openstack.org/compute/ext/flavor_access/api/v2",
            "updated": "2012-08-01T00:00:00+00:00"
        },
        {
            "alias": "os-flavor-extra-specs",
            "description": "Instance type (flavor) extra specs.",
            "links": [],
            "name": "FlavorExtraSpecs",
            "namespace": "http://docs.openstack.org/compute/ext/flavor_extra_specs/api/v1.1",
            "updated": "2011-06-23T00:00:00+00:00"
        },
        {
            "alias": "os-flavor-manage",
            "description": "\n    Flavor create/delete API support\n    ",
            "links": [],
            "name": "FlavorManage",
            "namespace": "http://docs.openstack.org/compute/ext/flavor_manage/api/v1.1",
            "updated": "2012-01-19T00:00:00+00:00"
        },
        {
            "alias": "os-flavor-rxtx",
            "description": "Support to show the rxtx status of a flavor.",
            "links": [],
            "name": "FlavorRxtx",
            "namespace": "http://docs.openstack.org/compute/ext/flavor_rxtx/api/v1.1",
            "updated": "2012-08-29T00:00:00+00:00"
        },
        {
            "alias": "os-flavor-swap",
            "description": "Support to show the swap status of a flavor.",
            "links": [],
            "name": "FlavorSwap",
            "namespace": "http://docs.openstack.org/compute/ext/flavor_swap/api/v1.1",
            "updated": "2012-08-29T00:00:00+00:00"
        },
        {
            "alias": "os-floating-ip-dns",
            "description": "Floating IP DNS support.",
            "links": [],
            "name": "FloatingIpDns",
            "namespace": "http://docs.openstack.org/ext/floating_ip_dns/api/v1.1",
            "updated": "2011-12-23T00:00:00+00:00"
        },
        {
            "alias": "os-floating-ip-pools",
            "description": "Floating IPs support.",
            "links": [],
            "name": "FloatingIpPools",
            "namespace": "http://docs.openstack.org/compute/ext/floating_ip_pools/api/v1.1",
            "updated": "2012-01-04T00:00:00+00:00"
        },
        {
            "alias": "os-floating-ips",
            "description": "Floating IPs support.",
            "links": [],
            "name": "FloatingIps",
            "namespace": "http://docs.openstack.org/compute/ext/floating_ips/api/v1.1",
            "updated": "2011-06-16T00:00:00+00:00"
        },
        {
            "alias": "os-floating-ips-bulk",
            "description": "Bulk handling of Floating IPs.",
            "links": [],
            "name": "FloatingIpsBulk",
            "namespace": "http://docs.openstack.org/compute/ext/floating_ips_bulk/api/v2",
            "updated": "2012-10-29T13:25:27-06:00"
        },
        {
            "alias": "os-fping",
            "description": "Fping Management Extension.",
            "links": [],
            "name": "Fping",
            "namespace": "http://docs.openstack.org/compute/ext/fping/api/v1.1",
            "updated": "2012-07-06T00:00:00+00:00"
        },
        {
            "alias": "os-hide-server-addresses",
            "description": "Support hiding server addresses in certain states.",
            "links": [],
            "name": "HideServerAddresses",
            "namespace": "http://docs.openstack.org/compute/ext/hide_server_addresses/api/v1.1",
            "updated": "2012-12-11T00:00:00+00:00"
        },
        {
            "alias": "os-hosts",
            "description": "Admin-only host administration.",
            "links": [],
            "name": "Hosts",
            "namespace": "http://docs.openstack.org/compute/ext/hosts/api/v1.1",
            "updated": "2011-06-29T00:00:00+00:00"
        },
        {
            "alias": "os-hypervisors",
            "description": "Admin-only hypervisor administration.",
            "links": [],
            "name": "Hypervisors",
            "namespace": "http://docs.openstack.org/compute/ext/hypervisors/api/v1.1",
            "updated": "2012-06-21T00:00:00+00:00"
        },
        {
            "alias": "os-instance_usage_audit_log",
            "description": "Admin-only Task Log Monitoring.",
            "links": [],
            "name": "OSInstanceUsageAuditLog",
            "namespace": "http://docs.openstack.org/ext/services/api/v1.1",
            "updated": "2012-07-06T01:00:00+00:00"
        },
        {
            "alias": "os-keypairs",
            "description": "Keypair Support.",
            "links": [],
            "name": "Keypairs",
            "namespace": "http://docs.openstack.org/compute/ext/keypairs/api/v1.1",
            "updated": "2011-08-08T00:00:00+00:00"
        },
        {
            "alias": "os-multiple-create",
            "description": "Allow multiple create in the Create Server v1.1 API.",
            "links": [],
            "name": "MultipleCreate",
            "namespace": "http://docs.openstack.org/compute/ext/multiplecreate/api/v1.1",
            "updated": "2012-08-07T00:00:00+00:00"
        },
        {
            "alias": "os-networks",
            "description": "Admin-only Network Management Extension.",
            "links": [],
            "name": "Networks",
            "namespace": "http://docs.openstack.org/compute/ext/os-networks/api/v1.1",
            "updated": "2011-12-23T00:00:00+00:00"
        },
        {
            "alias": "os-tenant-networks",
            "description": "Tenant-based Network Management Extension.",
            "links": [],
            "name": "OSTenantNetworks",
            "namespace": "http://docs.openstack.org/compute/ext/os-tenant-networks/api/v2",
            "updated": "2011-12-23T00:00:00+00:00"
        },
        {
            "alias": "os-networks-associate",
            "description": "Network association support.",
            "links": [],
            "name": "NetworkAssociationSupport",
            "namespace": "http://docs.openstack.org/compute/ext/networks_associate/api/v2",
            "updated": "2012-11-19T00:00:00+00:00"
        },
        {
            "alias": "os-quota-class-sets",
            "description": "Quota classes management support.",
            "links": [],
            "name": "QuotaClasses",
            "namespace": "http://docs.openstack.org/compute/ext/quota-classes-sets/api/v1.1",
            "updated": "2012-03-12T00:00:00+00:00"
        },
        {
            "alias": "os-quota-sets",
            "description": "Quotas management support.",
            "links": [],
            "name": "Quotas",
            "namespace": "http://docs.openstack.org/compute/ext/quotas-sets/api/v1.1",
            "updated": "2011-08-08T00:00:00+00:00"
        },
        {
            "alias": "os-rescue",
            "description": "Instance rescue mode.",
            "links": [],
            "name": "Rescue",
            "namespace": "http://docs.openstack.org/compute/ext/rescue/api/v1.1",
            "updated": "2011-08-18T00:00:00+00:00"
        },
        {
            "alias": "os-security-groups",
            "description": "Security group support.",
            "links": [],
            "name": "SecurityGroups",
            "namespace": "http://docs.openstack.org/compute/ext/securitygroups/api/v1.1",
            "updated": "2011-07-21T00:00:00+00:00"
        },
        {
            "alias": "os-server-diagnostics",
            "description": "Allow Admins to view server diagnostics through server action.",
            "links": [],
            "name": "ServerDiagnostics",
            "namespace": "http://docs.openstack.org/compute/ext/server-diagnostics/api/v1.1",
            "updated": "2011-12-21T00:00:00+00:00"
        },
        {
            "alias": "os-server-password",
            "description": "Server password support",
            "links": [],
            "name": "ServerPassword",
            "namespace": "http://docs.openstack.org/compute/ext/server-password/api/v2",
            "updated": "2012-11-29T00:00:00+00:00"
        },
        {
            "alias": "os-server-start-stop",
            "description": "Start/Stop instance compute API support.",
            "links": [],
            "name": "ServerStartStop",
            "namespace": "http://docs.openstack.org/compute/ext/servers/api/v1.1",
            "updated": "2012-01-23T00:00:00+00:00"
        },
        {
            "alias": "os-services",
            "description": "Services support.",
            "links": [],
            "name": "Services",
            "namespace": "http://docs.openstack.org/compute/ext/services/api/v2",
            "updated": "2012-10-28T00:00:00-00:00"
        },
        {
            "alias": "os-simple-tenant-usage",
            "description": "Simple tenant usage extension.",
            "links": [],
            "name": "SimpleTenantUsage",
            "namespace": "http://docs.openstack.org/compute/ext/os-simple-tenant-usage/api/v1.1",
            "updated": "2011-08-19T00:00:00+00:00"
        },
        {
            "alias": "os-used-limits",
            "description": "Provide data on limited resources that are being used.",
            "links": [],
            "name": "UsedLimits",
            "namespace": "http://docs.openstack.org/compute/ext/used_limits/api/v1.1",
            "updated": "2012-07-13T00:00:00+00:00"
        },
        {
            "alias": "os-user-data",
            "description": "Add user_data to the Create Server v1.1 API.",
            "links": [],
            "name": "UserData",
            "namespace": "http://docs.openstack.org/compute/ext/userdata/api/v1.1",
            "updated": "2012-08-07T00:00:00+00:00"
        },
        {
            "alias": "os-virtual-interfaces",
            "description": "Virtual interface support.",
            "links": [],
            "name": "VirtualInterfaces",
            "namespace": "http://docs.openstack.org/compute/ext/virtual_interfaces/api/v1.1",
            "updated": "2011-08-17T00:00:00+00:00"
        },
        {
            "alias": "os-volumes",
            "description": "Volumes support.",
            "links": [],
            "name": "Volumes",
            "namespace": "http://docs.openstack.org/compute/ext/volumes/api/v1.1",
            "updated": "2011-03-25T00:00:00+00:00"
        }
    ]
}

This operation does not require a request body.

GET
v2/{tenant_id}/extensions/{alias}

Gets details about a specific extension. Extensions enable the introduction of new features in the API without requiring a version change and they allow the introduction of vendor-specific functionality.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

alias

An alias is a name for a pointer to a resource, such as a named extension.

Get Extension Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<extension xmlns="http://docs.openstack.org/common/api/v1.0" xmlns:atom="http://www.w3.org/2005/Atom"
    name="QuotaClasses"
    alias="os-quota-class-sets"
    namespace="http://docs.openstack.org/compute/ext/quota-classes-sets/api/v1."
    updated="2012-03-12T00:00:00+00:00">
    <description>
        Quota classes management support.
    </description>
</extension>
Get Extension Response: JSON
{
    "extension": {
        "name": "QuotaClasses",
        "alias": "os-quota-class-sets",
        "description": "Quota classes management support.",
        "namespace": "http://docs.openstack.org/compute/ext/quota-classes-sets/api/v1.1",
        "updated": "2012-03-12T00:00:00+00:00"
        "links": []
    }
}

This operation does not require a request body.

GET
v2/{tenant_id}/limits

Returns current limits for the account.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

List Limits Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<limits xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/common/api/v1.0">
  <rates>
    <rate regex=".*" uri="*">
      <limit next-available="2012-11-27T17:22:18Z" unit="MINUTE" verb="POST" remaining="10" value="10"/>
      <limit next-available="2012-11-27T17:22:18Z" unit="MINUTE" verb="PUT" remaining="10" value="10"/>
      <limit next-available="2012-11-27T17:22:18Z" unit="MINUTE" verb="DELETE" remaining="100" value="100"/>
    </rate>
    <rate regex="^/servers" uri="*/servers">
      <limit next-available="2012-11-27T17:22:18Z" unit="DAY" verb="POST" remaining="50" value="50"/>
    </rate>
    <rate regex=".*changes-since.*" uri="*changes-since*">
      <limit next-available="2012-11-27T17:22:18Z" unit="MINUTE" verb="GET" remaining="3" value="3"/>
    </rate>
    <rate regex="^/os-fping" uri="*/os-fping">
      <limit next-available="2012-11-27T17:22:18Z" unit="HOUR" verb="GET" remaining="12" value="12"/>
    </rate>
  </rates>
  <absolute>
    <limit name="maxServerMeta" value="128"/>
    <limit name="maxPersonality" value="5"/>
    <limit name="maxImageMeta" value="128"/>
    <limit name="maxPersonalitySize" value="10240"/>
    <limit name="maxSecurityGroupRules" value="20"/>
    <limit name="maxTotalKeypairs" value="100"/>
    <limit name="maxSecurityGroups" value="10"/>
    <limit name="maxTotalCores" value="20"/>
    <limit name="maxTotalFloatingIps" value="10"/>
    <limit name="maxTotalInstances" value="10"/>
    <limit name="maxTotalRAMSize" value="51200"/>
  </absolute>
</limits>
List Limits Response: JSON
{
    "limits": {
        "absolute": {
            "maxImageMeta": 128,
            "maxPersonality": 5,
            "maxPersonalitySize": 10240,
            "maxSecurityGroupRules": 20,
            "maxSecurityGroups": 10,
            "maxServerMeta": 128,
            "maxTotalCores": 20,
            "maxTotalFloatingIps": 10,
            "maxTotalInstances": 10,
            "maxTotalKeypairs": 100,
            "maxTotalRAMSize": 51200
        },
        "rate": [
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:22:18Z",
                        "remaining": 10,
                        "unit": "MINUTE",
                        "value": 10,
                        "verb": "POST"
                    },
                    {
                        "next-available": "2012-11-27T17:22:18Z",
                        "remaining": 10,
                        "unit": "MINUTE",
                        "value": 10,
                        "verb": "PUT"
                    },
                    {
                        "next-available": "2012-11-27T17:22:18Z",
                        "remaining": 100,
                        "unit": "MINUTE",
                        "value": 100,
                        "verb": "DELETE"
                    }
                ],
                "regex": ".*",
                "uri": "*"
            },
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:22:18Z",
                        "remaining": 50,
                        "unit": "DAY",
                        "value": 50,
                        "verb": "POST"
                    }
                ],
                "regex": "^/servers",
                "uri": "*/servers"
            },
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:22:18Z",
                        "remaining": 3,
                        "unit": "MINUTE",
                        "value": 3,
                        "verb": "GET"
                    }
                ],
                "regex": ".*changes-since.*",
                "uri": "*changes-since*"
            },
            {
                "limit": [
                    {
                        "next-available": "2012-11-27T17:22:18Z",
                        "remaining": 12,
                        "unit": "HOUR",
                        "value": 12,
                        "verb": "GET"
                    }
                ],
                "regex": "^/os-fping",
                "uri": "*/os-fping"
            }
        ]
    }
}

This operation does not require a request body.

GET
v2/{tenant_id}/servers

Lists IDs, names, and links for all servers.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

changes-since (Optional)

A time/date stamp for when the server last changed status.

image (Optional)

Name of the image in URL format.

flavor (Optional)

Name of the flavor in URL format.

name (Optional)

Name of the server as a string.

marker (Optional)

UUID of the server at which you want to set a marker.

limit (Optional)

Integer value for the limit of values to return.

status (Optional)

Value of the status of the server so that you can filter on "ACTIVE" for example.

host (Optional)

Name of the host as a string.

Response parameters
Parameter Description
servers

List of servers.

List Servers Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<servers xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <server name="new-server-test" id="b626796d-d585-4874-b178-78c65289bba4">
    <atom:link href="http://openstack.example.com/v2/openstack/servers/b626796d-d585-4874-b178-78c65289bba4" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/servers/b626796d-d585-4874-b178-78c65289bba4" rel="bookmark"/>
  </server>
</servers>
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Servers Response: JSON
{
    "servers": [
        {
            "id": "616fb98f-46ca-475e-917e-2563e5a8cd19",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/servers/616fb98f-46ca-475e-917e-2563e5a8cd19",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/servers/616fb98f-46ca-475e-917e-2563e5a8cd19",
                    "rel": "bookmark"
                }
            ],
            "name": "new-server-test"
        }
    ]
}
POST
v2/{tenant_id}/servers

Creates a server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

security_group

The name of the security group. If blank, the server is created in the "default" security group.

user_data

Use to pass configuration information or scripts upon launch. Must be Base64 encoded.

availability_zone

The availability zone in which to launch the server.

server

Server.

imageRef

The image reference for the desired image for your server instance.

Specify as an ID or full URL.

flavorRef

The flavor reference for the desired flavor for your server instance.

Specify as an ID or full URL.

name

The name for your created server.

metadata (Optional)

Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.

personality (Optional)

File path and contents (text only) to inject into the server at launch. The maximum size of the file path data is 255 bytes. The maximum limit refers to the number of bytes in the decoded data and not the number of characters in the encoded data.

Response parameters
Parameter Description
Location

Full URL to a server created by the service.

Create Server Request: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns="http://docs.openstack.org/compute/api/v1.1" imageRef="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" flavorRef="http://openstack.example.com/openstack/flavors/1" name="new-server-test">
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <personality>
    <file path="/etc/banner.txt">
        ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
        dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
        IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
        c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
        QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
        ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
        dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
        c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
        b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
    </file>
  </personality>
</server>
Create Server Request: JSON
{
    "server": {
        "flavorRef": "http://openstack.example.com/openstack/flavors/1",
        "imageRef": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
        "metadata": {
            "My Server Name": "Apache1"
        },
        "name": "new-server-test",
        "personality": [
            {
                "contents": "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==",
                "path": "/etc/banner.txt"
            }
        ]
    }
}
Create Server Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" id="ea8417a1-7957-4ed5-8b3c-0befc1724308" adminPass="FoFw84XtQj3c">
  <metadata/>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/ea8417a1-7957-4ed5-8b3c-0befc1724308" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/ea8417a1-7957-4ed5-8b3c-0befc1724308" rel="bookmark"/>
</server>
Create Server Response: JSON
{
    "server": {
        "adminPass": "MVk5HPrazHcG",
        "id": "5bbcc3c4-1da2-4437-a48a-66f15b1b13f9",
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/5bbcc3c4-1da2-4437-a48a-66f15b1b13f9",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/5bbcc3c4-1da2-4437-a48a-66f15b1b13f9",
                "rel": "bookmark"
            }
        ]
    }
}
GET
v2/{tenant_id}/servers/detail

Lists details for all servers.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

changes-since (Optional)

A time/date stamp for when the server last changed status.

image (Optional)

Name of the image in URL format.

flavor (Optional)

Name of the flavor in URL format.

name (Optional)

Name of the server as a string.

marker (Optional)

UUID of the server at which you want to set a marker.

limit (Optional)

Integer value for the limit of values to return.

status (Optional)

Value of the status of the server so that you can filter on "ACTIVE" for example.

host (Optional)

Name of the host as a string.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Detail Servers Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<servers xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <server status="ACTIVE" updated="2012-09-07T17:11:46Z" hostId="1b3afbff40723a9649091142a647b83eb6e5b49973239cdeb3d1973c" name="new-server-test" created="2012-09-07T17:11:45Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="7c3c0f79-343e-4b99-93bc-2ade47641e64">
    <image id="70a599e0-31e7-49b7-b260-868f441e862b">
      <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
    </image>
    <flavor id="1">
      <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
    </flavor>
    <metadata>
      <meta key="My Server Name">Apache1</meta>
    </metadata>
    <addresses>
      <network id="private">
        <ip version="4" addr="192.168.0.3"/>
      </network>
    </addresses>
    <atom:link href="http://openstack.example.com/v2/openstack/servers/7c3c0f79-343e-4b99-93bc-2ade47641e64" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/servers/7c3c0f79-343e-4b99-93bc-2ade47641e64" rel="bookmark"/>
  </server>
</servers>
List Detail Servers Response: JSON
{
    "servers": [
        {
            "accessIPv4": "",
            "accessIPv6": "",
            "addresses": {
                "private": [
                    {
                        "addr": "192.168.0.3",
                        "version": 4
                    }
                ]
            },
            "created": "2012-09-07T16:56:37Z",
            "flavor": {
                "id": "1",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/flavors/1",
                        "rel": "bookmark"
                    }
                ]
            },
            "hostId": "16d193736a5cfdb60c697ca27ad071d6126fa13baeb670fc9d10645e",
            "id": "05184ba3-00ba-4fbc-b7a2-03b62b884931",
            "image": {
                "id": "70a599e0-31e7-49b7-b260-868f441e862b",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                        "rel": "bookmark"
                    }
                ]
            },
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/servers/05184ba3-00ba-4fbc-b7a2-03b62b884931",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/servers/05184ba3-00ba-4fbc-b7a2-03b62b884931",
                    "rel": "bookmark"
                }
            ],
            "metadata": {
                "My Server Name": "Apache1"
            },
            "name": "new-server-test",
            "progress": 0,
            "status": "ACTIVE",
            "tenant_id": "openstack",
            "updated": "2012-09-07T16:56:37Z",
            "user_id": "fake"
        }
    ]
}
GET
v2/{tenant_id}/servers/{server_id}

Shows information for a specified server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Get Server Details Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2012-08-20T21:11:10Z" hostId="1746536de20daadad89a6fab8d6968b1214b0ba9fb37b29e7098e0b9" name="new-server-test" created="2012-08-20T21:11:10Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="3f9f7d18-aaf3-4703-b368-ea9b4d609c95">
  <image id="70a599e0-31e7-49b7-b260-868f441e862b">
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  </image>
  <flavor id="1">
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="private">
      <ip version="4" addr="192.168.0.3"/>
    </network>
  </addresses>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/3f9f7d18-aaf3-4703-b368-ea9b4d609c95" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/3f9f7d18-aaf3-4703-b368-ea9b4d609c95" rel="bookmark"/>
</server>
Get Server Details Response: JSON
{
    "server": {
        "accessIPv4": "",
        "accessIPv6": "",
        "addresses": {
            "private": [
                {
                    "addr": "192.168.0.3",
                    "version": 4
                }
            ]
        },
        "created": "2012-08-20T21:11:09Z",
        "flavor": {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ]
        },
        "hostId": "65201c14a29663e06d0748e561207d998b343e1d164bfa0aafa9c45d",
        "id": "893c7791-f1df-4c3d-8383-3caae9656c62",
        "image": {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                }
            ]
        },
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/893c7791-f1df-4c3d-8383-3caae9656c62",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/893c7791-f1df-4c3d-8383-3caae9656c62",
                "rel": "bookmark"
            }
        ],
        "metadata": {
            "My Server Name": "Apache1"
        },
        "name": "new-server-test",
        "progress": 0,
        "status": "ACTIVE",
        "tenant_id": "openstack",
        "updated": "2012-08-20T21:11:09Z",
        "user_id": "fake"
    }
}

This operation does not require a request body.

PUT
v2/{tenant_id}/servers/{server_id}

Updates the name and/or administrative password for the specified server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

server

The name of the server that you want to update.

Update Server Name / Administrative Password Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<changePassword
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    adminPass="foo"/>
Update Server Name / Administrative Password Request: JSON
{
    "changePassword" : {
        "adminPass" : "foo"
    }
}
DELETE
v2/{tenant_id}/servers/{server_id}

Deletes the specified server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

This operation does not require a request body and does not return a response body.

PUT
v2/{tenant_id}/servers/{server_id}/metadata

Sets metadata for a resource.

 

The metadata items set on the resource are those specified on the requests. Existing metadata items are replaced with the ones provided in the request. Metadata items, set previously, but not specified in the request are removed.

An overLimit ( 413) fault may be thrown if the maximum number of metadata items is exceeded.

Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

Create or Replace Metadata Request: XML
<?xml version="1.0" encoding="UTF-8"?>

<meta xmlns="http://docs.openstack.org/compute/api/v1.1" key="foo">Bar Value</meta>
Create or Replace Metadata Request: JSON
{
  "meta" : {
    "foo" : "Bar Value"
  }
}
Create or Replace Metadata Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<meta xmlns="http://docs.openstack.org/compute/api/v1.1" key="foo">Bar Value</meta>
Create or Replace Metadata Response: JSON
{
    "meta": {
        "foo": "Bar Value"
    }
}
POST
v2/{tenant_id}/servers/{server_id}/metadata

Updates metadata items.

 

Updates resource metadata. Updates will replace existing metadata items with the same key. Items not explicitly mentioned in the request will not be modified. An overLimit ( 413) fault may be thrown if the operation causes the maximum number of metadata items to be exceeded.

Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

Update Metadata Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="kernel_id">False</meta>
    <meta key="Label">UpdatedImage</meta>
</metadata>
Update Metadata Request: JSON
{
    "metadata": {
        "kernel_id": "False",
        "Label": "UpdatedImage"
    }
}
Update Metadata Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
  <meta key="kernel_id">False</meta>
  <meta key="ramdisk_id">nokernel</meta>
  <meta key="Label">UpdatedImage</meta>
  <meta key="architecture">x86_64</meta>
  <meta key="auto_disk_config">True</meta>
</metadata>
Update Metadata Response: JSON
{
    "metadata": {
        "Label": "UpdatedImage",
        "architecture": "x86_64",
        "auto_disk_config": "True",
        "kernel_id": "False",
        "ramdisk_id": "nokernel"
    }
}
GET
v2/{tenant_id}/servers/{server_id}/metadata

Lists metadata associated with the resource.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Metadata Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
  <meta key="kernel_id">nokernel</meta>
  <meta key="auto_disk_config">True</meta>
  <meta key="ramdisk_id">nokernel</meta>
  <meta key="architecture">x86_64</meta>
</metadata>
List Metadata Response: JSON
{
    "metadata": {
        "architecture": "x86_64",
        "auto_disk_config": "True",
        "kernel_id": "nokernel",
        "ramdisk_id": "nokernel"
    }
}

This operation does not require a request body.

GET
v2/{tenant_id}/servers/{server_id}/metadata/{key}

Gets a metadata item associated with a resource.

 

Retrieves a single metadata item by key.

Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

key

A string no longer than 255 characters.

Get Metadata Item Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
  <meta key="kernel_id">nokernel</meta>
  <meta key="auto_disk_config">True</meta>
  <meta key="ramdisk_id">nokernel</meta>
  <meta key="architecture">x86_64</meta>
</metadata>
Get Metadata Item Response: JSON
{
    "metadata": {
        "architecture": "x86_64",
        "auto_disk_config": "True",
        "kernel_id": "nokernel",
        "ramdisk_id": "nokernel"
    }
}

This operation does not require a request body.

PUT
v2/{tenant_id}/servers/{server_id}/metadata/{key}

Sets metadata item.

 

Sets a metadata item by its key. An overLimit ( 413) fault may be thrown if the operation causes the maximum number of metadata items to be exceeded.

Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

key

A string no longer than 255 characters.

Create or Update Metadata Item Request: XML
<?xml version="1.0" encoding="UTF-8"?>

<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="auto_disk_config">True</meta>
    <meta key="Label">Changed</meta>
</metadata>
Create or Update Metadata Item Request: JSON
{
    "metadata": {
        "auto_disk_config": "True",
        "Label": "Changed"
    }
}
Create or Update Metadata Item Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
  <meta key="auto_disk_config">True</meta>
  <meta key="Label">Changed</meta>
</metadata>
Create or Update Metadata Item Response: JSON
{
    "metadata": {
        "Label": "Changed",
        "auto_disk_config": "True"
    }
}
DELETE
v2/{tenant_id}/servers/{server_id}/metadata/{key}

Deletes a metadata item.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

key

A string no longer than 255 characters.

This operation does not require a request body and does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Changes the password for a server. Specify the changePassword action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Change Password Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<changePassword
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    adminPass="foo"/>
Change Password Request: JSON
{
    "changePassword" : {
        "adminPass" : "foo"
    }
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Reboots the specified server. Specify the reboot action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Reboot Server Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<reboot
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    type="SOFT"/>
Reboot Server Request: JSON
{
    "reboot" : {
        "type" : "SOFT" 
    }
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Rebuilds the specified server. Specify the rebuild action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Response parameters
Parameter Description
Location

Specific URL of the server you want to rebuild.

Rebuild Server Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<rebuild 
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    name="foobar"
    imageRef="http://openstack.example.com/v1.1/32278/images/70a599e0-31e7-49b7-b260-868f441e862b"
    accessIPv4="1.2.3.4"
    accessIPv6="fe80::100"
    adminPass="seekr3t">
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <personality>
    <file path="/etc/banner.txt">
        ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
        dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
        IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
        c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
        QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
        ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
        dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
        c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
        b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
    </file>
  </personality>
</rebuild>
Rebuild Server Request: JSON
{
    "rebuild" : {
        "imageRef" : "http://openstack.example.com/v2/32278/images/70a599e0-31e7-49b7-b260-868f441e862b",
        "name" : "foobar",
        "adminPass" : "seekr3t",
        "accessIPv4" : "1.2.3.4",
        "accessIPv6" : "fe80::100",
        "metadata" : {
            "meta var" : "meta val"
        },
        "personality" : [
            {
                "path" : "/etc/banner.txt",
                "contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6 b25zLiINCg0KLVJpY2hhcmQgQmFjaA=="
            }
        ]
    }
}
Rebuild Server Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2012-09-14T16:41:46Z" hostId="a0e37e3bd9f674600aabeeccb123d80ae2717ace90893d79cd4abc46" name="foobar" created="2012-09-14T16:41:45Z" userId="fake" tenantId="openstack" accessIPv4="1.2.3.4" accessIPv6="fe80::100" progress="0" id="943acea5-2fc8-4f31-bab6-8f7b9ac923ca" adminPass="seekr3t">
  <image id="70a599e0-31e7-49b7-b260-868f441e862b">
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  </image>
  <flavor id="1">
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="private">
      <ip version="4" addr="192.168.0.3"/>
    </network>
  </addresses>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/943acea5-2fc8-4f31-bab6-8f7b9ac923ca" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/943acea5-2fc8-4f31-bab6-8f7b9ac923ca" rel="bookmark"/>
</server>
Rebuild Server Response: JSON
{
    "server": {
        "accessIPv4": "1.2.3.4",
        "accessIPv6": "fe80::100",
        "addresses": {
            "private": [
                {
                    "addr": "192.168.0.3",
                    "version": 4
                }
            ]
        },
        "adminPass": "seekr3t",
        "created": "2012-09-12T17:20:36Z",
        "flavor": {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ]
        },
        "hostId": "1e3da81662354c25560b7e5ea6d8123031f67168b6992f20bb84df69",
        "id": "075e40fe-9f03-4652-ba8e-5f8e2547899a",
        "image": {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                }
            ]
        },
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/075e40fe-9f03-4652-ba8e-5f8e2547899a",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/075e40fe-9f03-4652-ba8e-5f8e2547899a",
                "rel": "bookmark"
            }
        ],
        "metadata": {
            "meta var": "meta val"
        },
        "name": "foobar",
        "progress": 0,
        "status": "ACTIVE",
        "tenant_id": "openstack",
        "updated": "2012-09-12T17:20:37Z",
        "user_id": "fake"
    }
}
POST
v2/{tenant_id}/servers/{server_id}/action

Resizes the specified server. Specify the resize action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Resize Server Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<resize
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    flavorRef="2"/>
Resize Server Request: JSON
{
    "resize" : {
        "flavorRef" : "2"
    }
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Confirms a pending resize action. Specify the confirmResize action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Confirm Resized Server Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<confirmResize
    xmlns="http://docs.openstack.org/compute/api/v1.1"/>
Confirm Resized Server Request: JSON
{
    "confirmResize" : null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Cancels and reverts a pending resize action. Specify the revertResize action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Revert Resized Server Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<revertResize
    xmlns="http://docs.openstack.org/compute/api/v1.1"/>
Revert Resized Server Request: JSON
{
    "revertResize" : null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Creates a new image. Specify the createImage action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

name

Name of the snapshot.

createImage

A dictionary representation of a creation for image.

metadata(Optional)

Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.

Response parameters
Parameter Description
Location
Create Image Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<createImage
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    name="foo-image">
    <metadata>
        <meta key="myvar">foobar</meta>
    </metadata>
</createImage>
Create Image Request: JSON
{
    "createImage" : {
        "name" : "foo-image",
        "metadata": {
            "myvar": "foobar"
        }
    }
}

This operation does not return a response body.

GET
v2/{tenant_id}/servers/ips

Lists all server addresses.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

changes-since (Optional)

A time/date stamp for the last changed status. Checks for changes since a previous request. Specify the changes-since time as UNIX time (the number of seconds since January 1, 1970, 00:00:00 UTC, not counting leap seconds). If nothing has changed since the changes-since time, a 304 (Not Modified) response is returned. If data has changed, only the items changed since the specified time are returned in the response.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Addresses Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<addresses xmlns="http://docs.openstack.org/compute/api/v1.1">
    <network id="public">
        <ip version="4" addr="67.23.10.132"/>
        <ip version="6" addr="::babe:67.23.10.132"/>
        <ip version="4" addr="67.23.10.131"/>
        <ip version="6" addr="::babe:4317:0A83"/>
    </network>
    <network id="private">
        <ip version="4" addr="10.176.42.16"/>
        <ip version="6" addr="::babe:10.176.42.16"/>
    </network>
</addresses>
List Addresses Response: JSON
{
  "addresses": {
      "public" : [
          {
              "version": 4,
              "addr": "67.23.10.132"
          },
          {
              "version": 6,
              "addr": "::babe:67.23.10.132"
          },
          {
              "version": 4,
              "addr": "67.23.10.131"
          },
          {
              "version": 6,
              "addr": "::babe:4317:0A83"
          }
      ],
      "private" : [
          {
              "version": 4,
              "addr": "10.176.42.16"
          },
          {
              "version": 6,
              "addr": "::babe:10.176.42.16"
          }
      ]
  }
}
GET
v2/{tenant_id}/servers/ips/{network_id}

Lists addresses by network ID.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

network_id

Network ID.

changes-since (Optional)

A time/date stamp for the last changed status. Checks for changes since a previous request. Specify the changes-since time as UNIX time (the number of seconds since January 1, 1970, 00:00:00 UTC, not counting leap seconds). If nothing has changed since the changes-since time, a 304 (Not Modified) response is returned. If data has changed, only the items changed since the specified time are returned in the response.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Addresses by Network Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<network xmlns="http://docs.openstack.org/compute/api/v1.1"
         id="public">
    <ip version="4" addr="67.23.10.132"/>
    <ip version="6" addr="::babe:67.23.10.132"/>
    <ip version="4" addr="67.23.10.131"/>
    <ip version="6" addr="::babe:4317:0A83"/>
</network>
List Addresses by Network Response: JSON
{
    "network" {
        "id" : "public",
        "ip" : [
            {"version" : 4, "addr" : "67.23.10.132"},
            {"version" : 6, "addr" : "::babe:67.23.10.132"},
            {"version" : 4, "addr" : "67.23.10.131"},
            {"version" : 6, "addr" : "::babe:4317:0A83"}
        ]
    }
}
GET
v2/{tenant_id}/images

Lists IDs, names, and links for available images.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

changes-since (Optional)

A time/date stamp for when the image last changed status.

server (Optional)

Name of the server in URL format.

name (Optional)

Name of the image as a string.

status (Optional)

Value of the status of the image so that you can filter on "ACTIVE" for example.

marker (Optional)

UUID of the image at which you want to set a marker.

limit (Optional)

Integer value for the limit of values to return.

type (Optional)

Value of the type of image, such as BASE, SERVER, or ALL.

Response parameters
Parameter Description
images

Image information.

next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Images Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<images xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <image name="fakeimage7" id="70a599e0-31e7-49b7-b260-868f441e862b">
    <atom:link href="http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image name="fakeimage123456" id="155d900f-4e14-4e4c-a73d-069cbf4541e6">
    <atom:link href="http://openstack.example.com/v2/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image name="fakeimage123456" id="a2459075-d96c-40d5-893e-577ff92e721c">
    <atom:link href="http://openstack.example.com/v2/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image name="fakeimage6" id="a440c04b-79fa-479c-bed1-0b816eaec379">
    <atom:link href="http://openstack.example.com/v2/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image name="fakeimage123456" id="c905cedb-7281-47e4-8a62-f26bc5fc4c77">
    <atom:link href="http://openstack.example.com/v2/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image name="fakeimage123456" id="cedef40a-ed67-4d10-800e-17455edce175">
    <atom:link href="http://openstack.example.com/v2/openstack/images/cedef40a-ed67-4d10-800e-17455edce175" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image name="fakeimage123456" id="76fa36fc-c930-4bf3-8c8a-ea2a2420deb6">
    <atom:link href="http://openstack.example.com/v2/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
</images>
List Images Response: JSON
{
    "images": [
        {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "name": "fakeimage7"
        },
        {
            "id": "155d900f-4e14-4e4c-a73d-069cbf4541e6",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "name": "fakeimage123456"
        },
        {
            "id": "a2459075-d96c-40d5-893e-577ff92e721c",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "name": "fakeimage123456"
        },
        {
            "id": "a440c04b-79fa-479c-bed1-0b816eaec379",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "name": "fakeimage6"
        },
        {
            "id": "c905cedb-7281-47e4-8a62-f26bc5fc4c77",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "name": "fakeimage123456"
        },
        {
            "id": "cedef40a-ed67-4d10-800e-17455edce175",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "name": "fakeimage123456"
        },
        {
            "id": "76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "name": "fakeimage123456"
        }
    ]
}
GET
v2/{tenant_id}/images/detail

Lists all details for available images.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

changes-since (Optional)

A time/date stamp for when the image last changed status.

server (Optional)

Name of the server in URL format.

name (Optional)

Name of the image as a string.

status (Optional)

Value of the status of the image so that you can filter on "ACTIVE" for example.

marker (Optional)

UUID of the image at which you want to set a marker.

limit (Optional)

Integer value for the limit of values to return.

type (Optional)

Value of the type of image, such as BASE, SERVER, or ALL.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Detail Images Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<images xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage7" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="70a599e0-31e7-49b7-b260-868f441e862b">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="auto_disk_config">True</meta>
      <meta key="ramdisk_id">nokernel</meta>
      <meta key="architecture">x86_64</meta>
    </metadata>
    <atom:link href="http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="155d900f-4e14-4e4c-a73d-069cbf4541e6">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
      <meta key="architecture">x86_64</meta>
    </metadata>
    <atom:link href="http://openstack.example.com/v2/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="a2459075-d96c-40d5-893e-577ff92e721c">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
    </metadata>
    <atom:link href="http://openstack.example.com/v2/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage6" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="a440c04b-79fa-479c-bed1-0b816eaec379">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="auto_disk_config">False</meta>
      <meta key="ramdisk_id">nokernel</meta>
      <meta key="architecture">x86_64</meta>
    </metadata>
    <atom:link href="http://openstack.example.com/v2/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="c905cedb-7281-47e4-8a62-f26bc5fc4c77">
    <metadata>
      <meta key="kernel_id">155d900f-4e14-4e4c-a73d-069cbf4541e6</meta>
      <meta key="ramdisk_id">None</meta>
    </metadata>
    <atom:link href="http://openstack.example.com/v2/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="cedef40a-ed67-4d10-800e-17455edce175">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
    </metadata>
    <atom:link href="http://openstack.example.com/v2/openstack/images/cedef40a-ed67-4d10-800e-17455edce175" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="76fa36fc-c930-4bf3-8c8a-ea2a2420deb6">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
    </metadata>
    <atom:link href="http://openstack.example.com/v2/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" rel="bookmark"/>
    <atom:link href="http://glance.openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6" type="application/vnd.openstack.image" rel="alternate"/>
  </image>
</images>
List Detail Images Response: JSON
{
    "images": [
        {
            "created": "2011-01-01T01:02:03Z",
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "architecture": "x86_64",
                "auto_disk_config": "True",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage7",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "created": "2011-01-01T01:02:03Z",
            "id": "155d900f-4e14-4e4c-a73d-069cbf4541e6",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "architecture": "x86_64",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "created": "2011-01-01T01:02:03Z",
            "id": "a2459075-d96c-40d5-893e-577ff92e721c",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "created": "2011-01-01T01:02:03Z",
            "id": "a440c04b-79fa-479c-bed1-0b816eaec379",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "architecture": "x86_64",
                "auto_disk_config": "False",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage6",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "created": "2011-01-01T01:02:03Z",
            "id": "c905cedb-7281-47e4-8a62-f26bc5fc4c77",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "155d900f-4e14-4e4c-a73d-069cbf4541e6",
                "ramdisk_id": null
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "created": "2011-01-01T01:02:03Z",
            "id": "cedef40a-ed67-4d10-800e-17455edce175",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "created": "2011-01-01T01:02:03Z",
            "id": "76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        }
    ]
}
GET
v2/{tenant_id}/images/{image_id}

Lists details of the specified image.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

UUID for the specific image.

Get Image Details Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<image xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2011-01-01T01:02:03Z" name="fakeimage7" created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0" id="70a599e0-31e7-49b7-b260-868f441e862b">
  <metadata>
    <meta key="kernel_id">nokernel</meta>
    <meta key="auto_disk_config">True</meta>
    <meta key="ramdisk_id">nokernel</meta>
    <meta key="architecture">x86_64</meta>
  </metadata>
  <atom:link href="http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  <atom:link href="http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" type="application/vnd.openstack.image" rel="alternate"/>
</image>
Get Image Details Response: JSON
{
    "image": {
        "created": "2011-01-01T01:02:03Z",
        "id": "70a599e0-31e7-49b7-b260-868f441e862b",
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                "rel": "bookmark"
            },
            {
                "href": "http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                "rel": "alternate",
                "type": "application/vnd.openstack.image"
            }
        ],
        "metadata": {
            "architecture": "x86_64",
            "auto_disk_config": "True",
            "kernel_id": "nokernel",
            "ramdisk_id": "nokernel"
        },
        "minDisk": 0,
        "minRam": 0,
        "name": "fakeimage7",
        "progress": 100,
        "status": "ACTIVE",
        "updated": "2011-01-01T01:02:03Z"
    }
}

This operation does not require a request body.

DELETE
v2/{tenant_id}/images/{image_id}

Deletes the specified image.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

UUID for the specific image.

This operation does not require a request body and does not return a response body.

PUT
v2/{tenant_id}/images/{image_id}/metadata

Sets metadata for a resource.

 

The metadata items set on the resource are those specified on the requests. Existing metadata items are replaced with the ones provided in the request. Metadata items, set previously, but not specified in the request are removed.

An overLimit ( 413) fault may be thrown if the maximum number of metadata items is exceeded.

Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

UUID for the specific image.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

Create or Replace Metadata Request: XML
<?xml version="1.0" encoding="UTF-8"?>

<meta xmlns="http://docs.openstack.org/compute/api/v1.1" key="foo">Bar Value</meta>
Create or Replace Metadata Request: JSON
{
  "meta" : {
    "foo" : "Bar Value"
  }
}
Create or Replace Metadata Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<meta xmlns="http://docs.openstack.org/compute/api/v1.1" key="foo">Bar Value</meta>
Create or Replace Metadata Response: JSON
{
    "meta": {
        "foo": "Bar Value"
    }
}
POST
v2/{tenant_id}/images/{image_id}/metadata

Updates metadata items.

 

Updates resource metadata. Updates will replace existing metadata items with the same key. Items not explicitly mentioned in the request will not be modified. An overLimit ( 413) fault may be thrown if the operation causes the maximum number of metadata items to be exceeded.

Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

UUID for the specific image.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

Update Metadata Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="kernel_id">False</meta>
    <meta key="Label">UpdatedImage</meta>
</metadata>
Update Metadata Request: JSON
{
    "metadata": {
        "kernel_id": "False",
        "Label": "UpdatedImage"
    }
}
Update Metadata Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
  <meta key="kernel_id">False</meta>
  <meta key="ramdisk_id">nokernel</meta>
  <meta key="Label">UpdatedImage</meta>
  <meta key="architecture">x86_64</meta>
  <meta key="auto_disk_config">True</meta>
</metadata>
Update Metadata Response: JSON
{
    "metadata": {
        "Label": "UpdatedImage",
        "architecture": "x86_64",
        "auto_disk_config": "True",
        "kernel_id": "False",
        "ramdisk_id": "nokernel"
    }
}
GET
v2/{tenant_id}/images/{image_id}/metadata

Lists metadata associated with the resource.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

UUID for the specific image.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Metadata Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
  <meta key="kernel_id">nokernel</meta>
  <meta key="auto_disk_config">True</meta>
  <meta key="ramdisk_id">nokernel</meta>
  <meta key="architecture">x86_64</meta>
</metadata>
List Metadata Response: JSON
{
    "metadata": {
        "architecture": "x86_64",
        "auto_disk_config": "True",
        "kernel_id": "nokernel",
        "ramdisk_id": "nokernel"
    }
}

This operation does not require a request body.

GET
v2/{tenant_id}/images/{image_id}/metadata/{key}

Gets a metadata item associated with a resource.

 

Retrieves a single metadata item by key.

Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

UUID for the specific image.

key

A string no longer than 255 characters.

Get Metadata Item Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
  <meta key="kernel_id">nokernel</meta>
  <meta key="auto_disk_config">True</meta>
  <meta key="ramdisk_id">nokernel</meta>
  <meta key="architecture">x86_64</meta>
</metadata>
Get Metadata Item Response: JSON
{
    "metadata": {
        "architecture": "x86_64",
        "auto_disk_config": "True",
        "kernel_id": "nokernel",
        "ramdisk_id": "nokernel"
    }
}

This operation does not require a request body.

PUT
v2/{tenant_id}/images/{image_id}/metadata/{key}

Sets metadata item.

 

Sets a metadata item by its key. An overLimit ( 413) fault may be thrown if the operation causes the maximum number of metadata items to be exceeded.

Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

UUID for the specific image.

key

A string no longer than 255 characters.

Create or Update Metadata Item Request: XML
<?xml version="1.0" encoding="UTF-8"?>

<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="auto_disk_config">True</meta>
    <meta key="Label">Changed</meta>
</metadata>
Create or Update Metadata Item Request: JSON
{
    "metadata": {
        "auto_disk_config": "True",
        "Label": "Changed"
    }
}
Create or Update Metadata Item Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
  <meta key="auto_disk_config">True</meta>
  <meta key="Label">Changed</meta>
</metadata>
Create or Update Metadata Item Response: JSON
{
    "metadata": {
        "Label": "Changed",
        "auto_disk_config": "True"
    }
}
DELETE
v2/{tenant_id}/images/{image_id}/metadata/{key}

Deletes a metadata item.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

UUID for the specific image.

key

A string no longer than 255 characters.

This operation does not require a request body and does not return a response body.

GET
v2/{tenant_id}/flavors

Lists IDs, names, and links for available flavors.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

changes-since (Optional)

A time/date stamp for when the flavor last changed.

minDisk (Optional)

Integer value for the minimum disk space in GB so you can filter results.

minRam (Optional)

Integer value for the minimum RAM so you can filter results.

marker (Optional)

UUID of the flavor at which you want to set a marker.

limit (Optional)

Integer value for the limit of values to return.

Response parameters
Parameter Description
flavors

Flavors are known combinations of memory, disk space, and number of CPUs.

next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Flavors Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <flavor name="m1.tiny" id="1">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/1" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <flavor name="m1.small" id="2">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/2" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/2" rel="bookmark"/>
  </flavor>
  <flavor name="m1.medium" id="3">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/3" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/3" rel="bookmark"/>
  </flavor>
  <flavor name="m1.large" id="4">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/4" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/4" rel="bookmark"/>
  </flavor>
  <flavor name="m1.xlarge" id="5">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/5" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/5" rel="bookmark"/>
  </flavor>
</flavors>
List Flavors Response: JSON
{
    "flavors": [
        {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.tiny"
        },
        {
            "id": "2",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/2",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/2",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.small"
        },
        {
            "id": "3",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/3",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/3",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.medium"
        },
        {
            "id": "4",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/4",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/4",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.large"
        },
        {
            "id": "5",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/5",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/5",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.xlarge"
        }
    ]
}
GET
v2/{tenant_id}/flavors/detail

Lists all details for available flavors.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

changes-since (Optional)

A time/date stamp for when the flavor last changed.

minDisk (Optional)

Integer value for the minimum disk space in GB so you can filter results.

minRam (Optional)

Integer value for the minimum RAM so you can filter results.

marker (Optional)

UUID of the flavor at which you want to set a marker.

limit (Optional)

Integer value for the limit of values to return.

Response parameters
Parameter Description
next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

List Detail Flavors Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <flavor name="m1.tiny" id="1">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/1" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <flavor name="m1.small" id="2">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/2" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/2" rel="bookmark"/>
  </flavor>
  <flavor name="m1.medium" id="3">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/3" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/3" rel="bookmark"/>
  </flavor>
  <flavor name="m1.large" id="4">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/4" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/4" rel="bookmark"/>
  </flavor>
  <flavor name="m1.xlarge" id="5">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/5" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/5" rel="bookmark"/>
  </flavor>
</flavors>
List Detail Flavors Response: JSON
{
    "flavors": [
        {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.tiny"
        },
        {
            "id": "2",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/2",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/2",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.small"
        },
        {
            "id": "3",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/3",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/3",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.medium"
        },
        {
            "id": "4",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/4",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/4",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.large"
        },
        {
            "id": "5",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/5",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/5",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.xlarge"
        }
    ]
}
GET
v2/{tenant_id}/flavors/{flavor_id}

Lists details for the specified flavor.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

UUID for the specific flavor (combination of memory, disk size, and CPUs).

Get Flavor Details Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="0" vcpus="1" ram="512" name="m1.tiny" id="1">
  <atom:link href="http://openstack.example.com/v2/openstack/flavors/1" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
</flavor>
Get Flavor Details Response: JSON
{
    "flavor": {
        "disk": 0,
        "id": "1",
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/flavors/1",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/flavors/1",
                "rel": "bookmark"
            }
        ],
        "name": "m1.tiny",
        "ram": 512,
        "vcpus": 1
    }
}

This operation does not require a request body.

Compute API v2 Extensions

Adds capabilities to the core Compute API. Use extensions to add features, MIME types, actions, states, headers, parameters, and resources to the core API. Query the Compute API to list available extensions with a GET request to v2/extensions.

Server Admin Actions

Permits administrators to perform actions on a server.

POST
v2/{tenant_id}/servers/{server_id}/action

Pauses a server and changes its status to PAUSED. Specify the pause action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <pause/>
Request: JSON
{
    "pause": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Unpauses a PAUSED server and changes its status to ACTIVE. Specify the unpause action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <unpause />
Request: JSON
{
    "unpause": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Suspends a server and changes its status to SUSPENDED. Specify the suspend action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <suspend />
Request: JSON
{
    "suspend": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Resumes a SUSPENDED server and changes its status to ACTIVE. Specify the resume action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <resume />
Request: JSON
{
    "resume": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Migrates a server to a host. The scheduler chooses the host. Specify the migrate action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: JSON
{
    "migrate": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Resets networking on a server. Specify the resetNetwork action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <resetNetwork />
Request: JSON
{
    "resetNetwork": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Injects network information into a server. Specify the injectNetworkInfo action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <injectNetworkInfo />
Request: JSON
{
    "injectNetworkInfo": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Locks a server. Specify the lock action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <lock />
Request: JSON
{
    "lock": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Unlocks a server. Specify the unlock action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <unlock />
Request: JSON
{
    "unlock": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Backs up a server instance. Specify the createBackup action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

name

Name of the backup image.

backup_type

The backup type. Either 'daily' or 'weekly.'

rotation

An integer value that represents the number of backups to maintain.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <createBackup>
        <name>Backup 1</name>
        <backup_type>daily</backup_type>
        <rotation>1</rotation>
    </createBackup>
Request: JSON
{
    "createBackup": {
        "name": "Backup 1",
        "backup_type": "daily",
        "rotation": 1
    }
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Live-migrates a server to a new host without rebooting. Specify the os-migrateLive action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

host

Name of the new host.

block_migration

If true, migration is blocked.

disk_over_commit

If true, disk over commit is allowed.

Request: XML
<?xml version="1.0" encoding="UTF-8" ?>
    <os-migrateLive>
        <host>6217bf142bb3491995f966af999f9f23</host>
        <block_migration>false</block_migration>
        <disk_over_commit>false</disk_over_commit>
    </os-migrateLive>
Request: JSON
{
    "os-migrateLive": {
        "host": "0443e9a1254044d8b99f35eace132080",
        "block_migration": false,
        "disk_over_commit": false
    }
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Resets the state of a server to a specified state. Specify the os-resetState action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

state

The desired state of a server.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <os-resetState>
        <state>active</state>
    </os-resetState>
Request: JSON
{
    "os-resetState": {
        "state": "active"
    }
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Evacuates a server from failed host. Specify the evacuate action in the request body.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

host

The name or ID of the host where the server is evacuated.

onSharedStorage (Optional)

Required if server is on shared storage.

adminPass (Optional) Not specified with onSharedStorage. New admin password for the evacuated instance.
Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<evacuate xmlns="http://docs.openstack.org/compute/api/v2"
    host="TargetHost"
    adminPass="MySecretPass"
    onSharedStorage="True"/>
Request: JSON
{
    "evacuate": {
        "host": "TargetHost",
        "adminPass": "MySecretPass",
        "onSharedStorage": "True"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<adminPass>MySecretPass</adminPass>
Response: JSON
{
    "adminPass": "MySecretPass"
}

Guest Agents

Creates, updates, and deletes guest agents. Use guest agents to access files on the disk, configure networking, or run other applications or scripts in the guest while it runs. This hypervisor-specific extension is not currently enabled for KVM. Use of guest agents is possible only if the underlying service provider uses the Xen driver.

GET
v2/{tenant_id}/os-agents

Lists all agent builds.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Agents Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<agents>
  <agent url="xxxxxxxxxxxx" hypervisor="xen" md5hash="add6bb58e139be103324d04d82d8f545" version="8.0" architecture="x86" os="os" agent_id="1"/>
</agents>
List Agents Response: JSON
{
    "agents": [
        {
            "agent_id": "1",
            "architecture": "x86",
            "hypervisor": "xen",
            "md5hash": "add6bb58e139be103324d04d82d8f545",
            "os": "os",
            "url": "xxxxxxxxxxxx",
            "version": "8.0"
        }
    ]
}

This operation does not require a request body.

POST
v2/{tenant_id}/os-agents

Creates an agent build.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

Create Agent Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<agent>
  <hypervisor>xen</hypervisor>
  <os>os</os>
  <architecture>x86</architecture>
  <version>8.0</version>
  <md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
  <url>xxxxxxxxxxxx</url>
</agent>
Create Agent Request: JSON
{
    "agent": {
        "hypervisor": "xen",
        "os": "os",
        "architecture": "x86",
        "version": "8.0",
        "md5hash": "add6bb58e139be103324d04d82d8f545",
        "url": "xxxxxxxxxxxx"
    }
}
Create Agent Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<agent>
  <url>xxxxxxxxxxxx</url>
  <hypervisor>xen</hypervisor>
  <md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
  <version>8.0</version>
  <architecture>x86</architecture>
  <os>os</os>
  <agent_id>1</agent_id>
</agent>
Create Agent Response: JSON
{
    "agent": {
        "agent_id": "1",
        "architecture": "x86",
        "hypervisor": "xen",
        "md5hash": "add6bb58e139be103324d04d82d8f545",
        "os": "os",
        "url": "xxxxxxxxxxxx",
        "version": "8.0"
    }
}
DELETE
v2/{tenant_id}/os-agents

Deletes an existing agent build.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

This operation does not require a request body and does not return a response body.

PUT
v2/{tenant_id}/os-agents/{id}

Updates an agent build.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

id

The unique identifier associated with the agent.

Update Agent Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<para>
  <version>7.0</version>
  <url>xxx://xxxx/xxx/xxx</url>
  <md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
</para>
Update Agent Request: JSON
{
    "para": {
        "url": "xxx://xxxx/xxx/xxx",
        "md5hash": "add6bb58e139be103324d04d82d8f545",
        "version": "7.0"
    }
}
Update Agent Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<agent>
  <url>xxx://xxxx/xxx/xxx</url>
  <version>7.0</version>
  <agent_id>1</agent_id>
  <md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
</agent>
Update Agent Response: JSON
{
    "agent": {
        "agent_id": "1",
        "md5hash": "add6bb58e139be103324d04d82d8f545",
        "url": "xxx://xxxx/xxx/xxx",
        "version": "7.0"
    }
}

Host Aggregates

Creates and manages host aggregates. An aggregate assigns metadata to groups of compute nodes. Aggregates are only visible to the cloud provider.

GET
v2/{tenant_id}/os-aggregates

Lists all aggregates.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Response: application/XML
<?xml version='1.0' encoding='UTF-8'?>
<aggregates>
  <aggregate>
    <name>name</name>
    <availability_zone>nova</availability_zone>
    <deleted>False</deleted>
    <created_at>2012-11-16 06:22:25.935099</created_at>
    <updated_at>None</updated_at>
    <hosts/>
    <deleted_at>None</deleted_at>
    <id>1</id>
    <metadata>
      <availability_zone>nova</availability_zone>
    </metadata>
  </aggregate>
</aggregates>
Response: JSON
{
    "aggregates": [
        {
            "availability_zone": "nova",
            "created_at": "2012-11-16T06:22:23.361359",
            "deleted": false,
            "deleted_at": null,
            "hosts": [],
            "id": 1,
            "metadata": {
                "availability_zone": "nova"
            },
            "name": "name",
            "updated_at": null
        }
    ]
}

This operation does not require a request body.

POST
v2/{tenant_id}/os-aggregates

Creates an aggregate.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

name

Name of aggregate

availability_zone

Availability zone of aggregate

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<aggregate name="name" availability_zone="nova" />
Request: JSON
{
    "aggregate":
    {
        "name": "name",
        "availability_zone": "nova"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-10-01 18:50:35.506667</created_at>
  <updated_at>None</updated_at>
  <deleted_at>None</deleted_at>
  <id>1</id>
</aggregate>
Response: JSON
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-10-01T18:50:27.781065",
        "deleted": false,
        "deleted_at": null,
        "id": 1,
        "name": "name",
        "updated_at": null
    }
}
DELETE
v2/{tenant_id}/os-aggregates/{aggregate_id}

Deletes an aggregate.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id

The ID associated with an aggregate.

This operation does not return a response body.

GET
v2/{tenant_id}/os-aggregates/{aggregate_id}

Gets details about a specified aggregate.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id

The ID associated with an aggregate.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-11-16 06:22:25.587739</created_at>
  <updated_at>None</updated_at>
  <hosts/>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <availability_zone>nova</availability_zone>
  </metadata>
</aggregate>
Response: JSON
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-11-16T06:22:23.032493",
        "deleted": false,
        "deleted_at": null,
        "hosts": [],
        "id": 1,
        "metadata": {
            "availability_zone": "nova"
        },
        "name": "name",
        "updated_at": null
    }
}
PUT
v2/{tenant_id}/os-aggregates/{aggregate_id}

Updates the name, and optionally the availability zone, for a specified aggregate.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id

The ID associated with an aggregate.

name

Name of aggregate.

availability_zone

Availability zone of aggregate.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<aggregate name="newname" availability_zone="nova2" />
Request: JSON
{
    "aggregate":
    {
        "name": "newname",
        "availability_zone": "nova2"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>newname</name>
  <availability_zone>nova2</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-12-04 12:04:30.245284</created_at>
  <updated_at>2012-12-04 12:04:30.357795</updated_at>
  <hosts/>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <availability_zone>nova2</availability_zone>
  </metadata>
</aggregate>
Response: JSON
{
    "aggregate": {
        "availability_zone": "nova2",
        "created_at": "2012-12-04T12:04:27.075065",
        "deleted": false,
        "deleted_at": null,
        "hosts": [],
        "id": 1,
        "metadata": {
            "availability_zone": "nova2"
        },
        "name": "newname",
        "updated_at": "2012-12-04T12:04:27.242597"
    }
}
POST
v2/{tenant_id}/os-aggregates/{aggregate_id}/action

Sets metadata for an aggregate.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id

The ID associated with an aggregate.

metadata

Metadata value to be set.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<set_metadata>
    <metadata>
        <key>value</key>
    </metadata>
</set_metadata>
Request: JSON
{
    "set_metadata":
        {
            "metadata":
                {
                    "key": "value"
                }
        }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-11-16 06:22:24.864471</created_at>
  <updated_at>None</updated_at>
  <hosts/>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <key>value</key>
    <availability_zone>nova</availability_zone>
  </metadata>
</aggregate>
Response: JSON
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-11-16T06:22:22.342791",
        "deleted": false,
        "deleted_at": null,
        "hosts": [],
        "id": 1,
        "metadata": {
            "availability_zone": "nova",
            "key": "value"
        },
        "name": "name",
        "updated_at": null
    }
}
POST
v2/{tenant_id}/os-aggregates/{aggregate_id}/action

Adds a host to an aggregate.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id

The ID associated with an aggregate.

host

Host ID to add to an aggregate, which is a collection of multiple groups of hosts that share common resources like storage and network.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<add_host host="7c9e00dbca5e4fb88538b021c0f933a5" />
Request: JSON
{
  "add_host":
    {
      "host": "581d29b9e3504d8a895caddb13839b15"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-12-04 12:04:27.574038</created_at>
  <updated_at>None</updated_at>
  <hosts>
    <host>392adba19dd449179804eaff16ff4a97</host>
  </hosts>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <availability_zone>nova</availability_zone>
  </metadata>
</aggregate>
Response: JSON
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-12-04T12:04:24.399784",
        "deleted": false,
        "deleted_at": null,
        "hosts": [
            "0438c6a4e8d841ad823b801d681f4680"
        ],
        "id": 1,
        "metadata": {
            "availability_zone": "nova"
        },
        "name": "name",
        "updated_at": null
    }
}
POST
v2/{tenant_id}/os-aggregates/{aggregate_id}/action

Removes a host from an aggregate.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

aggregate_id

The ID associated with an aggregate.

host

Host ID to add to an aggregate.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<remove_host host="7c9e00dbca5e4fb88538b021c0f933a5" />
Request: JSON
{
  "remove_host":
    {
      "host": "581d29b9e3504d8a895caddb13839b15"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<aggregate>
  <name>name</name>
  <availability_zone>nova</availability_zone>
  <deleted>False</deleted>
  <created_at>2012-12-04 12:04:29.722109</created_at>
  <updated_at>None</updated_at>
  <hosts/>
  <deleted_at>None</deleted_at>
  <id>1</id>
  <metadata>
    <availability_zone>nova</availability_zone>
  </metadata>
</aggregate>
Response: JSON
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-12-04T12:04:26.557909",
        "deleted": false,
        "deleted_at": null,
        "hosts": [],
        "id": 1,
        "metadata": {
            "availability_zone": "nova"
        },
        "name": "name",
        "updated_at": null
    }
}

Cloudpipe

Manages virtual vpns for projects.

GET
v2/{tenant_id}/os-cloudpipe

Lists cloudpipes.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<cloudpipes>
  <cloudpipe>
    <public_ip>127.0.0.1</public_ip>
    <created_at>2012-09-25T18:18:49Z</created_at>
    <public_port>22</public_port>
    <state>down</state>
    <instance_id>1a17f615-343b-430f-976a-457c029eddb7</instance_id>
    <internal_ip>192.168.0.3</internal_ip>
    <project_id>cloudpipe-6405f2ca-caf9-493b-a1f6-e55f595d75ab</project_id>
  </cloudpipe>
</cloudpipes>
Response: JSON
{
    "cloudpipes": [
        {
            "created_at": "2012-11-27T17:18:01Z",
            "instance_id": "27deecdb-baa3-4a26-9c82-32994b815b01",
            "internal_ip": "192.168.0.3",
            "project_id": "cloudpipe-fa1765bd-a352-49c7-a6b7-8ee108a3cb0c",
            "public_ip": "127.0.0.1",
            "public_port": 22,
            "state": "down"
        }
    ]
}

This operation does not require a request body.

POST
v2/{tenant_id}/os-cloudpipe

Creates a cloudpipe.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

project_id (Optional)

Creates the cloudpipe for the specified project ID. If omitted, the project ID defaults to the calling tenant.

Request: XML
<cloudpipe
    project_id="cloudpipe-6405f2ca-caf9-493b-a1f6-e55f595d75ab"
/>
Request: JSON
{
    "cloudpipe": {
        "project_id": "cloudpipe-059f21e3-c20e-4efc-9e7a-eba2ab3c6f9a"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<cloudpipe>
  <instance_id>1a17f615-343b-430f-976a-457c029eddb7</instance_id>
</cloudpipe>
Response: JSON
{
    "instance_id": "1e9b8425-34af-488e-b969-4d46f4a6382e"
}
POST
v2/{tenant_id}/os-cloudpipe/configure-project

Updates the virtual private network (VPN) IP address and port for a specified cloudpipe instance.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

vpn_ip

The VPN IP address.

vpn_port

The VPN port.

Request: XML
<?xml version='1.0' encoding='UTF-8'?>
<configure_project>
  <vpn_ip>192.168.1.1</vpn_ip>
  <vpn_port>2000</vpn_port>
</configure_project>
Request: JSON
{
    "configure_project": {
        "vpn_ip": "192.168.1.1",
        "vpn_port": "2000"
    }
}

This operation does not return a response body.

Server Console Output

Gets the output from the console log for a server.

POST
v2/{tenant_id}/servers/{server_id}/action

Gets console output.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

length (Optional)

Number of lines to fetch from end of console log.

Get Console Output for Server Instance. Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<os-getConsoleOutput length="50" />
Get Console Output for Server Instance. Request: JSON
{
    "os-getConsoleOutput": {
        "length": 50
    }
}
Get Console Output for Server Instance. Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<output>FAKE CONSOLE OUTPUT
ANOTHER
LAST LINE</output>
Get Console Output for Server Instance. Response: JSON
{
    "output": "FAKE CONSOLE OUTPUT\nANOTHER\nLAST LINE"
}

Server VNC Console

Accesses a VNC console for a specified server.

POST
v2/{tenant_id}/servers/{server_id}/action

Gets a console.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

type

Valid values are 'novnc' and 'xvpvnc'.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<os-getVNCConsole type="novnc" />
Request: JSON
{
   "os-getVNCConsole":{
      "type":"novnc"
   }
}
Response: JSON
{
	"console": {
		"type": "novnc",
		"url": "http://example.com:6080/vnc_auto.html?token=f9906a48-b71e-4f18-baca-c987da3ebdb3&title=dafa(75ecef58-3b8e-4659-ab3b-5501454188e9)"
	}
}
Response: JSON
<?xml version='1.0' encoding='UTF-8'?>
<console>
  <type>novnc</type>
  <url>http://example.com:6080/vnc_auto.html?token=f9906a48-b71e-4f18-baca-c987da3ebdb3</url>
</console>

Server Extended Create

Shows extra information when you create a server.

POST
v2/{tenant_id}/servers

Creates a server with the config_drive extended attribute.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

security_group

The name of the security group. If blank, the server is created in the "default" security group.

user_data

Use to pass configuration information or scripts upon launch. Must be Base64 encoded.

availability_zone

The availability zone in which to launch the server.

security_group

The name of the security group. If blank, the server is created in the "default" security group.

user_data

Use to pass configuration information or scripts upon launch. Must be Base64 encoded.

availability_zone

The availability zone in which to launch the server.

imageRef

The image reference for the desired image for your server instance.

Specify as an ID or full URL.

flavorRef

The flavor reference for the desired flavor for your server instance.

Specify as an ID or full URL.

name

The name for your created server.

metadata (Optional)

Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.

personality (Optional)

File path and contents (text only) to inject into the server at launch. The maximum size of the file path data is 255 bytes. The maximum limit refers to the number of bytes in the decoded data and not the number of characters in the encoded data.

config_drive (Optional)

ID of image to mount within server as a configuration drive.

Request: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns="http://docs.openstack.org/compute/api/v1.1" imageRef="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" flavorRef="http://openstack.example.com/openstack/flavors/1" name="new-server-test">
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <personality>
    <file path="/etc/banner.txt">
        ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
        dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
        IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
        c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
        QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
        ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
        dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
        c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
        b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
    </file>
  </personality>
</server>
Request: JSON
{
    "server": {
        "flavorRef": "http://openstack.example.com/openstack/flavors/1",
        "imageRef": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
        "metadata": {
            "My Server Name": "Apache1"
        },
        "name": "new-server-test",
        "personality": [
            {
                "contents": "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==",
                "path": "/etc/banner.txt"
            }
        ]
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" id="ea8417a1-7957-4ed5-8b3c-0befc1724308" adminPass="FoFw84XtQj3c">
  <metadata/>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/ea8417a1-7957-4ed5-8b3c-0befc1724308" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/ea8417a1-7957-4ed5-8b3c-0befc1724308" rel="bookmark"/>
</server>
Response: JSON
{
    "server": {
        "adminPass": "MVk5HPrazHcG",
        "id": "5bbcc3c4-1da2-4437-a48a-66f15b1b13f9",
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/5bbcc3c4-1da2-4437-a48a-66f15b1b13f9",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/5bbcc3c4-1da2-4437-a48a-66f15b1b13f9",
                "rel": "bookmark"
            }
        ]
    }
}
GET
v2/{tenant_id}/servers/{server_id}

Shows information for a specified server, including the config_drive extended attribute.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2012-08-20T21:11:10Z" hostId="1746536de20daadad89a6fab8d6968b1214b0ba9fb37b29e7098e0b9" name="new-server-test" created="2012-08-20T21:11:10Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="3f9f7d18-aaf3-4703-b368-ea9b4d609c95">
  <image id="70a599e0-31e7-49b7-b260-868f441e862b">
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  </image>
  <flavor id="1">
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="private">
      <ip version="4" addr="192.168.0.3"/>
    </network>
  </addresses>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/3f9f7d18-aaf3-4703-b368-ea9b4d609c95" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/3f9f7d18-aaf3-4703-b368-ea9b4d609c95" rel="bookmark"/>
</server>
Response: JSON
{
    "server": {
        "accessIPv4": "",
        "accessIPv6": "",
        "addresses": {
            "private": [
                {
                    "addr": "192.168.0.3",
                    "version": 4
                }
            ]
        },
        "created": "2012-08-20T21:11:09Z",
        "flavor": {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ]
        },
        "hostId": "65201c14a29663e06d0748e561207d998b343e1d164bfa0aafa9c45d",
        "id": "893c7791-f1df-4c3d-8383-3caae9656c62",
        "image": {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                }
            ]
        },
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/893c7791-f1df-4c3d-8383-3caae9656c62",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/893c7791-f1df-4c3d-8383-3caae9656c62",
                "rel": "bookmark"
            }
        ],
        "metadata": {
            "My Server Name": "Apache1"
        },
        "name": "new-server-test",
        "progress": 0,
        "status": "ACTIVE",
        "tenant_id": "openstack",
        "updated": "2012-08-20T21:11:09Z",
        "user_id": "fake"
    }
}

This operation does not require a request body.

GET
v2/{tenant_id}/servers/detail

Lists details for all servers, including the config_drive extended attribute.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<servers xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <server name="new-server-test" id="b626796d-d585-4874-b178-78c65289bba4">
    <atom:link href="http://openstack.example.com/v2/openstack/servers/b626796d-d585-4874-b178-78c65289bba4" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/servers/b626796d-d585-4874-b178-78c65289bba4" rel="bookmark"/>
  </server>
</servers>
Response: JSON
{
    "servers": [
        {
            "id": "616fb98f-46ca-475e-917e-2563e5a8cd19",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/servers/616fb98f-46ca-475e-917e-2563e5a8cd19",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/servers/616fb98f-46ca-475e-917e-2563e5a8cd19",
                    "rel": "bookmark"
                }
            ],
            "name": "new-server-test"
        }
    ]
}

This operation does not require a request body.

Server Force Delete or Restore

Restores or force-deletes a server when you deploy nova with deferred delete on.

POST
v2/{tenant_id}/servers/{server_id}/action

Force-deletes a server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<forceDelete />
Request: JSON
{
    "forceDelete": null
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Reverses the deletion of a server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<restore />
Request: JSON
{
    "restore": null
}

This operation does not return a response body.

Server Diagnostics

Gets the usage data for a server.

GET
v2/{tenant_id}/servers/{server_id}/diagnostics

Gets basic usage data for a specified server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Server Diagnostics Response: JSON
{
   "vnet0_tx_errors":0,
   "vda_errors":-1,
   "vda_read":4447232,
   "vda_write":4347904,
   "vnet0_tx_packets":1259,
   "vda_write_req":3523,
   "memory-actual":524288,
   "cpu0_time":195230000000,
   "vnet0_tx":364840,
   "vnet0_rx_drop":0,
   "vnet0_rx_packets":1423,
   "vnet0_rx_errors":0,
   "memory":524288,
   "memory-rss":243188,
   "vda_read_req":291,
   "vnet0_rx":363725,
   "vnet0_tx_drop":0
}

This operation does not require a request body.

Disk Config

Extends servers and images with a diskConfig attribute.

POST
v2/{tenant_id}/servers

Creates a server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

OS-DCF:diskConfig (Optional)

Acceptable values are 'AUTO' and 'MANUAL.'

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://docs.openstack.org/compute/api/v1.1" imageRef="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" flavorRef="http://openstack.example.com/openstack/flavors/1" name="new-server-test">
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <personality>
    <file path="/etc/banner.txt">
        ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
        dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
        IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
        c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
        QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
        ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
        dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
        c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
        b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
    </file>
  </personality>
</server>
Request: JSON
{
   "server":{
      "name":"new-server-test",
      "imageRef":"http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
      "flavorRef":"http://openstack.example.com/openstack/flavors/1",
      "metadata":{
         "My Server Name":"Apache1"
      },
      "personality":[
         {
            "path":"/etc/banner.txt",
            "contents":"ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
                        dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
                        IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
                        c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
                        QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
                        ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
                        dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
                        c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
                        b25zLiINCg0KLVJpY2hhcmQgQmFjaA=="
         }
      ]
   }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" id="900a4ef7-f374-413f-8816-52d3dbfaf498" adminPass="Cj6sZgWq85qm" OS-DCF:diskConfig="AUTO">
  <metadata/>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/900a4ef7-f374-413f-8816-52d3dbfaf498" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/900a4ef7-f374-413f-8816-52d3dbfaf498" rel="bookmark"/>
</server>
Response: JSON
{
    "server": {
        "OS-DCF:diskConfig": "AUTO",
        "adminPass": "CQH9gWzgkVno",
        "id": "324dfb7d-f4a9-419a-9a19-237df04b443b",
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/324dfb7d-f4a9-419a-9a19-237df04b443b",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/324dfb7d-f4a9-419a-9a19-237df04b443b",
                "rel": "bookmark"
            }
        ]
    }
}
GET
v2/{tenant_id}/servers/{server_id}

Shows information for a specified server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Response: JSON
{
    "server": {
        "id": "52415800-8b69-11e0-9b19-734f565bc83b",
        "tenant_id": "1234",
        "user_id": "5678",
        "name": "new-server-test",
        "created": "2010-11-11T12:00:00Z",
        "hostId": "e4d909c290d0fb1ca068ffaddf22cbd0",
        "accessIPv4" : null,
        "accessIPv6" : null,
        "progress": 0,
        "status": "BUILD",
        "adminPass": "GFf1j9aP",
        "image" : {
            "id": "cedef40a-ed67-4d10-800e-17455edce175",
            "name": "CentOS 5.2",
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v2/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
                }
            ]
        },
        "flavor" : {
            "id": "1",
            "name": "256 MB Server",
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v2/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                }
            ]
        },
        "metadata": {},
        "addresses": {},
        "links": [
            {
                "rel": "self",
                "href": "http://servers.api.openstack.org/v2/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
            },
            {
                "rel": "bookmark",
                "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
            }
        ],
        "OS-DCF:diskConfig": "AUTO"
    }
}

This operation does not require a request body.

PUT
v2/{tenant_id}/servers/{server_id}

Updates a specified server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1"
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns="http://docs.openstack.org/compute/api/v1.1"
        OS-DCF:diskConfig="AUTO" />
Request: JSON
{
    "server": {
        "OS-DCF:diskConfig": "AUTO"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2012-12-02T02:15:40Z" hostId="e987bebf62599c59c4559b249d0f5f300a302d1e9ff22dd1f0c5c4b0" name="new-server-test" created="2012-12-02T02:15:40Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="900a4ef7-f374-413f-8816-52d3dbfaf498" OS-DCF:diskConfig="AUTO">
  <image id="70a599e0-31e7-49b7-b260-868f441e862b">
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  </image>
  <flavor id="1">
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="private">
      <ip version="4" addr="192.168.0.3"/>
    </network>
  </addresses>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/900a4ef7-f374-413f-8816-52d3dbfaf498" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/900a4ef7-f374-413f-8816-52d3dbfaf498" rel="bookmark"/>
</server>
Response: JSON
{
    "server": {
        "OS-DCF:diskConfig": "AUTO",
        "accessIPv4": "",
        "accessIPv6": "",
        "addresses": {
            "private": [
                {
                    "addr": "192.168.0.3",
                    "version": 4
                }
            ]
        },
        "created": "2012-12-02T02:11:57Z",
        "flavor": {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ]
        },
        "hostId": "6e84af987b4e7ec1c039b16d21f508f4a505672bd94fb0218b668d07",
        "id": "324dfb7d-f4a9-419a-9a19-237df04b443b",
        "image": {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                }
            ]
        },
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/324dfb7d-f4a9-419a-9a19-237df04b443b",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/324dfb7d-f4a9-419a-9a19-237df04b443b",
                "rel": "bookmark"
            }
        ],
        "metadata": {
            "My Server Name": "Apache1"
        },
        "name": "new-server-test",
        "progress": 0,
        "status": "ACTIVE",
        "tenant_id": "openstack",
        "updated": "2012-12-02T02:11:58Z",
        "user_id": "fake"
    }
}
POST
v2/{tenant_id}/servers/{server_id}/action

Resizes a server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<resize xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1"
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns="http://docs.openstack.org/compute/api/v1.1"
        OS-DCF:diskConfig="AUTO"
        flavorRef="3" />
Request: JSON
{
    "resize": {
        "flavorRef": "3",
        "OS-DCF:diskConfig": "AUTO"
    }
}

This operation does not return a response body.

POST
v2/{tenant_id}/servers/{server_id}/action

Rebuilds a specified server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<rebuild xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1"
         xmlns:atom="http://www.w3.org/2005/Atom"
         xmlns="http://docs.openstack.org/compute/api/v1.1"
         imageRef="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b"
         OS-DCF:diskConfig="AUTO" />
Request: JSON
{
    "rebuild": {
        "imageRef" : "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
        "OS-DCF:diskConfig": "AUTO"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:OS-DCF="http://docs.openstack.org/compute/ext/disk_config/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2012-12-02T02:15:39Z" hostId="981de784ae4d8c49ca075024977828a16e7f3c2beeb19115b0366e17" name="new-server-test" created="2012-12-02T02:15:38Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="10791a94-8900-4d0c-b93d-0debb224882e" adminPass="mTxoVD3eALpv" OS-DCF:diskConfig="AUTO">
  <image id="70a599e0-31e7-49b7-b260-868f441e862b">
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  </image>
  <flavor id="1">
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="private">
      <ip version="4" addr="192.168.0.3"/>
    </network>
  </addresses>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/10791a94-8900-4d0c-b93d-0debb224882e" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/10791a94-8900-4d0c-b93d-0debb224882e" rel="bookmark"/>
</server>
Response: JSON
{
    "server": {
        "OS-DCF:diskConfig": "AUTO",
        "accessIPv4": "",
        "accessIPv6": "",
        "addresses": {
            "private": [
                {
                    "addr": "192.168.0.3",
                    "version": 4
                }
            ]
        },
        "adminPass": "NBjMaJoFL4EF",
        "created": "2012-12-02T02:11:56Z",
        "flavor": {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ]
        },
        "hostId": "c076393ad900d62c4805a42df10d9b364f629842681c00cce035487f",
        "id": "63a8aa13-60fe-41c4-b079-77f6fdf3c841",
        "image": {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                }
            ]
        },
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/63a8aa13-60fe-41c4-b079-77f6fdf3c841",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/63a8aa13-60fe-41c4-b079-77f6fdf3c841",
                "rel": "bookmark"
            }
        ],
        "metadata": {
            "My Server Name": "Apache1"
        },
        "name": "new-server-test",
        "progress": 0,
        "status": "ACTIVE",
        "tenant_id": "openstack",
        "updated": "2012-12-02T02:11:56Z",
        "user_id": "fake"
    }
}
GET
v2/{tenant_id}/servers/detail

Lists servers.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Response: JSON
{
    "servers": [
        {
            "id": "52415800-8b69-11e0-9b19-734f565bc83b",
            "tenant_id": "1234",
            "user_id": "5678",
            "name": "new-server-test",
            "created": "2010-11-11T12:00:00Z",
            "hostId": "e4d909c290d0fb1ca068ffaddf22cbd0",
            "accessIPv4" : null,
            "accessIPv6" : null,
            "progress": 0,
            "status": "BUILD",
            "adminPass": "GFf1j9aP",
            "image" : {
                "id": "cedef40a-ed67-4d10-800e-17455edce175",
                "name": "CentOS 5.2",
                "links": [
                    {
                        "rel": "self",
                        "href": "http://servers.api.openstack.org/v2/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
                    },
                    {
                        "rel": "bookmark",
                        "href": "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
                    }
                ]
            },
            "flavor" : {
                "id": "1",
                "name": "256 MB Server",
                "links": [
                    {
                        "rel": "self",
                        "href": "http://servers.api.openstack.org/v2/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                    },
                    {
                        "rel": "bookmark",
                        "href": "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                    }
                ]
            },
            "metadata": {},
            "addresses": {},
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v2/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
                }
            ],
            "OS_DCF:diskConfig": "AUTO"
        }
    ]
}

This operation does not require a request body.

GET
v2/{tenant_id}/images/{image_id}

Describes a specific image.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

The UUID for the image of interest to you.

Response: JSON
{
    "image": {
        "id": "52415800-8b69-11e0-9b19-734f5736d2a2",
        "name": "image-1",
        "updated": "2010-10-10T12:00:00Z",
        "created": "2010-08-10T12:00:00Z",
        "tenant_id": "12345",
        "user_id": "joe", 
        "status": "SAVING",
        "progress": 80,
        "minDisk": 5,
        "minRam": 256,
        "links": [
            {
                "rel": "self",
                "href": "http://servers.api.openstack.org/v2/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"
            },
            {
                "rel": "bookmark",
                "href": "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"
            }
        ],
        "OS-DCF:diskConfig": "AUTO"
    }
}

This operation does not require a request body.

GET
v2/{tenant_id}/images/detail

Lists images.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Response: JSON
{
    "images": [
        {
            "id": "52415800-8b69-11e0-9b19-734f5736d2a2",
            "name": "image-1",
            "updated": "2010-10-10T12:00:00Z",
            "created": "2010-08-10T12:00:00Z",
            "tenant_id": "12345",
            "user_id": "joe", 
            "status": "SAVING",
            "progress": 80,
            "minDisk": 5,
            "minRam": 256,
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v2/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"
                }
            ],
            "OS-DCF:diskConfig": "AUTO"
        }
    ]
}

This operation does not require a request body.

Extended Availability Zones

Shows the instance availability zone for compute nodes (nova-compute). Internal services appear in their own internal availability zone.

GET
v2/{tenant_id}/servers/{server_id}

Gets the availability zone for the specified instance.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:OS-EXT-AZ="http://docs.openstack.org/compute/ext/extended_availability_zone/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2013-01-30T14:29:20Z" hostId="471e52951e3182954c5a93489dafc3fc38a9ef3e0b62d26dc740460c" name="new-server-test" created="2013-01-30T14:29:19Z" userId="admin" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="26ea8424-758d-483a-addc-9a5905afc9e6" OS-EXT-AZ:availability_zone="nova">
  <image id="70a599e0-31e7-49b7-b260-868f441e862b">
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  </image>
  <flavor id="1">
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="private">
      <ip version="4" addr="192.168.0.3"/>
    </network>
  </addresses>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/26ea8424-758d-483a-addc-9a5905afc9e6" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/26ea8424-758d-483a-addc-9a5905afc9e6" rel="bookmark"/>
</server>
Response: JSON
{
    "server": {
        "OS-EXT-AZ:availability_zone": "nova",
        "accessIPv4": "",
        "accessIPv6": "",
        "addresses": {
            "private": [
                {
                    "addr": "192.168.0.3",
                    "version": 4
                }
            ]
        },
        "created": "2013-01-30T13:38:47Z",
        "flavor": {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ]
        },
        "hostId": "d38ea49a033b0efaf80c165de63f4805c886dfb94dc0fe731227eccb",
        "id": "fb7babfd-e1a1-4add-90e6-3558180983c7",
        "image": {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                }
            ]
        },
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/fb7babfd-e1a1-4add-90e6-3558180983c7",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/fb7babfd-e1a1-4add-90e6-3558180983c7",
                "rel": "bookmark"
            }
        ],
        "metadata": {
            "My Server Name": "Apache1"
        },
        "name": "new-server-test",
        "progress": 0,
        "status": "ACTIVE",
        "tenant_id": "openstack",
        "updated": "2013-01-30T13:38:49Z",
        "user_id": "admin"
    }
}

This operation does not require a request body.

GET
v2/{tenant_id}/servers/detail

Lists details for all servers. Includes their current availability zone.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<servers xmlns:OS-EXT-AZ="http://docs.openstack.org/compute/ext/extended_availability_zone/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <server status="ACTIVE" updated="2013-01-30T14:29:20Z" hostId="85adf7d0492dedf0a7e3dc44ef7d16186b768ca3df33c4d608e630d9" name="new-server-test" created="2013-01-30T14:29:19Z" userId="admin" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="a668c72d-2bac-4806-a297-c7c11d97e3b3" OS-EXT-AZ:availability_zone="nova">
    <image id="70a599e0-31e7-49b7-b260-868f441e862b">
      <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
    </image>
    <flavor id="1">
      <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
    </flavor>
    <metadata>
      <meta key="My Server Name">Apache1</meta>
    </metadata>
    <addresses>
      <network id="private">
        <ip version="4" addr="192.168.0.3"/>
      </network>
    </addresses>
    <atom:link href="http://openstack.example.com/v2/openstack/servers/a668c72d-2bac-4806-a297-c7c11d97e3b3" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/servers/a668c72d-2bac-4806-a297-c7c11d97e3b3" rel="bookmark"/>
  </server>
</servers>
Response: JSON
{
    "servers": [
        {
            "OS-EXT-AZ:availability_zone": "nova",
            "accessIPv4": "",
            "accessIPv6": "",
            "addresses": {
                "private": [
                    {
                        "addr": "192.168.0.3",
                        "version": 4
                    }
                ]
            },
            "created": "2013-01-30T13:26:51Z",
            "flavor": {
                "id": "1",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/flavors/1",
                        "rel": "bookmark"
                    }
                ]
            },
            "hostId": "60c988a84401fa15888a32833e5848e9caa99a45778310ba7b363165",
            "id": "3dbf5b00-dabc-41ff-b6ab-4409568fae9d",
            "image": {
                "id": "70a599e0-31e7-49b7-b260-868f441e862b",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                        "rel": "bookmark"
                    }
                ]
            },
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/servers/3dbf5b00-dabc-41ff-b6ab-4409568fae9d",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/servers/3dbf5b00-dabc-41ff-b6ab-4409568fae9d",
                    "rel": "bookmark"
                }
            ],
            "metadata": {
                "My Server Name": "Apache1"
            },
            "name": "new-server-test",
            "progress": 0,
            "status": "ACTIVE",
            "tenant_id": "openstack",
            "updated": "2013-01-30T13:26:52Z",
            "user_id": "admin"
        }
    ]
}

This operation does not require a request body.

Image Size

Lists details for available images or gets details for a specified image. Includes the OS-EXT-IMG-SIZE:size extended attribute, which shows the image size.

GET
v2/{tenant_id}/v2/images/detail

Lists details for available images. Includes the image size.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<images
  xmlns:OS-EXT-IMG-SIZE="http://docs.openstack.org/compute/ext/image_size/api/v1.1"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns="http://docs.openstack.org/compute/api/v1.1">
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z"
    name="fakeimage7" created="2011-01-01T01:02:03Z" minDisk="0"
    progress="100" minRam="0"
    id="70a599e0-31e7-49b7-b260-868f441e862b"
    OS-EXT-IMG-SIZE:size="74185822">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="auto_disk_config">True</meta>
      <meta key="ramdisk_id">nokernel</meta>
      <meta key="architecture">x86_64</meta>
    </metadata>
    <atom:link
      href="http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b"
      rel="self"/>
    <atom:link
      href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b"
      rel="bookmark"/>
    <atom:link
      href="http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b"
      type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z"
    name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0"
    progress="100" minRam="0"
    id="155d900f-4e14-4e4c-a73d-069cbf4541e6"
    OS-EXT-IMG-SIZE:size="25165824">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
      <meta key="architecture">x86_64</meta>
    </metadata>
    <atom:link
      href="http://openstack.example.com/v2/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6"
      rel="self"/>
    <atom:link
      href="http://openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6"
      rel="bookmark"/>
    <atom:link
      href="http://glance.openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6"
      type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z"
    name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0"
    progress="100" minRam="0"
    id="a2459075-d96c-40d5-893e-577ff92e721c"
    OS-EXT-IMG-SIZE:size="58145823">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
    </metadata>
    <atom:link
      href="http://openstack.example.com/v2/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c"
      rel="self"/>
    <atom:link
      href="http://openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c"
      rel="bookmark"/>
    <atom:link
      href="http://glance.openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c"
      type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z"
    name="fakeimage6" created="2011-01-01T01:02:03Z" minDisk="0"
    progress="100" minRam="0"
    id="a440c04b-79fa-479c-bed1-0b816eaec379"
    OS-EXT-IMG-SIZE:size="49163826">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="auto_disk_config">False</meta>
      <meta key="ramdisk_id">nokernel</meta>
      <meta key="architecture">x86_64</meta>
    </metadata>
    <atom:link
      href="http://openstack.example.com/v2/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379"
      rel="self"/>
    <atom:link
      href="http://openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379"
      rel="bookmark"/>
    <atom:link
      href="http://glance.openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379"
      type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z"
    name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0"
    progress="100" minRam="0"
    id="c905cedb-7281-47e4-8a62-f26bc5fc4c77"
    OS-EXT-IMG-SIZE:size="26360814">
    <metadata>
      <meta key="kernel_id"
        >155d900f-4e14-4e4c-a73d-069cbf4541e6</meta>
      <meta key="ramdisk_id">None</meta>
    </metadata>
    <atom:link
      href="http://openstack.example.com/v2/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77"
      rel="self"/>
    <atom:link
      href="http://openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77"
      rel="bookmark"/>
    <atom:link
      href="http://glance.openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77"
      type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z"
    name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0"
    progress="100" minRam="0"
    id="cedef40a-ed67-4d10-800e-17455edce175"
    OS-EXT-IMG-SIZE:size="84035174">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
    </metadata>
    <atom:link
      href="http://openstack.example.com/v2/openstack/images/cedef40a-ed67-4d10-800e-17455edce175"
      rel="self"/>
    <atom:link
      href="http://openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175"
      rel="bookmark"/>
    <atom:link
      href="http://glance.openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175"
      type="application/vnd.openstack.image" rel="alternate"/>
  </image>
  <image status="ACTIVE" updated="2011-01-01T01:02:03Z"
    name="fakeimage123456" created="2011-01-01T01:02:03Z" minDisk="0"
    progress="100" minRam="0"
    id="76fa36fc-c930-4bf3-8c8a-ea2a2420deb6"
    OS-EXT-IMG-SIZE:size="83594576">
    <metadata>
      <meta key="kernel_id">nokernel</meta>
      <meta key="ramdisk_id">nokernel</meta>
    </metadata>
    <atom:link
      href="http://openstack.example.com/v2/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6"
      rel="self"/>
    <atom:link
      href="http://openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6"
      rel="bookmark"/>
    <atom:link
      href="http://glance.openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6"
      type="application/vnd.openstack.image" rel="alternate"/>
  </image>
</images>
Response: JSON
{
    "images": [
        {
            "OS-EXT-IMG-SIZE:size": "74185822",
            "created": "2011-01-01T01:02:03Z",
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "architecture": "x86_64",
                "auto_disk_config": "True",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage7",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "25165824",
            "created": "2011-01-01T01:02:03Z",
            "id": "155d900f-4e14-4e4c-a73d-069cbf4541e6",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/155d900f-4e14-4e4c-a73d-069cbf4541e6",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "architecture": "x86_64",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "58145823",
            "created": "2011-01-01T01:02:03Z",
            "id": "a2459075-d96c-40d5-893e-577ff92e721c",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/a2459075-d96c-40d5-893e-577ff92e721c",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "49163826",
            "created": "2011-01-01T01:02:03Z",
            "id": "a440c04b-79fa-479c-bed1-0b816eaec379",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/a440c04b-79fa-479c-bed1-0b816eaec379",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "architecture": "x86_64",
                "auto_disk_config": "False",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage6",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "26360814",
            "created": "2011-01-01T01:02:03Z",
            "id": "c905cedb-7281-47e4-8a62-f26bc5fc4c77",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/c905cedb-7281-47e4-8a62-f26bc5fc4c77",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "155d900f-4e14-4e4c-a73d-069cbf4541e6",
                "ramdisk_id": null
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "84035174",
            "created": "2011-01-01T01:02:03Z",
            "id": "cedef40a-ed67-4d10-800e-17455edce175",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/cedef40a-ed67-4d10-800e-17455edce175",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        },
        {
            "OS-EXT-IMG-SIZE:size": "83594576",
            "created": "2011-01-01T01:02:03Z",
            "id": "76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/images/76fa36fc-c930-4bf3-8c8a-ea2a2420deb6",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "metadata": {
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "minDisk": 0,
            "minRam": 0,
            "name": "fakeimage123456",
            "progress": 100,
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z"
        }
    ]
}

This operation does not require a request body.

GET
v2/{tenant_id}/v2/images/{image_id}

Gets details for a specified image. Includes the image size.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

image_id

Image ID stored through the image API. Typically a UUID.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<image
  xmlns:OS-EXT-IMG-SIZE="http://docs.openstack.org/compute/ext/image_size/api/v1.1"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE"
  updated="2011-01-01T01:02:03Z" name="fakeimage7"
  created="2011-01-01T01:02:03Z" minDisk="0" progress="100" minRam="0"
  id="70a599e0-31e7-49b7-b260-868f441e862b"
  OS-EXT-IMG-SIZE:size="74185822">
  <metadata>
    <meta key="kernel_id">nokernel</meta>
    <meta key="auto_disk_config">True</meta>
    <meta key="ramdisk_id">nokernel</meta>
    <meta key="architecture">x86_64</meta>
  </metadata>
  <atom:link
    href="http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b"
    rel="self"/>
  <atom:link
    href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b"
    rel="bookmark"/>
  <atom:link
    href="http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b"
    type="application/vnd.openstack.image" rel="alternate"/>
</image>
Response: JSON
{
    "image": {
        "OS-EXT-IMG-SIZE:size": "74185822",
        "created": "2011-01-01T01:02:03Z",
        "id": "70a599e0-31e7-49b7-b260-868f441e862b",
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                "rel": "bookmark"
            },
            {
                "href": "http://glance.openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                "rel": "alternate",
                "type": "application/vnd.openstack.image"
            }
        ],
        "metadata": {
            "architecture": "x86_64",
            "auto_disk_config": "True",
            "kernel_id": "nokernel",
            "ramdisk_id": "nokernel"
        },
        "minDisk": 0,
        "minRam": 0,
        "name": "fakeimage7",
        "progress": 100,
        "status": "ACTIVE",
        "updated": "2011-01-01T01:02:03Z"
    }
}

This operation does not require a request body.

Server IP Type

Shows the type of the IP addresses assigned to an instance. Type is either fixed or floating.

GET
v2/{tenant_id}/servers/{server_id}/action

Shows the type of IP assigned to a specified server, either fixed or floating.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

server_id

The UUID for the server of interest to you.

Server IPs Details Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:OS-EXT-IPS="http://docs.openstack.org/compute/ext/extended_ips/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2013-02-07T18:46:29Z" hostId="068cc5e2de14b6e533a239c6eac0a0bdedcd57cab25450a6d3da43af" name="new-server-test" created="2013-02-07T18:46:28Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="22e7cf4d-ab7a-4a3d-9599-7d0dbaf9ed55">
  <image id="70a599e0-31e7-49b7-b260-868f441e862b">
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  </image>
  <flavor id="1">
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="private">
      <ip OS-EXT-IPS:type="fixed" version="4" addr="192.168.0.3"/>
    </network>
  </addresses>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/22e7cf4d-ab7a-4a3d-9599-7d0dbaf9ed55" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/22e7cf4d-ab7a-4a3d-9599-7d0dbaf9ed55" rel="bookmark"/>
</server>
Server IPs Details Response: JSON
{
    "server": {
        "accessIPv4": "",
        "accessIPv6": "",
        "addresses": {
            "private": [
                {
                    "OS-EXT-IPS:type": "fixed",
                    "addr": "192.168.0.3",
                    "version": 4
                }
            ]
        },
        "created": "2013-02-07T18:46:28Z",
        "flavor": {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ]
        },
        "hostId": "4e2003eddbfdb1280c2618d04090bcdd6773203b8da8347af0b2723d",
        "id": "dc7281f9-ee47-40b9-9950-9f73e7961caa",
        "image": {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                }
            ]
        },
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/dc7281f9-ee47-40b9-9950-9f73e7961caa",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/dc7281f9-ee47-40b9-9950-9f73e7961caa",
                "rel": "bookmark"
            }
        ],
        "metadata": {
            "My Server Name": "Apache1"
        },
        "name": "new-server-test",
        "progress": 0,
        "status": "ACTIVE",
        "tenant_id": "openstack",
        "updated": "2013-02-07T18:46:29Z",
        "user_id": "fake"
    }
}

This operation does not require a request body.

GET
v2/{tenant_id}/servers/detail

Lists all servers showing their IPs by type, either fixed or floating.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Servers IPs Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<servers xmlns:OS-EXT-IPS="http://docs.openstack.org/compute/ext/extended_ips/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <server status="ACTIVE" updated="2013-02-07T18:40:59Z" hostId="51a80e6ee89b638b2cb57eb4e39d89a725e07c8a698f4d8e256f8665" name="new-server-test" created="2013-02-07T18:40:59Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="0337de6b-1d43-46c8-8804-35669f1dea9a">
    <image id="70a599e0-31e7-49b7-b260-868f441e862b">
      <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
    </image>
    <flavor id="1">
      <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
    </flavor>
    <metadata>
      <meta key="My Server Name">Apache1</meta>
    </metadata>
    <addresses>
      <network id="private">
        <ip OS-EXT-IPS:type="fixed" version="4" addr="192.168.0.3"/>
      </network>
    </addresses>
    <atom:link href="http://openstack.example.com/v2/openstack/servers/0337de6b-1d43-46c8-8804-35669f1dea9a" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/servers/0337de6b-1d43-46c8-8804-35669f1dea9a" rel="bookmark"/>
  </server>
</servers>
List Servers IPs Response: JSON
{
    "servers": [
        {
            "accessIPv4": "",
            "accessIPv6": "",
            "addresses": {
                "private": [
                    {
                        "OS-EXT-IPS:type": "fixed",
                        "addr": "192.168.0.3",
                        "version": 4
                    }
                ]
            },
            "created": "2013-02-07T18:40:59Z",
            "flavor": {
                "id": "1",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/flavors/1",
                        "rel": "bookmark"
                    }
                ]
            },
            "hostId": "fe866a4962fe3bdb6c2db9c8f7dcdb9555aca73387e72b5cb9c45bd3",
            "id": "76908712-653a-4d16-807e-d89d41435d24",
            "image": {
                "id": "70a599e0-31e7-49b7-b260-868f441e862b",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                        "rel": "bookmark"
                    }
                ]
            },
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/servers/76908712-653a-4d16-807e-d89d41435d24",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/servers/76908712-653a-4d16-807e-d89d41435d24",
                    "rel": "bookmark"
                }
            ],
            "metadata": {
                "My Server Name": "Apache1"
            },
            "name": "new-server-test",
            "progress": 0,
            "status": "ACTIVE",
            "tenant_id": "openstack",
            "updated": "2013-02-07T18:40:59Z",
            "user_id": "fake"
        }
    ]
}

This operation does not require a request body.

Server Extended Attributes

Shows metadata for servers.

GET
v2/servers

Shows detailed extended server attribute information for all servers.

 
Extended attributes for server detail Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<servers xmlns:OS-EXT-SRV-ATTR="http://docs.openstack.org/compute/ext/extended_status/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <server status="ACTIVE" updated="2012-11-15T19:27:06Z" hostId="b348a7376e2e61781829c9b45e63675aa0207632c25ce36c55a4fb2a" name="new-server-test" created="2012-11-15T19:27:06Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="3cadb9e9-f430-4f62-8b9b-3efb671ff1fa" OS-EXT-SRV-ATTR:instance_name="instance-00000001" OS-EXT-SRV-ATTR:host="2c4d049170fe409abc14942757d63a4e" OS-EXT-SRV-ATTR:hypervisor_hostname="fake-mini">
    <image id="70a599e0-31e7-49b7-b260-868f441e862b">
      <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
    </image>
    <flavor id="1">
      <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
    </flavor>
    <metadata>
      <meta key="My Server Name">Apache1</meta>
    </metadata>
    <addresses>
      <network id="private">
        <ip version="4" addr="192.168.0.3"/>
      </network>
    </addresses>
    <atom:link href="http://openstack.example.com/v2/openstack/servers/3cadb9e9-f430-4f62-8b9b-3efb671ff1fa" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/servers/3cadb9e9-f430-4f62-8b9b-3efb671ff1fa" rel="bookmark"/>
  </server>
</servers>
Extended attributes for server detail Response: JSON
{
    "servers": [
        {
            "OS-EXT-SRV-ATTR:host": "dd99797793774612b081a8be19bf721a",
            "OS-EXT-SRV-ATTR:hypervisor_hostname": "fake-mini",
            "OS-EXT-SRV-ATTR:instance_name": "instance-00000001",
            "accessIPv4": "",
            "accessIPv6": "",
            "addresses": {
                "private": [
                    {
                        "addr": "192.168.0.3",
                        "version": 4
                    }
                ]
            },
            "created": "2012-11-15T19:27:05Z",
            "flavor": {
                "id": "1",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/flavors/1",
                        "rel": "bookmark"
                    }
                ]
            },
            "hostId": "146245c049213a54b8c2352751518fcb4c2befd1b942b45a5a705d35",
            "id": "e0c3563a-84ef-4d0b-bb80-23392cd23882",
            "image": {
                "id": "70a599e0-31e7-49b7-b260-868f441e862b",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                        "rel": "bookmark"
                    }
                ]
            },
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/servers/e0c3563a-84ef-4d0b-bb80-23392cd23882",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/servers/e0c3563a-84ef-4d0b-bb80-23392cd23882",
                    "rel": "bookmark"
                }
            ],
            "metadata": {
                "My Server Name": "Apache1"
            },
            "name": "new-server-test",
            "progress": 0,
            "status": "ACTIVE",
            "tenant_id": "openstack",
            "updated": "2012-11-15T19:27:05Z",
            "user_id": "fake"
        }
    ]
}

This operation does not require a request body.

GET
v2/servers/{server_id}

Shows extended server attributes for a specified server.

 
Extended attributes for server show Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:OS-EXT-SRV-ATTR="http://docs.openstack.org/compute/ext/extended_status/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2012-11-15T19:27:06Z" hostId="6b8205d183f40afad106dbeac44d3872151ef6f36790077ea2ea85fc" name="new-server-test" created="2012-11-15T19:27:05Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="ece641c1-51f5-4190-9342-d9751f28eead" OS-EXT-SRV-ATTR:instance_name="instance-00000001" OS-EXT-SRV-ATTR:host="80edfa5af48b4894b20eb1d9d2d4424e" OS-EXT-SRV-ATTR:hypervisor_hostname="fake-mini">
  <image id="70a599e0-31e7-49b7-b260-868f441e862b">
    <atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
  </image>
  <flavor id="1">
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="private">
      <ip version="4" addr="192.168.0.3"/>
    </network>
  </addresses>
  <atom:link href="http://openstack.example.com/v2/openstack/servers/ece641c1-51f5-4190-9342-d9751f28eead" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/servers/ece641c1-51f5-4190-9342-d9751f28eead" rel="bookmark"/>
</server>
Extended attributes for server show Response: JSON
{
    "server": {
        "OS-EXT-SRV-ATTR:host": "1169a68456af48238da47b1d5957a714",
        "OS-EXT-SRV-ATTR:hypervisor_hostname": "fake-mini",
        "OS-EXT-SRV-ATTR:instance_name": "instance-00000001",
        "accessIPv4": "",
        "accessIPv6": "",
        "addresses": {
            "private": [
                {
                    "addr": "192.168.0.3",
                    "version": 4
                }
            ]
        },
        "created": "2012-11-15T19:27:04Z",
        "flavor": {
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ]
        },
        "hostId": "2dfce43c41dd288cfac3a5b4251742b3bd2b37c12eb5927e757d9b4c",
        "id": "1fc2392e-5727-46af-bc21-317a4a3eb04c",
        "image": {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                }
            ]
        },
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/servers/1fc2392e-5727-46af-bc21-317a4a3eb04c",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/servers/1fc2392e-5727-46af-bc21-317a4a3eb04c",
                "rel": "bookmark"
            }
        ],
        "metadata": {
            "My Server Name": "Apache1"
        },
        "name": "new-server-test",
        "progress": 0,
        "status": "ACTIVE",
        "tenant_id": "openstack",
        "updated": "2012-11-15T19:27:04Z",
        "user_id": "fake"
    }
}

This operation does not require a request body.

Server Extended Status

Shows extended status information, vm_state, task_state, and power_state, in detailed server responses.

GET
v2/{tenant_id}/servers/{server_id}

Shows the extended status attributes - vm_state, power_state, and task_state - in the response for a specified server.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

server_id

The UUID for the server of interest to you.

Show Extended Status for Server Response: JSON
{
    "id": "52415800-8b69-11e0-9b19-734f6af67565",
    "tenant_id": "1234",
    "user_id": "5678",
    "name": "sample-server",
    "updated": "2010-10-10T12:00:00Z",
    "created": "2010-08-10T12:00:00Z",
    "hostId": "e4d909c290d0fb1ca068ffaddf22cbd0",
    "status": "BUILD",
    "progress": 60,
    "accessIPv4" : "67.23.10.132",
    "accessIPv6" : "::babe:67.23.10.132",
    "OS-EXT-STS:vm_state" : "building",
    "OS-EXT-STS:task_state" : "networking",
    "OS-EXT-STS:power_state" : "running",
    "image" : {
        "id": "52415800-8b69-11e0-9b19-734f6f006e54",
        "links": [
            {
                "rel": "self",
                "href": "http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
            },
            {
                "rel": "bookmark",
                "href": "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
            }
        ]
    },
    "flavor" : {
        "id": "52415800-8b69-11e0-9b19-734f216543fd",
        "links": [
            {
                "rel": "self",
                "href": "http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"
            },
            {
                "rel": "bookmark",
                "href": "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"
            }
        ]
    },
    "addresses": {
        "public" : [
            {
                "version": 4,
                "addr": "67.23.10.132"
            },
            {
                "version": 6,
                "addr": "::babe:67.23.10.132"
            },
            {
                "version": 4,
                "addr": "67.23.10.131"
            },
            {
                "version": 6,
                "addr": "::babe:4317:0A83"
            }
        ],
        "private" : [
            {
                "version": 4,
                "addr": "10.176.42.16"
            },
            {
                "version": 6,
                "addr": "::babe:10.176.42.16"
            }
        ]
    },
    "metadata": {
        "Server Label": "Web Head 1",
        "Image Version": "2.1"
    },
    "links": [
        {
            "rel": "self",
            "href": "http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f6af67565"
        },
        {
            "rel": "bookmark",
            "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f6af67565"
        }
    ]
},
{
    "id": "52415800-8b69-11e0-9b19-734f1f1350e5",
    "user_id": "5678",
    "name": "sample-server2",
    "tenant_id": "1234",
    "updated": "2010-10-10T12:00:00Z",
    "created": "2010-08-10T12:00:00Z",
    "hostId": "9e107d9d372bb6826bd81d3542a419d6",
    "status": "ACTIVE",
    "accessIPv4" : "67.23.10.133",
    "accessIPv6" : "::babe:67.23.10.133",
    "OS-EXT-SRV-ATTR:instance_name" : "instance-00000002",
    "OS-EXT-SRV-ATTR:host" : "other_compute_hostname",
    "image" : {
        "id": "52415800-8b69-11e0-9b19-734f5736d2a2",
        "links": [
            {
                "rel": "self",
                "href": "http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"
            },
            {
                "rel": "bookmark",
                "href": "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"
            }
        ]
    },
    "flavor" : {
        "id": "52415800-8b69-11e0-9b19-734f216543fd",
        "links": [
            {
                "rel": "self",
                "href": "http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"
            },
            {
                "rel": "bookmark",
                "href": "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"
            }
        ]
    }

This operation does not require a request body.

GET
v2/{tenant_id}/servers/detail

Shows the extended status attributes - vm_state, power_state, and task_state - in the detailed response for all servers.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

List Extended Status for Servers Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<servers
  xmlns:OS-EXT-STS="http://docs.openstack.org/compute/ext/extended_status/api/v1.1"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns="http://docs.openstack.org/compute/api/v1.1">
  <server status="ACTIVE" updated="2012-12-05T07:35:57Z"
    hostId="20171312b8f2c42b69b09360e08d7fe257b2e021107be687d0302a96"
    name="new-server-test" created="2012-12-05T07:35:56Z"
    userId="fake" tenantId="openstack" accessIPv4="" accessIPv6=""
    progress="0" id="085c76aa-a58f-45b8-ba78-4d1e541d5f89"
    OS-EXT-STS:vm_state="active" 
    OS-EXT-STS:task_state="None"
    OS-EXT-STS:power_state="1">
    <image id="70a599e0-31e7-49b7-b260-868f441e862b">
      <atom:link
        href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b"
        rel="bookmark"/>
    </image>
    <flavor id="1">
      <atom:link
        href="http://openstack.example.com/openstack/flavors/1"
        rel="bookmark"/>
    </flavor>
    <metadata>
      <meta key="My Server Name">Apache1</meta>
    </metadata>
    <addresses>
      <network id="private">
        <ip version="4" addr="192.168.0.3"/>
      </network>
    </addresses>
    <atom:link
      href="http://openstack.example.com/v2/openstack/servers/085c76aa-a58f-45b8-ba78-4d1e541d5f89"
      rel="self"/>
    <atom:link
      href="http://openstack.example.com/openstack/servers/085c76aa-a58f-45b8-ba78-4d1e541d5f89"
      rel="bookmark"/>
  </server>
</servers>
List Extended Status for Servers Response: JSON
{
    "servers": [
        {
            "OS-EXT-STS:power_state": 1,
            "OS-EXT-STS:task_state": null,
            "OS-EXT-STS:vm_state": "active",
            "accessIPv4": "",
            "accessIPv6": "",
            "addresses": {
                "private": [
                    {
                        "addr": "192.168.0.3",
                        "version": 4
                    }
                ]
            },
            "created": "2012-12-05T07:34:10Z",
            "flavor": {
                "id": "1",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/flavors/1",
                        "rel": "bookmark"
                    }
                ]
            },
            "hostId": "585aa01f94eca692eff9f77ffe3eab866d8a819e97397e28c5c7df12",
            "id": "030758aa-5c41-41c6-8fb4-29d44eb96a85",
            "image": {
                "id": "70a599e0-31e7-49b7-b260-868f441e862b",
                "links": [
                    {
                        "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
                        "rel": "bookmark"
                    }
                ]
            },
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/servers/030758aa-5c41-41c6-8fb4-29d44eb96a85",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/servers/030758aa-5c41-41c6-8fb4-29d44eb96a85",
                    "rel": "bookmark"
                }
            ],
            "metadata": {
                "My Server Name": "Apache1"
            },
            "name": "new-server-test",
            "progress": 0,
            "status": "ACTIVE",
            "tenant_id": "openstack",
            "updated": "2012-12-05T07:34:10Z",
            "user_id": "fake"
        }
    ]
}

This operation does not require a request body.

Fixed IPs

Shows data for a specified fixed IP, such as host name, CIDR, and address. Also, reserves or frees a fixed IP.

GET
v2/{tenant_id}/os-fixed-ips/{fixed_ip}

Gets data about a specified fixed IP address.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

fixed_ip

The fixed IP of interest to you.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<fixed_ip>
  <cidr>192.168.1.0/24</cidr>
  <hostname>openstack</hostname>
  <host>7fae168ed18140d5a785ade2ac1bd420</host>
  <address>192.168.1.1</address>
</fixed_ip>
Response: JSON
{
    "fixed_ip": {
        "address": "192.168.1.1",
        "cidr": "192.168.1.0/24",
        "host": "7fae168ed18140d5a785ade2ac1bd420",
        "hostname": "openstack"
    }
}

This operation does not require a request body.

POST
v2/{tenant_id}/os-fixed-ips/{fixed_ip}/action

Reserves a fixed IP.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

fixed_ip

The fixed IP of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<reserve>192.168.1.1</reserve>
Request: JSON
{
    "reserve": "192.168.1.1"
}

This operation does not return a response body.

POST
v2/{tenant_id}/os-fixed-ips/{fixed_ip}/action

Unreserves a fixed IP.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

fixed_ip

The fixed IP of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<unreserve>192.168.1.1</unreserve>
Request: JSON
{
    "unreserve": "192.168.1.1"
}

This operation does not return a response body.

Flavor Access

Creates and gets details for private flavors. Also, lists, adds and removes tenants' access to private flavors.

GET
v2/{tenant_id}/flavors

Lists all flavors. Includes the access type, which is public or private.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavors xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
  <flavor disk="0" vcpus="1" ram="512" name="m1.tiny" id="1" os-flavor-access:is_public="True">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/1" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
  </flavor>
  <flavor disk="20" vcpus="1" ram="2048" name="m1.small" id="2" os-flavor-access:is_public="True">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/2" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/2" rel="bookmark"/>
  </flavor>
  <flavor disk="40" vcpus="2" ram="4096" name="m1.medium" id="3" os-flavor-access:is_public="True">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/3" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/3" rel="bookmark"/>
  </flavor>
  <flavor disk="80" vcpus="4" ram="8192" name="m1.large" id="4" os-flavor-access:is_public="True">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/4" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/4" rel="bookmark"/>
  </flavor>
  <flavor disk="160" vcpus="8" ram="16384" name="m1.xlarge" id="5" os-flavor-access:is_public="True">
    <atom:link href="http://openstack.example.com/v2/openstack/flavors/5" rel="self"/>
    <atom:link href="http://openstack.example.com/openstack/flavors/5" rel="bookmark"/>
  </flavor>
</flavors>
Response: JSON
{
    "flavors": [
        {
            "disk": 0,
            "id": "1",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.tiny",
            "os-flavor-access:is_public": true,
            "ram": 512,
            "vcpus": 1
        },
        {
            "disk": 20,
            "id": "2",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/2",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/2",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.small",
            "os-flavor-access:is_public": true,
            "ram": 2048,
            "vcpus": 1
        },
        {
            "disk": 40,
            "id": "3",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/3",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/3",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.medium",
            "os-flavor-access:is_public": true,
            "ram": 4096,
            "vcpus": 2
        },
        {
            "disk": 80,
            "id": "4",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/4",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/4",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.large",
            "os-flavor-access:is_public": true,
            "ram": 8192,
            "vcpus": 4
        },
        {
            "disk": 160,
            "id": "5",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/flavors/5",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/flavors/5",
                    "rel": "bookmark"
                }
            ],
            "name": "m1.xlarge",
            "os-flavor-access:is_public": true,
            "ram": 16384,
            "vcpus": 8
        }
    ]
}

This operation does not require a request body.

POST
v2/{tenant_id}/flavors

Creates a private flavor.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

Request: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns="http://docs.openstack.org/compute/api/v1.1"
   xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v1.1"
   name="test_flavor"
   ram="1024"
   vcpus="2"
   disk="10"
   id="10"
   os-flavor-access:is_public="False"
/>
Request: JSON
{
    "flavor": {
        "name": "test_flavor",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": "10",
        "os-flavor-access:is_public": false
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10" vcpus="2" ram="1024" name="test_flavor" id="10" os-flavor-access:is_public="False">
  <atom:link href="http://openstack.example.com/v2/openstack/flavors/10" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/flavors/10" rel="bookmark"/>
</flavor>
Response: JSON
{
    "flavor": {
        "disk": 10,
        "id": "10",
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/flavors/10",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/flavors/10",
                "rel": "bookmark"
            }
        ],
        "name": "test_flavor",
        "os-flavor-access:is_public": false,
        "ram": 1024,
        "vcpus": 2
    }
}
GET
v2/{tenant_id}/flavors/{flavor_id}

Gets the flavor access type, which is either public or private.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

The ID of the flavor of interest to you.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:os-flavor-access="http://docs.openstack.org/compute/ext/flavor_access/api/v2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" disk="0" vcpus="1" ram="512" name="m1.tiny" id="1" os-flavor-access:is_public="True">
  <atom:link href="http://openstack.example.com/v2/openstack/flavors/1" rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
</flavor>
Response: JSON
{
    "flavor": {
        "disk": 0,
        "id": "1",
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/flavors/1",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/flavors/1",
                "rel": "bookmark"
            }
        ],
        "name": "m1.tiny",
        "os-flavor-access:is_public": true,
        "ram": 512,
        "vcpus": 1
    }
}

This operation does not require a request body.

GET
v2/{tenant_id}/flavors/{flavor_id}/os-flavor-access

Lists tenants with access to the specified private flavor.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

The ID of the flavor of interest to you.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavor_access>
  <access tenant_id="admin" flavor_id="10"/>
</flavor_access>
Response: JSON
{
    "flavor_access": [
        {
            "flavor_id": "10",
            "tenant_id": "admin"
        }
    ]
}

This operation does not require a request body.

POST
v2/{tenant_id}/flavors/{flavor_id}/action

Gives the specified tenant access to the specified private flavor.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

The ID of the flavor of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<addTenantAccess>
   <tenant>admin</tenant>
</addTenantAccess>
Request: JSON
{
    "addTenantAccess": {
        "tenant": "admin"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavor_access>
  <access tenant_id="admin" flavor_id="10"/>
</flavor_access>
Response: JSON
{
    "flavor_access": [
        {
            "flavor_id": "10",
            "tenant_id": "admin"
        }
    ]
}
DELETE
v2/{tenant_id}/flavors/{flavor_id}/action

Revokes access from the specified tenant for the specified private flavor.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

The ID of the flavor of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<removeTenantAccess>
   <tenant>admin</tenant>
</removeTenantAccess>
Request: JSON
{
    "removeTenantAccess": {
        "tenant": "admin"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavor_access/>
Response: JSON
{
    "flavor_access": []
}

Flavor Extra-Specs

Lists, creates, and updates the extra-specs or keys for a flavor.

GET
v2/{tenant_id}/flavors/{flavor_id}/os-extra_specs

Lists the extra-specs or keys for the specified flavor.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

The ID of the flavor of interest to you.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<extra_specs>
  <key2>value2</key2>
  <key1>value1</key1>
</extra_specs>
Response: JSON
{
    "extra_specs": {
        "key1": "value1",
        "key2": "value2"
    }
}

This operation does not require a request body.

POST
v2/{tenant_id}/flavors/{flavor_id}/os-extra_specs

Creates extra-specs or keys for the specified flavor.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

The ID of the flavor of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8" ?>
<extra_specs>
    <key1>value1</key1>
    <key2>value2</key2>
</extra_specs>
Request: JSON
{
    "extra_specs": {
        "key1": "value1",
        "key2": "value2"
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<extra_specs>
  <key2>value2</key2>
  <key1>value1</key1>
</extra_specs>
Response: JSON
{
    "extra_specs": {
        "key1": "value1",
        "key2": "value2"
    }
}
POST
v2/{tenant_id}/flavors/{flavor_id}/os-extra_specs

Updates the value of the specified extra-spec or key.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

The ID of the flavor of interest to you.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
    <key1>new_value1</key1>
Request: JSON
{
    "key1": "new_value1"
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<extra_spec key="key1">new_value1</extra_spec>
Response: JSON
{
    "key1": "new_value1"
}
GET
v2/{tenant_id}/flavors/{flavor_id}/os-extra_specs/{key_id}

Gets the value of the specified key.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

The ID of the flavor of interest to you.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<extra_spec key="key1">value1</extra_spec>
Response: JSON
{
    "key1": "value1"
}

This operation does not require a request body.

Flavors with rxtx_factor Extended Attribute

Creates a flavor, gets details for a specified flavor, and lists details for available flavors. Includes the rxtx_factor extended attribute, related to configured bandwidth cap values.

POST
v2/{tenant_id}/flavors

Creates a flavor. Includes the rxtx_factor extended attribute.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

name

The name for the new flavor.

ram

The amount of RAM, in MBs, for the flavor.

vcpus

The virtual CPUs, as a whole integer, for the flavor.

disk

The amount of disk space, in GBs.

id

The ID for the flavor, which is a unique integer value.

rxtx_factor

Enables you to override the bandwidth cap value, which defaults to the bandwidth cap value for the network to which the flavor is attached. The new bandwidth cap is calculated by multiplying the rxtx_factor valued that you specify by the rxtx_base property for the network.

Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<flavor xmlns="http://docs.openstack.org/compute/api/v1.1"
    xmlns:OS-FLV-EXT-DATA="http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1"
    name="flavortest" ram="1024" vcpus="2" disk="10" id="100"
    rxtx_factor="2.0"/>
Request: JSON
{
    "flavor": {
        "name": "flavortest",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": "100",
        "rxtx_factor": 2.0
    }
}
Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns="http://docs.openstack.org/compute/api/v1.1" disk="10"
  vcpus="2" ram="1024" name="flavortest" id="100" rxtx_factor="2.0">
  <atom:link
    href="http://openstack.example.com/v2/openstack/flavors/100"
    rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/flavors/100"
    rel="bookmark"/>
</flavor>
Response: JSON
{
    "flavor": {
        "disk": 10,
        "id": "100",
        "links": [
            {
                "href": "http://openstack.example.com/v2/openstack/flavors/100",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/openstack/flavors/100",
                "rel": "bookmark"
            }
        ],
        "name": "flavortest",
        "ram": 1024,
        "rxtx_factor": 2.0,
        "vcpus": 2
    }
}
GET
v2/{tenant_id}/flavors/{flavor_id}

Gets details for a specified flavor. Includes the rxtx_factor extended attribute.

 
Request parameters
Parameter Description
tenant_id

The ID for the tenant or account in a multi-tenancy cloud.

flavor_id

The flavor ID.

Response: XML
<?xml version='1.0' encoding='UTF-8'?>
<flavor xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns="http://docs.openstack.org/compute/api/v1.1" disk="0"
  vcpus="1" ram="512" name="m1.tiny" id="1" rxtx_factor="1.0">
  <atom:link
    href="http://openstack.example.com/v2/openstack/flavors/1"
    rel="self"/>
  <atom:link href="http://openstack.example.com/openstack/flavors/1"
    rel="bookmark"/&g