OpenStack API Reference

OpenStack API Reference

The OpenStack system has several key projects that are separate installations but can work together depending on your cloud needs: OpenStack Compute, OpenStack Object Storage, OpenStack Identity Service, and OpenStack Image Service.

This page covers the basics for working with your OpenStack cloud through the Compute API and Image API after authorizing with the Identity Service API. You can build a cloud by launching images and assigning metadata to instances, all through an API. See the API Quick Start Guide for details about using the APIs referenced here, and go to docs.openstack.org/api for specifications of each API.

Identity

With the Identity API, you obtain a token that lasts 24 hours so you can gain access to the Compute API. The version of the Identity API is 2.0.

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

With the Compute API, you launch virtual machines based on the images uploaded to the system. You can reboot the server when needed, resize it larger or smaller, and connect to the server securely through SSH once it is started. The v1.1 API is identical to the v2 API.

GET
v1.1

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"?>
<version xmlns="http://docs.openstack.org/common/api/v1.0"
         xmlns:atom="http://www.w3.org/2005/Atom"
         id="v1.1" status="CURRENT" updated="2011-01-21T11:33:21-06:00">

     <media-types>
         <media-type base="application/xml"
            type="application/vnd.openstack.compute+xml;version=1.1"/>
         <media-type base="application/json"
            type="application/vnd.openstack.compute+json;version=1.1"/>
     </media-types>

     <atom:link rel="self"
                href="http://servers.api.openstack.org/v1.0/"/>

    <atom:link rel="describedby"
               type="application/pdf"
               href="http://docs.rackspacecloud.com/servers/api/v1.1/cs-devguide-20110125.pdf" />

    <atom:link rel="describedby"
               type="application/vnd.sun.wadl+xml"
               href="http://docs.rackspacecloud.com/servers/api/v1.1/application.wadl" />
</version>
Version Details Response: JSON
{
    "version" : {
        "id" : "v1.1",
        "status" : "CURRENT",
        "updated" : "2011-01-21T11:33:21-06:00",
        "links": [
            {
                "rel" : "self",
                "href" : "http://servers.api.openstack.org/v1.0/"
            },
            {
                "rel" : "describedby",
                "type" : "application/pdf",
                "href" : "http://docs.rackspacecloud.com/servers/api/v1.1/cs-devguide-20110125.pdf"
            },
            {
                "rel" : "describedby",
                "type" : "application/vnd.sun.wadl+xml",
                "href" : "http://docs.rackspacecloud.com/servers/api/v1.1/application.wadl"
            }
        ],
        "media-types": [
            {
                "base" : "application/xml",
                "type" : "application/vnd.openstack.compute+xml;version=1.1"
            },
            {
                "base" : "application/json",
                "type" : "application/vnd.openstack.compute+json;version=1.1"
            }
        ]
    }
}

This operation does not require a request body.

GET
v1.1/extensions

Lists all available extensions.

 
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="http://docs.openstack.org/common/api/v1.0"
            xmlns:atom="http://www.w3.org/2005/Atom">

    <extension
        name="Public Image Extension"
        namespace="http://docs.rackspacecloud.com/servers/api/ext/pie/v1.0"
        alias="RAX-PIE"
        updated="2011-01-22T13:25:27-06:00">

        <description>
            Adds the capability to share an
            image with other users.
        </description>

        <atom:link rel="describedby"
                   type="application/pdf"
                   href="http://docs.rackspacecloud.com/servers/api/ext/cs-pie-20111111.pdf"/>
        <atom:link rel="describedby"
                   type="application/vnd.sun.wadl+xml"
                   href="http://docs.rackspacecloud.com/servers/api/ext/cs-pie.wadl"/>
    </extension>

    <extension
        name="Cloud Block Storage"
        namespace="http://docs.rackspacecloud.com/servers/api/ext/cbs/v1.0"
        alias="RAX-CBS"
        updated="2011-01-12T11:22:33-06:00"
               >
        <description>
            Allows mounting cloud block
            storage volumes.
        </description>

        <atom:link rel="describedby"
                   type="application/pdf"
                   href="http://docs.rackspacecloud.com/servers/api/ext/cs-cbs-20111201.pdf"/>
        <atom:link rel="describedby"
                   type="application/vnd.sun.wadl+xml"
                   href="http://docs.rackspacecloud.com/servers/api/ext/cs-cbs.wadl"/>
    </extension>
</extensions>
List Extensions Response: JSON
{
    "extensions": [
        {
            "name": "Public Image Extension",
            "namespace": "http://docs.rackspacecloud.com/servers/api/ext/pie/v1.0",
            "alias": "RAX-PIE",
            "updated": "2011-01-22T13:25:27-06:00",
            "description": "Adds the capability to share an image with other users.",
            "links": [
                {
                    "rel": "describedby",
                    "type": "application/pdf",
                    "href": "http://docs.rackspacecloud.com/servers/api/ext/cs-pie-20111111.pdf"
                },
                {
                    "rel": "describedby",
                    "type": "application/vnd.sun.wadl+xml",
                    "href": "http://docs.rackspacecloud.com/servers/api/ext/cs-pie.wadl"
                }
            ]
        },
        {
            "name": "Cloud Block Storage",
            "namespace": "http://docs.rackspacecloud.com/servers/api/ext/cbs/v1.0",
            "alias": "RAX-CBS",
            "updated": "2011-01-12T11:22:33-06:00",
            "description": "Allows mounting cloud block storage volumes.",
            "links": [
                {
                    "rel": "describedby",
                    "type": "application/pdf",
                    "href": "http://docs.rackspacecloud.com/servers/api/ext/cs-cbs-20111201.pdf"
                },
                {
                    "rel": "describedby",
                    "type": "application/vnd.sun.wadl+xml",
                    "href": "http://docs.rackspacecloud.com/servers/api/ext/cs-cbs.wadl"
                }
            ]
        }
    ]
}

This operation does not require a request body.

GET
v1.1/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
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="Public Image Extension"
    namespace="http://docs.rackspacecloud.com/servers/api/ext/pie/v1.0"
    alias="RS-PIE"
    updated="2011-01-22T13:25:27-06:00">

    <description>
        Adds the capability to share an image with other users.
    </description>

    <atom:link
        rel="describedby"
        type="application/pdf"
        href="http://docs.rackspacecloud.com/servers/api/ext/cs-pie-20111111.pdf"/>

    <atom:link
        rel="describedby"
        type="application/vnd.sun.wadl+xml"
        href="http://docs.rackspacecloud.com/servers/api/ext/cs-pie.wadl"/>
</extension>
Get Extension Response: JSON
{
    "extension" : {
        "name" : "Public Image Extension",
        "namespace" : "http://docs.rackspacecloud.com/servers/api/ext/pie/v1.0",
        "alias" : "RS-PIE",
        "updated" : "2011-01-22T13:25:27-06:00",
        "description" : "Adds the capability to share an image with other users.",
        "links" : [
            {
                "rel" : "describedby",
                "type" : "application/pdf",
                "href" : "http://docs.rackspacecloud.com/servers/api/ext/cs-pie-20111111.pdf"
            },
            {
                "rel" : "describedby",
                "type" : "application/vnd.sun.wadl+xml",
                "href" : "http://docs.rackspacecloud.com/servers/api/ext/cs-pie.wadl"
            }
        ]
    }
}

This operation does not require a request body.

GET
v1.1/{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="http://docs.openstack.org/common/api/v1.0">
  <rates>
      <rate uri="*" regex=".*">
          <limit value="10" verb="POST" remaining="2"
                 unit="MINUTE"
                 next-available="2011-12-15T22:42:45Z"/>
          <limit value="10" verb="PUT" remaining="2"
                 unit="MINUTE"
                 next-available="2011-12-15T22:42:45Z"/>
          <limit value="100" verb="DELETE" remaining="100"
                 unit="MINUTE"
                 next-available="2011-12-15T22:42:45Z"/>
      </rate>
      <rate uri="*changes-since*" regex="changes-since">
          <limit value="3" verb="GET" remaining="3"
                 unit="MINUTE"
                 next-available="2011-12-15T22:42:45Z"/>
      </rate>
      <rate uri="*/servers" regex="^/servers">
          <limit verb="POST" value="25" remaining="24"
                 unit="DAY"
                 next-available="2011-12-15T22:42:45Z"/>
      </rate>
  </rates>
  <absolute>
    <limit name="maxTotalRAMSize" value="51200"/>
    <limit name="maxServerMeta" value="5"/>
    <limit name="maxImageMeta" value="5"/>
    <limit name="maxPersonality" value="5"/>
    <limit name="maxPersonalitySize" value="10240"/>
  </absolute>
</limits>
List Limits Response: JSON
{
    "limits": {
        "rate": [
            {
                "uri": "*",
                "regex": ".*",
                "limit": [
                    {
                        "value": 10,
                        "verb": "POST",
                        "remaining": 2,
                        "unit": "MINUTE",
                        "next-available": "2011-12-15T22:42:45Z"
                    },
                    {
                        "value": 10,
                        "verb": "PUT",
                        "remaining": 2,
                        "unit": "MINUTE",
                        "next-available": "2011-12-15T22:42:45Z"
                    },
                    {
                        "value": 100,
                        "verb": "DELETE",
                        "remaining": 100,
                        "unit": "MINUTE",
                        "next-available": "2011-12-15T22:42:45Z"
                    }
                ]
            },
            {
                "uri": "*changes-since*",
                "regex": "changes-since",
                "limit": [
                    {
                        "value": 3,
                        "verb": "GET",
                        "remaining": 3,
                        "unit": "MINUTE",
                        "next-available": "2011-12-15T22:42:45Z"
                    }
                ]
            },
            {
                "uri": "*/servers",
                "regex": "^/servers",
                "limit": [
                    {
                        "verb": "POST",
                        "value": 25,
                        "remaining": 24,
                        "unit": "DAY",
                        "next-available": "2011-12-15T22:42:45Z"
                    }
                ]
            }
        ],
        "absolute": {
            "maxTotalRAMSize": 51200,
            "maxServerMeta": 5,
            "maxImageMeta": 5,
            "maxPersonality": 5,
            "maxPersonalitySize": 10240
        }
    }
}

This operation does not require a request body.

GET
v1.1/{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.

Response parameters
Parameter Description
servers

List of servers.

next (Optional)

Move to the next item in the list.

previous (Optional)

Move to the previous item in the list.

POST
v1.1/{tenant_id}/servers

Creates a new 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.

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://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
        flavorRef="52415800-8b69-11e0-9b19-734f1195ff37"
        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" : {
        "name" : "new-server-test",
        "imageRef" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
        "flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37",
        "metadata" : {
            "My Server Name" : "Apache1" 
        },
        "personality" : [
            {
                "path" : "/etc/banner.txt",
                "contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6 b25zLiINCg0KLVJpY2hhcmQgQmFjaA==" 
            } 
        ] 
    }
}
Create Server Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://docs.openstack.org/compute/api/v1.1"
        xmlns:atom="http://www.w3.org/2005/Atom"
        id="52415800-8b69-11e0-9b19-734f565bc83b" 
        tenant_id="1234" user_id="5678"
        name="new-server-test"
        hostId="e4d909c290d0fb1ca068ffaddf22cbd0" progress="0"
        status="BUILD" adminPass="GFf1j9aP"
        created="2010-11-11T12:00:00Z"
        accessIPv4="67.23.10.138"
        accessIPv6="::babe:67.23.10.138">
  <image id="52415800-8b69-11e0-9b19-734f6f006e54"
         name="CentOS 5.2">
      <atom:link
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
      <atom:link
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
  </image>
  <flavor id="52415800-8b69-11e0-9b19-734f1195ff37"
          name="256 MB Server">
      <atom:link
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
      <atom:link
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="public">
      <ip version="4" addr="67.23.10.138"/>
      <ip version="6" addr="::babe:67.23.10.138"/>
    </network>
    <network id="private">
      <ip version="4" addr="10.176.42.19"/>
      <ip version="6" addr="::babe:10.176.42.19"/>
    </network>
  </addresses>
  <atom:link
      rel="self"
      href="http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"/>
  <atom:link
      rel="bookmark"
      href="http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"/>
</server>
Create Server 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" : "67.23.10.138",
        "accessIPv6" : "::babe:67.23.10.138",
        "progress": 0,
        "status": "BUILD",
        "adminPass": "GFf1j9aP",
        "image" : {
            "id": "52415800-8b69-11e0-9b19-734f6f006e54",
            "name": "CentOS 5.2",
            "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-734f1195ff37",
            "name": "256 MB Server",
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                }
            ]
        },
        "metadata": {
            "My Server Name": "Apache1"
        },
        "addresses": {
            "public" : [
                {
                    "version": 4,
                    "addr": "67.23.10.138"
                },
                {
                    "version": 6,
                    "addr": "::babe:67.23.10.138"
                }
            ],
            "private" : [
                {
                    "version": 4,
                    "addr": "10.176.42.19"
                },
                {
                    "version": 6,
                    "addr": "::babe:10.176.42.19"
                }
            ]
        },
        "links": [
            {
                "rel": "self",
                "href": "http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
            },
            {
                "rel": "bookmark",
                "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
            }
        ]
    }
}
GET
v1.1/{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.

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="http://docs.openstack.org/compute/api/v1.1"
         xmlns:atom="http://www.w3.org/2005/Atom">
  <server id="52415800-8b69-11e0-9b19-734f6af67565"
          tenant_id="1234" user_id="5678"
          name="sample-server" status="BUILD" 
          progress="60" hostId="e4d909c290d0fb1ca068ffaddf22cbd0"
          updated="2010-10-10T12:00:00Z"
          created="2010-08-10T12:00:00Z"
          accessIPv4="67.23.10.132"
          accessIPv6="::babe:67.23.10.132"
          >
    <image id="52415800-8b69-11e0-9b19-734f6f006e54">
        <atom:link
            rel="self"
            href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
        <atom:link
            rel="bookmark"
            href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
    </image>
    <flavor id="52415800-8b69-11e0-9b19-734f216543fd">
        <atom:link
            rel="self"
            href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
        <atom:link
            rel="bookmark"
            href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
    </flavor>
    <metadata>
      <meta key="Server Label">Web Head 1</meta>
      <meta key="Image Version">2.1</meta>
    </metadata>
    <addresses>
        <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>
    <atom:link
        rel="self"
        href="http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f6af67565"/>
    <atom:link
        rel="bookmark"
        href="http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f6af67565"/>
  </server>
  <server id="52415800-8b69-11e0-9b19-734f1f1350e5"
          tenant_id="1234" user_id="5678"
          name="sample-server2"
          status="ACTIVE" hostId="9e107d9d372bb6826bd81d3542a419d6"
          updated="2010-10-10T12:00:00Z"
          created="2010-08-10T12:00:00Z"
          accessIPv4="67.23.10.133"
          accessIPv6="::babe:67.23.10.133"
          >
    <image id="52415800-8b69-11e0-9b19-734f5736d2a2">
        <atom:link 
            rel="self"
            href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"/>
        <atom:link 
            rel="bookmark"
            href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"/>
    </image>
    <flavor id="52415800-8b69-11e0-9b19-734f216543fd">
        <atom:link
            rel="self"
            href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
        <atom:link
            rel="bookmark"
            href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
    </flavor>
    <metadata>
      <meta key="Server Label">DB 1</meta>
    </metadata>
    <addresses>
      <network id="public">
          <ip version="4" addr="67.23.10.133"/>
          <ip version="6" addr="::babe:67.23.10.133"/>
      </network>
      <network id="private">
          <ip version="4" addr="10.176.42.17"/>
          <ip version="6" addr="::babe:10.176.42.17"/>
      </network>
    </addresses>
    <atom:link
        rel="self"
        href="http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f1f1350e5"/>
    <atom:link
        rel="bookmark"
        href="http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f1f1350e5"/>
  </server>

</servers>
List Detail Servers Response: JSON
{
    "servers": [
        {
            "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",
            "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",
            "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"
                    }
                ]
            },
            "addresses": {
                "public" : [
                    {
                        "version": 4,
                        "addr": "67.23.10.133"
                    },
                    {
                        "version": 6,
                        "addr": "::babe:67.23.10.133"
                    }
                ],
                "private" : [
                    {
                            "version": 4,
                        "addr": "10.176.42.17"
                    },
                    {
                        "version": 6,
                            "addr": "::babe:10.176.42.17"
                        }
                    ]
            },
            "metadata": {
                "Server Label": "DB 1"
            },
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f1f1350e5"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f1f1350e5"
                }
            ]
        }
    ]
}
GET
v1.1/{tenant_id}/servers/{server_id}

Lists details 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.

Get Server Details Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://docs.openstack.org/compute/api/v1.1"
        xmlns:atom="http://www.w3.org/2005/Atom"
        id="52415800-8b69-11e0-9b19-734f000004d2"
        tenant_id="1234" user_id="5678"
        name="sample-server" status="BUILD"
        updated="2010-10-10T12:00:00Z" created="2010-08-10T12:00:00Z"
        progress="60" hostId="e4d909c290d0fb1ca068ffaddf22cbd0"
        accessIPv4="67.23.10.132"
        accessIPv6="::babe:67.23.10.132">
    <image id="52415800-8b69-11e0-9b19-734f6f006e54">
        <atom:link
            rel="self"
            href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
        <atom:link
            rel="bookmark"
            href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
    </image>
    <flavor id="52415800-8b69-11e0-9b19-734f216543fd">
        <atom:link
            rel="self"
            href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
        <atom:link
            rel="bookmark"
            href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
    </flavor>
    <metadata>
        <meta key="Server Label">Web Head 1</meta>
        <meta key="Image Version">2.1</meta>
    </metadata>
    <addresses>
        <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>
    <atom:link
        rel="self"
        href="http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f000004d2"/>
    <atom:link
        rel="bookmark"
        href="http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f000004d2"/>
</server>
Get Server Details Response: JSON
{
    "server": {
        "id": "52415800-8b69-11e0-9b19-734f000004d2",
        "tenant_id": "1234",
        "user_id": "5678",
        "name": "sample-server",
        "updated": "2010-10-10T12:00:00Z",
        "created": "2010-08-10T12:00:00Z",
        "hostId": "e4d909c290d0fb1ca068ffaddf22cbd0",
        "accessIPv4" : "67.23.10.132",
        "accessIPv6" : "::babe:67.23.10.132",
        "status": "BUILD",
        "progress": 60,
        "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-734f000004d2"
            },
            {
                "rel": "bookmark",
                "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f000004d2"
            }
        ]
    }
}

This operation does not require a request body.

PUT
v1.1/{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="ss1293837$%^"/>
Update Server Name / Administrative Password Request: JSON
{
    "changePassword" : {
        "adminPass" : "ss1293837$%^"
    }
}
DELETE
v1.1/{tenant_id}/servers/{server_id}

Terminates 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.

POST
v1.1/{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="ss1293837$%^"/>
Change Password Request: JSON
{
    "changePassword" : {
        "adminPass" : "ss1293837$%^"
    }
}

This operation does not return a response body.

POST
v1.1/{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="HARD"/>
Reboot Server Request: JSON
{
    "reboot" : {
        "type" : "HARD" 
    }
}

This operation does not return a response body.

POST
v1.1/{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="newName"
    imageRef="https://servers.api.rackspacecloud.com/v1.1/32278/images/52415800-8b69-11e0-9b19-734f6f006e54"
    accessIPv4="172.19.0.1"
    accessIPv6="fe80::100"
    adminPass="GFf1j9aP">
  <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" : "https://servers.api.rackspacecloud.com/v1.1/32278/images/52415800-8b69-11e0-9b19-734f6f006e54",
        "name" : "newName",
        "adminPass" : "GFf1j9aP",
        "accessIPv4" : "172.19.0.1",
        "accessIPv6" : "fe80::100",
        "metadata" : {
            "My Server Name" : "Apache1" 
        },
        "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="http://docs.openstack.org/compute/api/v1.1"
        xmlns:atom="http://www.w3.org/2005/Atom"
        id="52415800-8b69-11e0-9b19-734f565bc83b" 
        tenant_id="1234" user_id="5678"
        name="newName"
        hostId="e4d909c290d0fb1ca068ffaddf22cbd0" progress="0"
        status="REBUILD" adminPass="GFf1j9aP"
        created="2010-11-11T12:00:00Z"
        accessIPv4="67.23.10.138"
        accessIPv6="::babe:67.23.10.138">
  <image id="52415800-8b69-11e0-9b19-734f6f006e54"
         name="CentOS 5.2">
      <atom:link
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
      <atom:link
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
  </image>
  <flavor id="52415800-8b69-11e0-9b19-734f1195ff37"
          name="256 MB Server">
      <atom:link
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
      <atom:link
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
  </flavor>
  <metadata>
    <meta key="My Server Name">Apache1</meta>
  </metadata>
  <addresses>
    <network id="public">
      <ip version="4" addr="67.23.10.138"/>
      <ip version="6" addr="::babe:67.23.10.138"/>
    </network>
    <network id="private">
      <ip version="4" addr="10.176.42.19"/>
      <ip version="6" addr="::babe:10.176.42.19"/>
    </network>
  </addresses>
  <atom:link
      rel="self"
      href="http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"/>
  <atom:link
      rel="bookmark"
      href="http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"/>
</server>
Rebuild Server Response: JSON
{
    "server": {
        "id": "52415800-8b69-11e0-9b19-734f565bc83b",
        "tenant_id": "1234",
        "user_id": "5678",
        "name": "newName",
        "created": "2010-11-11T12:00:00Z",
        "hostId": "e4d909c290d0fb1ca068ffaddf22cbd0",
        "accessIPv4" : "67.23.10.138",
        "accessIPv6" : "::babe:67.23.10.138",
        "progress": 0,
        "status": "REBUILD",
        "adminPass": "GFf1j9aP",
        "image" : {
            "id": "52415800-8b69-11e0-9b19-734f6f006e54",
            "name": "CentOS 5.2",
            "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-734f1195ff37",
            "name": "256 MB Server",
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                }
            ]
        },
        "metadata": {
            "My Server Name": "Apache1"
        },
        "addresses": {
            "public" : [
                {
                    "version": 4,
                    "addr": "67.23.10.138"
                },
                {
                    "version": 6,
                    "addr": "::babe:67.23.10.138"
                }
            ],
            "private" : [
                {
                    "version": 4,
                    "addr": "10.176.42.19"
                },
                {
                    "version": 6,
                    "addr": "::babe:10.176.42.19"
                }
            ]
        },
        "links": [
            {
                "rel": "self",
                "href": "http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
            },
            {
                "rel": "bookmark",
                "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
            }
        ]
    }
}
POST
v1.1/{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="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
Resize Server Request: JSON
{
    "resize" : {
        "flavorRef" : "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
    }
}

This operation does not return a response body.

POST
v1.1/{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
v1.1/{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
v1.1/{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.

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="new-image">
    <metadata>
        <meta key="ImageType">Gold</meta>
        <meta key="ImageVersion">2.0</meta>
    </metadata>
</createImage>
Create Image Request: JSON
{
    "createImage" : {
        "name" : "new-image",
        "metadata": {
            "ImageType": "Gold",
            "ImageVersion": "2.0"
        }
    }
}

This operation does not return a response body.

GET
v1.1/{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
v1.1/{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"}
        ]
    }
}
PUT
v1.1/{tenant_id}/servers/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.

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"?>

<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="Label">Web</meta>
    <meta key="Version">2.1</meta>
</metadata>
Create or Replace Metadata Request: JSON
{
    "metadata" :  {
            "Label" : "Web",
            "Version" : "2.1"
        }
}
Create or Replace Metadata Response: XML
<?xml version="1.0" encoding="UTF-8"?>

<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="Label">Web</meta>
    <meta key="Version">2.1</meta>
</metadata>
Create or Replace Metadata Response: JSON
{
    "metadata" :  {
            "Label" : "Web",
            "Version" : "2.1"
        }
}
POST
v1.1/{tenant_id}/servers/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.

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="Label">Web2</meta>
</metadata>
Update Metadata Request: JSON
{
    "metadata" : {
            "Label" : "Web2"
        }
}
Update Metadata Response: XML
<?xml version="1.0" encoding="UTF-8"?>

<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="Label">Web2</meta>
    <meta key="Version">2.1</meta>
</metadata>
Update Metadata Response: JSON
{
    "metadata" : {
            "Label" : "Web2",
            "Version" : "2.1"
        }
}
GET
v1.1/{tenant_id}/servers/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.

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="Label">Web</meta>
    <meta key="Version">2.1</meta>
</metadata>
List Metadata Response: JSON
{
    "metadata" :  {
            "Label" : "Web",
            "Version" : "2.1"
        }
}

This operation does not require a request body.

GET
v1.1/{tenant_id}/servers/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.

key

A string no longer than 255 characters.

Get Metadata Item Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<meta
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    key="Label">Web</meta>
Get Metadata Item Response: JSON
{
    "meta" : {
            "Label" : "Web"
        } 
}

This operation does not require a request body.

PUT
v1.1/{tenant_id}/servers/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.

key

A string no longer than 255 characters.

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

Deletes a metadata item.

 
Request parameters
Parameter Description
tenant_id

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

key

A string no longer than 255 characters.

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

GET
v1.1/images

Lists IDs, names, and links for available images.

 
Request parameters
Parameter Description
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="http://docs.openstack.org/compute/api/v1.1"
        xmlns:atom="http://www.w3.org/2005/Atom">
  <image id="52415800-8b69-11e0-9b19-734f6f006e54"
         name="CentOS 5.2"
         updated="2010-10-10T12:00:00Z"
         created="2010-08-10T12:00:00Z"
         tenant_id="12345"
         user_id="joe"
         status="ACTIVE">
    <metadata>
        <meta key="ImageType">Gold</meta>
        <meta key="ImageVersion">1.5</meta>
    </metadata>
    <atom:link
        rel="self"
        href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
    <atom:link
        rel="bookmark"
        href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
  </image>
  <image
      id="52415800-8b69-11e0-9b19-734f5736d2a2"
      name="My Server Backup"
      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">
      <server id="52415800-8b69-11e0-9b19-734f335aa7b3">
          <atom:link
              rel="self"
              href="http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"/>
          <atom:link
              rel="bookmark"
              href="http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"/>
      </server>
      <atom:link 
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"/>
      <atom:link 
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"/>
  </image>
</images>
List Images Response: JSON
{
    "images": [
        {
            "id": "52415800-8b69-11e0-9b19-734f6f006e54",
            "name": "CentOS 5.2",
            "updated": "2010-10-10T12:00:00Z",
            "created": "2010-08-10T12:00:00Z",
            "tenant_id" : "12345",
            "user_id" : "joe", 
            "status": "ACTIVE",
            "metadata": {
                "ImageType": "Gold",
                "ImageVersion": "1.5"
            },
            "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"
                }
            ]
        },
        {
            "id" : "52415800-8b69-11e0-9b19-734f5736d2a2",
            "name" : "My Server Backup",
            "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,
            "server" : {
                "id": "52415800-8b69-11e0-9b19-734f335aa7b3",
                "links": [
                    {
                        "rel": "self",
                        "href": "http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"
                    },
                    {
                        "rel": "bookmark",
                        "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"
                    }
                ]
            },
            "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"
                }
            ]}]}
GET
v1.1/images/detail

Lists all details for available images.

 
Request parameters
Parameter Description
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="http://docs.openstack.org/compute/api/v1.1"
        xmlns:atom="http://www.w3.org/2005/Atom">
  <image id="52415800-8b69-11e0-9b19-734f6f006e54"
         name="CentOS 5.2"
         updated="2010-10-10T12:00:00Z"
         created="2010-08-10T12:00:00Z"
         tenant_id="12345"
         user_id="joe"
         status="ACTIVE">
    <metadata>
        <meta key="ImageType">Gold</meta>
        <meta key="ImageVersion">1.5</meta>
    </metadata>
    <atom:link
        rel="self"
        href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
    <atom:link
        rel="bookmark"
        href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"/>
  </image>
  <image
      id="52415800-8b69-11e0-9b19-734f5736d2a2"
      name="My Server Backup"
      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">
      <server id="52415800-8b69-11e0-9b19-734f335aa7b3">
          <atom:link
              rel="self"
              href="http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"/>
          <atom:link
              rel="bookmark"
              href="http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"/>
      </server>
      <atom:link 
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"/>
      <atom:link 
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"/>
  </image>
</images>
List Detail Images Response: JSON
{
    "images": [
        {
            "id": "52415800-8b69-11e0-9b19-734f6f006e54",
            "name": "CentOS 5.2",
            "updated": "2010-10-10T12:00:00Z",
            "created": "2010-08-10T12:00:00Z",
            "tenant_id" : "12345",
            "user_id" : "joe", 
            "status": "ACTIVE",
            "metadata": {
                "ImageType": "Gold",
                "ImageVersion": "1.5"
            },
            "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"
                }
            ]
        },
        {
            "id" : "52415800-8b69-11e0-9b19-734f5736d2a2",
            "name" : "My Server Backup",
            "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,
            "server" : {
                "id": "52415800-8b69-11e0-9b19-734f335aa7b3",
                "links": [
                    {
                        "rel": "self",
                        "href": "http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"
                    },
                    {
                        "rel": "bookmark",
                        "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"
                    }
                ]
            },
            "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"
                }
            ]}]}
GET
v1.1/images/{image_id}

Lists details of the specified image.

 
Request parameters
Parameter Description
image_id

UUID for the specific image.

Get Image Details Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<image
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    xmlns:atom="http://www.w3.org/2005/Atom"
    id="52415800-8b69-11e0-9b19-734f5736d2a2"
    name="My Server Backup"
    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">
    <server id="52415800-8b69-11e0-9b19-734f335aa7b3">
        <atom:link
            rel="self"
            href="http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"/>
        <atom:link
            rel="bookmark"
            href="http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"/>
    </server>
    <atom:link 
        rel="self"
        href="http://servers.api.openstack.org/v1.1/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"/>
    <atom:link 
        rel="bookmark"
        href="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"/>
</image>
Get Image Details Response: JSON
{
    "image" : {
        "id" : "52415800-8b69-11e0-9b19-734f5736d2a2",
        "name" : "My Server Backup",
        "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,
        "server" : {
            "id": "52415800-8b69-11e0-9b19-734f335aa7b3",
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f335aa7b3"
                }
            ]
        },
        "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"
            }
        ]
    }
}

This operation does not require a request body.

DELETE
v1.1/images/{image_id}

Deletes the specified image.

 
Request parameters
Parameter Description
image_id

UUID for the specific image.

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

PUT
v1.1/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
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"?>

<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="Label">Web</meta>
    <meta key="Version">2.1</meta>
</metadata>
Create or Replace Metadata Request: JSON
{
    "metadata" :  {
            "Label" : "Web",
            "Version" : "2.1"
        }
}
Create or Replace Metadata Response: XML
<?xml version="1.0" encoding="UTF-8"?>

<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="Label">Web</meta>
    <meta key="Version">2.1</meta>
</metadata>
Create or Replace Metadata Response: JSON
{
    "metadata" :  {
            "Label" : "Web",
            "Version" : "2.1"
        }
}
POST
v1.1/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
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="Label">Web2</meta>
</metadata>
Update Metadata Request: JSON
{
    "metadata" : {
            "Label" : "Web2"
        }
}
Update Metadata Response: XML
<?xml version="1.0" encoding="UTF-8"?>

<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
    <meta key="Label">Web2</meta>
    <meta key="Version">2.1</meta>
</metadata>
Update Metadata Response: JSON
{
    "metadata" : {
            "Label" : "Web2",
            "Version" : "2.1"
        }
}
GET
v1.1/images/{image_id}/metadata

Lists metadata associated with the resource.

 
Request parameters
Parameter Description
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="Label">Web</meta>
    <meta key="Version">2.1</meta>
</metadata>
List Metadata Response: JSON
{
    "metadata" :  {
            "Label" : "Web",
            "Version" : "2.1"
        }
}

This operation does not require a request body.

GET
v1.1/images/{image_id}/metadata/{key}

Gets a metadata item associated with a resource.

 

Retrieves a single metadata item by key.

Request parameters
Parameter Description
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"?>
<meta
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    key="Label">Web</meta>
Get Metadata Item Response: JSON
{
    "meta" : {
            "Label" : "Web"
        } 
}

This operation does not require a request body.

PUT
v1.1/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
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"?>
<meta
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    key="Label">Web</meta>
Create or Update Metadata Item Request: JSON
{
    "meta" : {
            "Label" : "Web"
        } 
}
Create or Update Metadata Item Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<meta
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    key="Label">Web</meta>
Create or Update Metadata Item Response: JSON
{
    "meta" : {
            "Label" : "Web"
        } 
}
DELETE
v1.1/images/{image_id}/metadata/{key}

Deletes a metadata item.

 
Request parameters
Parameter Description
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
v1.1/flavors

Lists IDs, names, and links for available flavors.

 
Request parameters
Parameter Description
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="http://docs.openstack.org/compute/api/v1.1"
         xmlns:atom="http://www.w3.org/2005/Atom">
  <flavor id="52415800-8b69-11e0-9b19-734f1195ff37"
          name="256 MB Server" ram="256" disk="10" vcpus="1">
      <atom:link
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
      <atom:link
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
  </flavor>
  <flavor id="52415800-8b69-11e0-9b19-734f216543fd"
          name="512 MB Server" ram="512" disk="20" vcpus="2">
      <atom:link
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
      <atom:link
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
  </flavor>
</flavors>
List Flavors Response: JSON
{
    "flavors": [
        {
            "id": "52415800-8b69-11e0-9b19-734f1195ff37",
            "name": "256 MB Server",
            "ram": 256,
            "disk": 10,
            "vcpus": 1,
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                }
            ]
        },
        {
            "id": "52415800-8b69-11e0-9b19-734f216543fd",
            "name": "512 MB Server",
            "ram": 512,
            "disk": 20,
            "vcpus": 2,
            "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"
                }
            ]
        }
    ]
}
GET
v1.1/flavors/detail

Lists all details for available flavors.

 
Request parameters
Parameter Description
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="http://docs.openstack.org/compute/api/v1.1"
         xmlns:atom="http://www.w3.org/2005/Atom">
  <flavor id="52415800-8b69-11e0-9b19-734f1195ff37"
          name="256 MB Server" ram="256" disk="10" vcpus="1">
      <atom:link
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
      <atom:link
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
  </flavor>
  <flavor id="52415800-8b69-11e0-9b19-734f216543fd"
          name="512 MB Server" ram="512" disk="20" vcpus="2">
      <atom:link
          rel="self"
          href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
      <atom:link
          rel="bookmark"
          href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f216543fd"/>
  </flavor>
</flavors>
List Detail Flavors Response: JSON
{
    "flavors": [
        {
            "id": "52415800-8b69-11e0-9b19-734f1195ff37",
            "name": "256 MB Server",
            "ram": 256,
            "disk": 10,
            "vcpus": 1,
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
                }
            ]
        },
        {
            "id": "52415800-8b69-11e0-9b19-734f216543fd",
            "name": "512 MB Server",
            "ram": 512,
            "disk": 20,
            "vcpus": 2,
            "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"
                }
            ]
        }
    ]
}
GET
v1.1/flavors/{flavor_id}

Lists details for the specified flavor.

 
Request parameters
Parameter Description
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="http://docs.openstack.org/compute/api/v1.1"
    xmlns:atom="http://www.w3.org/2005/Atom"
    id="52415800-8b69-11e0-9b19-734f1195ff37"
    name="256 MB Server" ram="256" disk="10" vcpus="1">
    <atom:link
        rel="self"
        href="http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
    <atom:link
        rel="bookmark"
        href="http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"/>
</flavor>
Get Flavor Details Response: JSON
{
    "flavor" : {
        "id" : "52415800-8b69-11e0-9b19-734f1195ff37",
        "name" : "256 MB Server",
        "ram" : 256,
        "disk" : 10,
        "vcpus" : 1,
        "links": [
            {
                "rel" : "self",
                "href" : "http://servers.api.openstack.org/v1.1/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
            },
            {
                "rel" : "bookmark",
                "href" : "http://servers.api.openstack.org/1234/flavors/52415800-8b69-11e0-9b19-734f1195ff37"
            }
        ]
    }
}

This operation does not require a request body.

Compute API Extensions

An extension adds capabilities to an API beyond those defined in the core API. The introduction of new features, MIME types, actions, states, headers, parameters, and resources can all be accomplished by means of extensions to the core API. You can query the Compute API to find out which extensions are available with a GET request to v1.1/extensions.

Disk Config

Extends servers and images with a diskConfig attribute.

POST
v1.1/{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: JSON
{
    "server": {
        "name": "server-1",
        "imageRef": "cedef40a-ed67-4d10-800e-17455edce175",
        "flavorRef" : "1",
        "OS_DCF:diskConfig": "MANUAL"
    }
}
Response: JSON
{
    "server": {
        "id": "52415800-8b69-11e0-9b19-734f565bc83b",
        "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"
            }
        ]
    }
}
GET
v1.1/{tenant_id}/servers/{server_id}

Describes a specific 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.

OS-DCF:diskConfig (Optional)

Acceptable values are 'AUTO' and 'MANUAL'.

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
v1.1/{tenant_id}/servers/{server_id}

Updates 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.

OS-DCF:diskConfig (Optional)

Acceptable values are 'AUTO' and 'MANUAL'.

Request: JSON
{
    "server": {
        "OS-DCF:diskConfig": "AUTO"
    }
}
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"
    }
}
POST
v1.1/{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.

OS-DCF:diskConfig (Optional)

Acceptable values are 'AUTO' and 'MANUAL'.

Request: JSON
{
    "resize": {
        "flavorRef": "1",
        "OS-DCF:diskConfig": "AUTO"
    }
}
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"
    }
}
PUT
v1.1/{tenant_id}/servers/{server_id}/action

Rebuilds 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.

OS-DCF:diskConfig (Optional)

Acceptable values are 'AUTO' and 'MANUAL'.

Request: JSON
{
    "rebuild": {
        "imageRef": "cedef40a-ed67-4d10-800e-17455edce175",
        "OS-DCF:diskConfig": "AUTO"
    }
}

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"
    }
}
GET
v1.1/{tenant_id}/servers/details

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
v1.1/{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
v1.1/{tenant_id}/images/details

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.

Server - Extended Create

Provides extra information when creating a server.

POST
v1.1/{tenant_id}/servers

Create a server with extra attributes.

 
Request parameters
Parameter Description
tenant_id

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

security_groups (Optional)

List of security groups the server should be created within.

config_drive (Optional)

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

Request: JSON
{
    "server": {
        "name": "server-1",
        "imageRef": "cedef40a-ed67-4d10-800e-17455edce175",
        "flavorRef" : "1",
        "security_groups": [
            {"name": "sec-group-1"},
            {"name": "sec-group-2"}
        ],
        "config_drive": "0c5eb502-3ee7-42e2-acfc-399b67fe72db"
    }
}
Response: JSON
{
    "server": {
        "id": "52415800-8b69-11e0-9b19-734f565bc83b",
        "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"
            }
        ]
    }
}
GET
v1.1/{tenant_id}/servers/{server_id}

Display extra attributes when describing a single 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"
            }
        ],
        "security_groups": [
            {"name": "sec-group-1"},
            {"name": "sec-group-2"}
        ],
        "config_drive": "0c5eb502-3ee7-42e2-acfc-399b67fe72db"
    }
}

This operation does not require a request body.

GET
v1.1/{tenant_id}/servers/detail

Display extra attributes when describing all 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"
                }
            ],
            "security_groups": [
                {"name": "sec-group-1"},
                {"name": "sec-group-2"}
            ],
            "config_drive": "0c5eb502-3ee7-42e2-acfc-399b67fe72db"
        }
    ]
}

This operation does not require a request body.

Server Rescue

Rescues and unrescues a server.

POST
v1.1/{tenant_id}/servers/{server_id}/action

Put a server in rescue mode. Changes status to RESCUE.

 
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.

adminPass (Optional)

Use this password for the rescued instance. Generate a new password if none is provided.

Request: JSON
{
    'rescue': {
        'adminPass': 'secret1'
    }
}
Response: JSON
{
    'adminPass': 'secret1'
}
POST
v1.1/{tenant_id}/servers/{server_id}/action

Return server to its state before being rescued.

 
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
{
    "unrescue": null,
}

This operation does not return a response body.

Server Console Output

Gets the output from the console log for a server.

POST
v1.1/{tenant_id}/servers/{server_id}/action

Fetch 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: JSON
{
    "os-getConsoleOutput": {
        "length": 50
    }
}
Get Console Output for Server Instance. Response: JSON
{
    "output": "line of console log output"
}

Server VNC Console

Accesses a VNC console for a specific server.

POST
v1.1/{tenant_id}/servers/{server_id}/action

Fetch 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

Acceptable values are 'novnc' and 'xvpvnc'.

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)"
    }
}

Extended Instance Status

Adds vm_state, task_state, and power_state to detailed server responses.

GET
v1.1/{tenant_id}/servers/action

Adds vm_state, power_state, and task_state to a server response object.

 
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.

Extended status for server show 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
v1.1/{tenant_id}/servers/detail

Adds vm_state, power_state, and task_state to each returned server object.

 
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.

Extended attributes for server detail Response: JSON
{
    "servers": [
        {
            "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-STS:vm_state" : "building",
            "OS-EXT-STS:task_state" : "networking",
            "OS-EXT-STS:power_state" : "running",
            "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"
                    }
                ]
            },
            "addresses": {
                "public" : [
                    {
                        "version": 4,
                        "addr": "67.23.10.133"
                    },
                    {
                        "version": 6,
                        "addr": "::babe:67.23.10.133"
                    }
                ],
                "private" : [
                    {
                            "version": 4,
                        "addr": "10.176.42.17"
                    },
                    {
                        "version": 6,
                            "addr": "::babe:10.176.42.17"
                        }
                    ]
            },
            "metadata": {
                "Server Label": "DB 1"
            },
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f1f1350e5"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f1f1350e5"
                }
            ]
        }
    ]
}

This operation does not require a request body.

Extended Server Attributes

Adds additional metadata to servers detail and show response.

GET
v1.1/servers

Adds host and hypervisor name to each returned server object.

 
Extended attributes for server detail Response: JSON
{
    "servers": [
        {
            "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-SRV-ATTR:instance_name" : "instance-000000001",
            "OS-EXT-SRV-ATTR:host" : "compute_hostname",
            "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"
                    }
                ]
            },
            "addresses": {
                "public" : [
                    {
                        "version": 4,
                        "addr": "67.23.10.133"
                    },
                    {
                        "version": 6,
                        "addr": "::babe:67.23.10.133"
                    }
                ],
                "private" : [
                    {
                            "version": 4,
                        "addr": "10.176.42.17"
                    },
                    {
                        "version": 6,
                            "addr": "::babe:10.176.42.17"
                        }
                    ]
            },
            "metadata": {
                "Server Label": "DB 1"
            },
            "links": [
                {
                    "rel": "self",
                    "href": "http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f1f1350e5"
                },
                {
                    "rel": "bookmark",
                    "href": "http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734f1f1350e5"
                }
            ]
        }
    ]
}

This operation does not require a request body.

GET
v1.1/servers/{server_id}

Adds host and hypervisor name to the returned server object.

 
Request parameters
Parameter Description
server_id

The UUID for the server of interest to you.

Extended attributes for server show 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-SRV-ATTR:instance_name" : "instance-000000001",
    "OS-EXT-SRV-ATTR:host" : "compute_hostname",
    "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.

Server Start/Stop

Starts and stops a server.

POST
v1.1/{tenant_id}/servers/{server_id}/action

Halts a running server. Changes status to STOPPED.

 
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
{
    "os-stop": null
}

This operation does not return a response body.

POST
v1.1/{tenant_id}/servers/{server_id}/action

Returns a STOPPED server to ACTIVE status.

 
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
{
    "os-start": null
}

This operation does not return a response body.

Server Force Delete/Restore

When Nova is deployed with deferred delete on, restores or forces the deletion of a server.

POST
v1.1/{tenant_id}/servers/{server_id}/action

Force 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: JSON
{
    "forceDelete": null
}

This operation does not return a response body.

POST
v1.1/{tenant_id}/servers/{server_id}/action

Reverse 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: JSON
{
    "restore": null
}

This operation does not return a response body.

Floating IPs

The Floating IPs extension enables assigning and allocation of floating IP addresses to instances running in an OpenStack cloud.

GET
v1.1/{tenant_id}/os-floating-ips

Lists floating IP addresses associated with the tenant or account.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Floating IPs Response: JSON
{
    "floating_ips": [
        {
            "fixed_ip": null,
            "id": 1,
            "instance_id": null,
            "ip": "10.6.0.1",
            "pool": "nova"
        },
        {
            "fixed_ip": null,
            "id": 2,
            "instance_id": null,
            "ip": "10.6.0.2",
            "pool": "nova"
        }
    ]
}

This operation does not require a request body.

POST
v1.1/{tenant_id}/os-floating-ips

Allocate a new floating IP address to a tenant or account.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

pool (Optional)

Pool to allocate ip from. Will use default pool if not specified.

Allocate Floating IP Request: JSON
{
    "pool": "nova"
}
Allocate Floating IP Response: JSON
{
    "floating_ip": {
        "fixed_ip": null,
        "id": 1,
        "instance_id": null,
        "ip": "10.6.0.1",
        "pool": "nova"
    }
}
GET
v1.1/{tenant_id}/os-floating-ips/{id}

Lists details of the floating IP address associated with floating_IP_address_ID.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

id

The unique identifier associated with allocated floating IP address.

List Floating IP Detail Response: JSON
{
    "floating_ip": {
        "fixed_ip": "10.0.0.3,
        "id": 1,
        "instance_id": "20c8acc0-f747-4d71-a389-46d078ebf047",
        "ip": "10.6.0.1",
        "pool": "nova"
    }
}

This operation does not require a request body.

DELETE
v1.1/{tenant_id}/os-floating-ips/{id}

Deallocates the floating IP address associated with floating_IP_address_ID.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

id

The unique identifier associated with allocated floating IP address.

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

Floating IP Pools

Manages groups of Floating IPs.

GET
v1.1/{tenant_id}/os-floating-ip-pools

View a list of Floating IP Pools.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Floating IP Pools Response: JSON
{
    "floating_ip_pools": [
        {
            "name": "nova"
        },
        {
            "name": "default"
        }
    ]
}

This operation does not require a request body.

Floating IP DNS

The Floating IP DNS extension provides an interface for managing DNS records associated with IP addresses allocated by the Floating Ips extension. Requests are dispatched to a DNS driver selected at startup.

GET
v1.1/{tenant_id}/os-floating-ip-dns

Get a list of registered DNS Domains published by the DNS drivers.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List DNS Domains Response: JSON
{
  'domain_entries' :
     [
        {'domain': 'domain1.example.org', 'scope': 'public', 'project': 'proj1'}
        {'domain': 'domain2.example.net', 'scope': 'public', 'project': 'proj2'}
        {'domain': 'example.net', 'scope': 'public', 'project': ''}
        {'domain': 'example.internal', 'scope': 'private', 'availability_zone': 'zone1'}
     ]
}

This operation does not require a request body.

PUT
v1.1/{tenant_id}/os-floating-ip-dns/{domain}

Create or modify a DNS domain.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

domain

Registered DNS Domain published by the DNS drivers.

Create a Domain Request: JSON
# Sample body, public domain:
{
  'domain_entry' :
    {
       'scope': 'public',
       'project' : 'project1'
    }
}

# Sample body, public (projectless) domain:
{
  'domain_entry' :
    {
      'scope': 'public'
    }
}

# Sample body, private domain:
{
  'domain_entry' :
    {
      'scope': 'private',
      'availability_domain': 'zone1'
    }
}
Create a Domain Response: JSON
# Sample Response, public domain (success):
{
  'domain_entry' :
    {
      'domain': 'domain1.example.org',
      'scope': 'public',
      'project': 'project1'
   }
}

# Sample Response, private domain (success):
{
  'domain_entry' :
    {
      'domain': 'domain1.private',
      'scope': 'private',
      'availability_zone': 'zone1'
    }
}
DELETE
v1.1/{tenant_id}/os-floating-ip-dns/{domain}

Delete a DNS domain and all associated host entries.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

domain

Registered DNS Domain published by the DNS drivers.

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

PUT
v1.1/{tenant_id}/os-floating-ip-dns/{domain}/entries/{name}

Create or modify a DNS entry.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

domain

Registered DNS Domain published by the DNS drivers.

name

DNS entry name assigned under a domain.

Create DNS Entry Request: JSON
{
  'dns_entry' :
    {
      'ip': '192.168.53.11',
      'dns_type': 'A'
    }
}
Create DNS Entry Response: JSON
{
  'dns_entry' :
    {
      'type' : 'A',
      'name' : 'instance1'
    }
}
GET
v1.1/{tenant_id}/os-floating-ip-dns/{domain}/entries/{name}

Find unique DNS entry for a given domain and name.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

domain

Registered DNS Domain published by the DNS drivers.

name

DNS entry name assigned under a domain.

Find Unique DNS Entry Response: JSON
{
  'dns_entry' :
    {
      'ip' : '192.168.53.11',
      'type' : 'A',
      'domain' : <domain>,
      'name' : <name>
    }
}

This operation does not require a request body.

DELETE
v1.1/{tenant_id}/os-floating-ip-dns/{domain}/entries/{name}

Delete a DNS entry.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

domain

Registered DNS Domain published by the DNS drivers.

name

DNS entry name assigned under a domain.

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

GET
v1.1/{tenant_id}/os-floating-ip-dns/{domain}/entries/{ip}

Find DNS entries for a given domain and IP.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

domain

Registered DNS Domain published by the DNS drivers.

Find DNS Entries Response: JSON
{
  'dns_entries' :
    [
      {
        'ip' : <ip>,
        'type' : 'A',
        'domain' : <domain>,
        'name' : 'example1'
      }
      {
        'ip' : <ip>,
        'type' : 'A',
        'domain' : <domain>,
        'name' : 'example2'
      }
    ]
}

This operation does not require a request body.

Networks

The Networks extension allows you to view and delete networks. It also provides an action to disassociate a network from a project if you are using vlan mode.

GET
v1.1/{tenant_id}/os-networks

Lists networks.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Networks Response: JSON
{
    "networks": [
        {
            "bridge": "br100",
            "vpn_public_port": null,
            "dhcp_start": "10.0.0.2",
            "bridge_interface": "eth1",
            "updated_at": "2012-04-09 17:07:31",
            "id": "babf4a5e-81a4-4e8b-82c5-1fd7959e7772",
            "cidr_v6": null,
            "deleted_at": null,
            "gateway": "10.0.0.1",
            "label": "private",
            "project_id": null,
            "vpn_private_address": null,
            "deleted": false,
            "vlan": null,
            "broadcast": "10.0.0.255",
            "netmask": "255.255.255.0",
            "injected": false,
            "cidr": "10.0.0.0/24",
            "vpn_public_address": null,
            "multi_host": false,
            "dns1": "8.8.4.4",
            "host": "precise",
            "gateway_v6": null,
            "netmask_v6": null,
            "created_at": "2012-04-07 02:02:37"
        }
    ]
}

This operation does not require a request body.

GET
v1.1/{tenant_id}/os-networks/{id}

Gets information about an individual network.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

id

The unique identifier associated with the network.

Get Network Detail Response: JSON
{
    "network": {
        "bridge": "br100",
        "vpn_public_port": null,
        "dhcp_start": "10.0.0.2",
        "bridge_interface": "eth1",
        "updated_at": "2012-04-09 17:07:31",
        "id": "babf4a5e-81a4-4e8b-82c5-1fd7959e7772",
        "cidr_v6": null,
        "deleted_at": null,
        "gateway": "10.0.0.1",
        "label": "private",
        "project_id": null,
        "vpn_private_address": null,
        "deleted": false,
        "vlan": null,
        "broadcast": "10.0.0.255",
        "netmask": "255.255.255.0",
        "injected": false,
        "cidr": "10.0.0.0/24",
        "vpn_public_address": null,
        "multi_host": false,
        "dns1": "8.8.4.4",
        "host": "precise",
        "gateway_v6": null,
        "netmask_v6": null,
        "created_at": "2012-04-07 02:02:37"
    }
}

This operation does not require a request body.

DELETE
v1.1/{tenant_id}/os-networks/{id}

Delete a network.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

id

The unique identifier associated with the network.

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

POST
v1.1/{tenant_id}/os-networks/{id}/action

Disassociate a network from a project so it can be reused.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

id

The unique identifier associated with the network.

Disassocaite Network Request: JSON
{
    "disassociate": null
}

This operation does not return a response body.

Scheduler Hints

Provides information directly to the scheduler when creating a server.

POST
v1.1/{tenant_id}/servers

Create a server using scheduler hints.

 
Request parameters
Parameter Description
tenant_id

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

os:scheduler_hints

Dictionary of data to send to the scheduler.

Request: JSON
{
    'server': {
        'name': 'server-1',
        'imageRef': 'cedef40a-ed67-4d10-800e-17455edce175',
        'flavorRef': '1'
    },
    'os:scheduler_hints': {
        'hypervisor': 'xen',
        'near': 'a0cf03a5-d921-4877-bb5c-86d26cf818e1'
    }
}
Response: JSON
{
    'server': {
        'name': 'server-1',
        'imageRef': 'cedef40a-ed67-4d10-800e-17455edce175',
        'flavorRef': '1'
    }
}

Keypairs

Generates, imports, and deletes SSH keys..

GET
v1.1/{tenant_id}/os-keypairs

View a lists of keypairs associated with the account.

 
Request parameters
Parameter Description
tenant_id

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

Response: JSON
{
    "keypairs": [{
        "keypair": {
            "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDCSLxfzqB+e5yHdUSXvbxKkajjlfuhV+GArdseqPjfkKJ6no5echpin7dJp0FLXMJKxJZE3WWIRu25CQrJntmi7no27RkDfAGaTFbjz3DWY4A1HLeKAB5tFTwYQlr7CjMdoC/DY7UvKaatwLhH4Wvh5vMmXgF7AFzdkI28urwo+Q== nova@use03147k5-eth0\n",
            "name": "hpdefault",
            "fingerprint": "8b:2f:aa:b0:b8:97:dc:c8:50:aa:d4:8e:d0:34:61:d9"
        }
    },
    {
        "keypair": {
            "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCzYa6mM2ZuRYd18pJrdGZdJHXC51VReQRQANwviK7FX7VPyn0anXLW5LXfNabS2zGi8ZhH9nfBw4kG6ZVfxbB1+38sU8KOZlsMLNXY2eT71YFIKhRjpOTs3nypG9KZRqZ9V+zwn6CJGGr2wWlWwc/FIQh+ebdl3bthr/qctHCkYw== nova@use03147k5-eth0\n",
            "name": "rgkey2",
            "fingerprint": "6c:57:46:0d:24:0f:51:af:51:36:8c:a0:92:cf:3d:5e"
        }
    },
    {
        "keypair": {
            "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCnMJOrYe+vRDylFYkIuXA0Ew6EBbe0VV+O+xvg5LtFI5QywcAe75L5y857FIbA5OGfFKi9DVfhJbn7PMxkRsnyyvg1Q1tKMZAi/JQjJCOyF6e9bm42mg8IM+4rM5/MrlzBZ800uWT5GJdY9ouOyzjm52HGbeucQxPzzh4V9eum2Q== nova@use03147k5-eth0\n",
            "name": "fog_hprgmac.local_1322518814_key_pair",
            "fingerprint": "4e:3a:96:b0:c9:d1:4e:7f:b5:bd:13:91:36:9f:98:72"
        }
    }]
}

This operation does not require a request body.

POST
v1.1/{tenant_id}/os-keypairs

Generate or import a keypair.

 
Request parameters
Parameter Description
tenant_id

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

name

The name to be associated with the keypair.

public_key (Optional)

The public ssh key to import. If not provided, one will be generated.

Request: XML
<keypair>
    <public_key>
		ssh-rsa  AAAB3NzaC1yc2EAAAADAQABAAAAgQDS75K9dCGNb8wUIqSRT8UZU1riwaMBXViZ6m7hvRi9adVJrNzUQVJEYotqGXpe4rwC7iCfwmVxWj/wu/h4OOoBqdkQcQMcuggMpNvnymhwUfj6vg+zEOpFcZg1mY3dvMoDnnUAClLB8/ELY1FtKTyTJyKJN7yyR4WkMN5H4BR/Lw== nova@az1-nv-schedule-0000
	</public_key>
	<name>
		testkeypair
	</name>
</keypair>
Request: JSON
{
    "keypair": {
        "name": "testkeypair",
        "public_key": "ssh-rsa  AAAB3NzaC1yc2EAAAADAQABAAAAgQDS75K9dCGNb8wUIqSRT8UZU1riwaMBXViZ6m7hvRi9adVJrNzUQVJEYotqGXpe4rwC7iCfwmVxWj/wu/h4OOoBqdkQcQMcuggMpNvnymhwUfj6vg+zEOpFcZg1mY3dvMoDnnUAClLB8/ELY1FtKTyTJyKJN7yyR4WkMN5H4BR/Lw== nova@az1-nv-schedule-0000"
    }
}
Response: XML
<keypair>
    <public_key>
        ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC0JMVm7BxwdGnywr94IeoHun7A8t0mE5vWPKdJbCl1h7s28B0RV0MteJ2IpNFImoeWGim+Rs5s4RHtYeX9AlJgqwLXUfBuGW2rsQKVwtoKkL3JmosgxUkcD3PyxGiAr7AaXYn5Cf90sa/mWldkcL8w/iwgyhhzsv9Sj0nUTnF//Q== nova@az1-nv-schedule-0000

    </public_key>
    <private_key>
        -----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQC0JMVm7BxwdGnywr94IeoHun7A8t0mE5vWPKdJbCl1h7s28B0R
V0MteJ2IpNFImoeWGim+Rs5s4RHtYeX9AlJgqwLXUfBuGW2rsQKVwtoKkL3Jmosg
xUkcD3PyxGiAr7AaXYn5Cf90sa/mWldkcL8w/iwgyhhzsv9Sj0nUTnF//QIDAQAB
AoGAC8O7AJW65b00jh4Z0waj+g076e3yc2Ikc0FSy4C81Ggg2d2kiFVilb2izCG3
aT5uTGc5AqwtHv8z5ITYOEXGi111GFmEqk7VhvD6YMSq8qW+VrYhFYIhNwVXIyd7
kd81oy22QcMre5GcifQq5VUfWS4ZhfjY7zrqqw5/mmKLdgECQQDrSt2Cr15Z5qpK
cwMHSvYIVvNlMHIOr8X/oLSEGM8WyoBXqS1+SaqU3HK73kNKQGY2/3qGhHMCFjn0
kvoduIPNAkEAw/9neFhHhh3eFKhZ2QEBWe2CM+5Spe178zmdE+L9/eQF9vVm+XPU
0EJAYHS7tM9ITIP450rJbsNqW97+bZ8c8QJBAJafzIH2he4DTgxu6AdpI2tfTlz+
0GU6fQQR+r19rESoydRURv1LZ1n4bbJ6rJUB+O1IS0WF0KILXHqHBHq2PhkCQQC4
HzCWj2fxiBFemqB9CUK5tjNAkbw2gBiW7yKu0ekFH7ayvuqToMrlMbfEZSUIwEkN
CFVFAq6kTROXZq7hUD4hAkEAsNrne2ODGqIvIjuBSMz+b3Z9rQcuLVJ88eN3Sc8i
7b+bdy9bNUKQDeIW+IdeMhauvodLcBS8UaJLS0aJxtHYwQ==
-----END RSA PRIVATE KEY-----

    </private_key>
    <user_id>
        rupak2_mgr
    </user_id>
    <name>
        ytestkeypair
    </name>
    <fingerprint>
        2d:67:be:41:05:a7:b0:6d:3b:eb:ee:97:9b:b7:29:df
    </fingerprint>
</keypair>
Response: JSON
{
    "keypair": {
        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDgGhDH3z9uMAvPV8ziE9BCEjHCPXGufy5bOgY5mY5jOSfdmKspdbl0z/LimHVKRDNX6HoL5qRg5V/tGH/NYP5sX2zF/XRKz16lfBxiUL1EONXA9fsTEBR3FGp8NcA7hW2+YiUxWafms4If3NFqttTQ11XqTU8JCMvms4D81lhbiQ== nova@use03147k5-eth0\n",
        "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIICXwIBAAKBgQDgGhDH3z9uMAvPV8ziE9BCEjHCPXGufy5bOgY5mY5jOSfdmKsp\ndbl0z/LimHVKRDNX6HoL5qRg5V/tGH/NYP5sX2zF/XRKz16lfBxiUL1EONXA9fsT\nEBR3FGp8NcA7hW2+YiUxWafms4If3NFqttTQ11XqTU8JCMvms4D81lhbiQIDAQAB\nAoGBAJ1akAfXwNEc2V4IV2sy4FtULS4nOKh+0szpjC9rm+gd3Nki9qQQ7lyQGwpy\nZID2LFsAeJnco/UJefaf6jUKcvnS7tlxMuQB8DBlepiDqnnec0EiEAVmmt9GWlYZ\nJgfGWqDzI1WtouDCIsOhx1Vq7Foue6pgOnibktg2kfYnH9IRAkEA9tKzhlr9rFui\nbVDkiRJK3VTIhKyk4davDjqPJFLJ+4+77wRW164sGxwReD7HtW6qVtJd1MFvqLDO\nqJJEsqDvXQJBAOhvGaWiAPSuP+/z6GE6VXB1pADQFTYIp2DXUa5DcStTGe7hGF1b\nDeAxpDNBbLO3YKYqi2L9vJcIsp5PkHlEVh0CQQCVLIkWBb5VQliryv0knuqiVFCQ\nZyuL1s2cQuYqZOLwaFGERtIZrom3pMImM4NN82F98cyF/pb2lE2CckyUzVF9AkEA\nqhwFjS9Pu8N7j8XWoLHsre2rJd0kaPNUbI+pe/xn6ula5XVgO5LUSOyL2+daAv2G\ngpZIhR5m07LN5wccGWRmEQJBALZRenXaSyX2R2C9ag9r2gaU8/h+aU9he5kjXIt8\n+B8wvpvfOkpOAVCQEMxtsDkEixUtI98YKZP60uw+Xzh40YU=\n-----END RSA PRIVATE KEY-----\n",
        "user_id": "dev_41247879706381",
        "name": "testkeypair",
        "fingerprint": "f1:f3:a2:d3:ca:75:da:f1:06:f4:f7:dc:cc:7d:e1:ca"
    }
}
DELETE
v1.1/{tenant_id}/os-keypairs/{keypair_name}

Delete a keypair.

 
Request parameters
Parameter Description
tenant_id

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

keypair_name

The name associated with a keypair.

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

Simple Usage

Reports stats on compute and storage resources.

GET
v1.1/{tenant_id}/os-simple-tenant-usage

View usage for all tenants.

 
Request parameters
Parameter Description
tenant_id

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

start

The start of a time range, in datetime format.

end

The end of the time range, in datetime format.

detailed (Optional)

Whether to return detailed usage information. Defaults to False.

Response: JSON
[
    {
       "total_memory_mb_usage":76.37333333333333,
       "total_vcpus_usage":0.14916666666666667,
       "start":"2012-04-01 00:00:00",
       "tenant_id":"e2d4257199994c74a5d81375d2db2b77",
       "stop":"2012-04-13 18:03:22",
       "server_usages":[
          {
             "memory_mb":512,
             "uptime":537,
             "started_at":"2012-04-13 17:54:25",
             "ended_at":None,
             "name":"x",
             "tenant_id":"e2d4257199994c74a5d81375d2db2b77",
             "state":"active",
             "hours":0.14916666666666667,
             "vcpus":1,
             "flavor":"m1.tiny",
             "local_gb":0
          }
       ],
       "total_hours":0.14916666666666667,
       "total_local_gb_usage":0.0
    }
]
GET
v1.1/{tenant_id}/os-simple-tenant-usage/{tenant_id}

Retrieve usage for a tenant.

 
Request parameters
Parameter Description
tenant_id

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

tenant_id

The tenant_id that for which usage is requested.

start

The start of a time range, in datetime format.

end

The end of the time range, in datetime format.

detailed (Optional)

Whether to return detailed usage information. Defaults to False.

Response: JSON
{
   "total_memory_mb_usage":76.37333333333333,
   "total_vcpus_usage":0.14916666666666667,
   "start":"2012-04-01 00:00:00",
   "tenant_id":"e2d4257199994c74a5d81375d2db2b77",
   "stop":"2012-04-13 18:03:22",
   "server_usages":[
      {
         "memory_mb":512,
         "uptime":537,
         "started_at":"2012-04-13 17:54:25",
         "ended_at":None,
         "name":"x",
         "tenant_id":"e2d4257199994c74a5d81375d2db2b77",
         "state":"active",
         "hours":0.14916666666666667,
         "vcpus":1,
         "flavor":"m1.tiny",
         "local_gb":0
      }
   ],
   "total_hours":0.14916666666666667,
   "total_local_gb_usage":0.0
}

Security Groups

Creates, modifies, and deletes security groups and rules.

GET
v1.1/{tenant_id}/os-security-groups

List security groups.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

Response: XML
<security_groups xmlns="http://docs.openstack.org/compute/api/v1.1">
    <security_group id="119" name="default" tenant_id="dev_16767499955063">
        <rules>
            <rule id="130" parent_group_id="119">
                <from_port>
                    22
                </from_port>
                <group/>
                <ip_protocol>
                    tcp
                </ip_protocol>
                <to_port>
                    22
                </to_port>
                <ip_range>
                    <cidr>
                        0.0.0.0/0
                    </cidr>
                </ip_range>
            </rule>
            <rule id="131" parent_group_id="119">
                <from_port>
                    -1
                </from_port>
                <group/>
                <ip_protocol>
                    icmp
                </ip_protocol>
                <to_port>
                    -1
                </to_port>
                <ip_range>
                    <cidr>
                        0.0.0.0/0
                    </cidr>
                </ip_range>
            </rule>
        </rules>
        <description>
            default
        </description>
    </security_group>
    <security_group id="194" name="rgtest1" tenant_id="dev_16767499955063">
        <rules>
            <rule id="298" parent_group_id="194">
                <from_port>
                    80
                </from_port>
                <group/>
                <ip_protocol>
                    tcp
                </ip_protocol>
                <to_port>
                    80
                </to_port>
                <ip_range>
                    <cidr>
                        0.0.0.0/0
                    </cidr>
                </ip_range>
            </rule>
            <rule id="299" parent_group_id="194">
                <from_port>
                    -1
                </from_port>
                <group/>
                <ip_protocol>
                    icmp
                </ip_protocol>
                <to_port>
                    -1
                </to_port>
                <ip_range>
                    <cidr>
                        0.0.0.0/0
                    </cidr>
                </ip_range>
            </rule>
        </rules>
        <description>
            rgtest1
        </description>
    </security_group>
    <security_group id="195" name="rgtest2" tenant_id="dev_16767499955063">
        <rules/>
        <description>
            rgtest2
        </description>
    </security_group>
    <security_group id="196" name="rgtest3" tenant_id="dev_16767499955063">
        <rules/>
        <description>
            rgtest3
        </description>
    </security_group>
</security_groups>
Response: JSON
{
    "security_groups": [
        {
            "rules": [
            {
                "from_port": 22,
                "group": {},
                "ip_protocol": "tcp",
                "to_port": 22,
                "parent_group_id": 119,
                "ip_range": {
                    "cidr": "0.0.0.0/0"
                },
                "id": 130
            },
            {
                "from_port": -1,
                "group": {},
                "ip_protocol": "icmp",
                "to_port": -1,
                "parent_group_id": 119,
                "ip_range": {
                    "cidr": "0.0.0.0/0"
                },
                "id": 131
            }
            ],
            "tenant_id": "dev_16767499955063",
            "id": 119,
            "name": "default",
            "description":
            "default"
        }
    ]
}

This operation does not require a request body.

POST
v1.1/{tenant_id}/os-security-groups

Create a new security group.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

Request: XML
<security_group name="xmlname">
    <description>
        xmldescription
    </description>
</security_group>
Request: JSON
{
    "security_group": {
        "name": "name",
        "description": "description"
    }
}
Response: XML
<security_group id="413" name="xmlname" tenant_id="dev_16767499955063" xmlns="http://docs.openstack.org/compute/api/v1.1">
    <rules/>
    <description>
        xmldescription
    </description>
</security_group>
Response: JSON
{
    "security_group": {
        "rules": [ ],
        "tenant_id": "dev_16767499955063",
        "id": 160,
        "name": "name",
        "description": "description"
    }
}
GET
v1.1/{tenant_id}/os-security-groups/{security_group_id}

Get specific security group.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

security_group_id

The unique identifier of the security group.

Response: XML
<security_group id="119" name="default" tenant_id="dev_16767499955063" xmlns="http://docs.openstack.org/compute/api/v1.1">
    <rules>
        <rule id="130" parent_group_id="119">
            <from_port>
                22
            </from_port>
            <group/>
            <ip_protocol>
                tcp
            </ip_protocol>
            <to_port>
                22
            </to_port>
            <ip_range>
                <cidr>
                    0.0.0.0/0
                </cidr>
            </ip_range>
        </rule>
        <rule id="131" parent_group_id="119">
            <from_port>
                -1
            </from_port>
            <group/>
            <ip_protocol>
                icmp
            </ip_protocol>
            <to_port>
                -1
            </to_port>
            <ip_range>
                <cidr>
                    0.0.0.0/0
                </cidr>
            </ip_range>
        </rule>
    </rules>
    <description>
        default
    </description>
</security_group>
Response: JSON
{
    "security_group": {
        "rules": [
            {
                "from_port": 22,
                "group": {},
                "ip_protocol": "tcp",
                "to_port": 22,
                "parent_group_id": 119,
                "ip_range": {
                    "cidr": "0.0.0.0/0"
                },
                "id": 130
            },
            {
                "from_port": -1,
                "group": {},
                "ip_protocol": "icmp",
                "to_port": -1,
                "parent_group_id": 119,
                "ip_range": {
                    "cidr": "0.0.0.0/0"
                },
                "id": 131
            }
        ],
        "tenant_id": "dev_16767499955063",
        "id": 119,
        "name": "default",
        "description": "default"
    }
}

This operation does not require a request body.

DELETE
v1.1/{tenant_id}/os-security-groups/{security_group_id}

Delete a security group.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

security_group_id

The unique identifier of the security group.

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

POST
v1.1/{tenant_id}/os-security-group-rules

Create security group rule.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

Request: JSON
{
    "security_group_rule": {
        "ip_protocol": "tcp",
        "from_port": "80",
        "to_port": "8080",
        "cidr": "0.0.0.0/0",
        "group_id": "",
        "parent_group_id": "161"
    }
}
Response: XML
<security_group_rule id="348" parent_group_id="119" xmlns="http://docs.openstack.org/compute/api/v1.1">
    <from_port>
        80
    </from_port>
    <group/>
    <ip_protocol>
        tcp
    </ip_protocol>
    <to_port>
        8080
    </to_port>
    <ip_range>
        <cidr>
            0.0.0.0/0
        </cidr>
    </ip_range>
</security_group_rule>
Response: JSON
{
    "security_group_rule": {
        "from_port": 80,
        "group": {},
        "ip_protocol": "tcp",
        "to_port": 8080,
        "parent_group_id": 161,
        "ip_range": {
            "cidr": "0.0.0.0/0"
        },
        "id": 218
    }
}
DELETE
v1.1/{tenant_id}/os-security-group-rules/{security_group_rule_id}

Delete security group rule.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

security_group_rule_id

The unique identifier of the security group rule.

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

GET
v1.1/{tenant_id}/servers/{server_id}/os-security-groups

List security groups for a specific server.

 
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.

Response: XML
<security_groups xmlns="http://docs.openstack.org/compute/api/v1.1">
    <security_group id="119" name="default" tenant_id="dev_16767499955063">
        <rules>
            <rule id="130" parent_group_id="119">
                <from_port>
                    22
                </from_port>
                <group/>
                <ip_protocol>
                    tcp
                </ip_protocol>
                <to_port>
                    22
                </to_port>
                <ip_range>
                    <cidr>
                        0.0.0.0/0
                    </cidr>
                </ip_range>
            </rule>
            <rule id="131" parent_group_id="119">
                <from_port>
                    -1
                </from_port>
                <group/>
                <ip_protocol>
                    icmp
                </ip_protocol>
                <to_port>
                    -1
                </to_port>
                <ip_range>
                    <cidr>
                        0.0.0.0/0
                    </cidr>
                </ip_range>
            </rule>
        </rules>
        <description>
            default
        </description>
    </security_group>
    <security_group id="194" name="rgtest1" tenant_id="dev_16767499955063">
        <rules>
            <rule id="298" parent_group_id="194">
                <from_port>
                    80
                </from_port>
                <group/>
                <ip_protocol>
                    tcp
                </ip_protocol>
                <to_port>
                    80
                </to_port>
                <ip_range>
                    <cidr>
                        0.0.0.0/0
                    </cidr>
                </ip_range>
            </rule>
            <rule id="299" parent_group_id="194">
                <from_port>
                    -1
                </from_port>
                <group/>
                <ip_protocol>
                    icmp
                </ip_protocol>
                <to_port>
                    -1
                </to_port>
                <ip_range>
                    <cidr>
                        0.0.0.0/0
                    </cidr>
                </ip_range>
            </rule>
        </rules>
        <description>
            rgtest1
        </description>
    </security_group>
    <security_group id="195" name="rgtest2" tenant_id="dev_16767499955063">
        <rules/>
        <description>
            rgtest2
        </description>
    </security_group>
    <security_group id="196" name="rgtest3" tenant_id="dev_16767499955063">
        <rules/>
        <description>
            rgtest3
        </description>
    </security_group>
</security_groups>
Response: JSON
{
    "security_groups": [
        {
            "rules": [
            {
                "from_port": 22,
                "group": {},
                "ip_protocol": "tcp",
                "to_port": 22,
                "parent_group_id": 119,
                "ip_range": {
                    "cidr": "0.0.0.0/0"
                },
                "id": 130
            },
            {
                "from_port": -1,
                "group": {},
                "ip_protocol": "icmp",
                "to_port": -1,
                "parent_group_id": 119,
                "ip_range": {
                    "cidr": "0.0.0.0/0"
                },
                "id": 131
            }
            ],
            "tenant_id": "dev_16767499955063",
            "id": 119,
            "name": "default",
            "description":
            "default"
        }
    ]
}

This operation does not require a request body.

Cloudpipe

Manages virtual vpns for projects.

GET
v1.1/{tenant_id}/os-cloudpipe

List cloudpipes

 
Request parameters
Parameter Description
tenant_id

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

Response: JSON
{
    "cloudpipes": [
        {
            "project_id": "b7f6d49c12714e96a05fada4aba4ead6",
            "internal_ip": "10.0.0.2",
            "public_ip": "192.168.1.100",
            "public_port": 8000,
            "state": "running",
            "instance_id": "8250f384-ee8a-43b7-9eb2-453e5bbdd019",
            "created_at": "1981-10-20T00:00:00Z"
        },
        {
            "project_id": "98626b18f01c442f99bc11f27b9cc2d2",
            "internal_ip": "10.0.1.2",
            "public_ip": "192.168.1.100",
            "public_port": 8001,
            "state": "running",
            "instance_id": "af7439ee-5582-4457-acf3-656d013eecb8",
            "created_at": "1981-10-20T00:00:00Z"
        }
    ]
}

This operation does not require a request body.

POST
v1.1/{tenant_id}/os-cloudpipe

Create a cloudpipe

 
Request parameters
Parameter Description
tenant_id

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

project_id (Optional)

Create the cloudpipe for the specified tenant. Defaults to the calling tenant.

Request: JSON
{
    "cloudpipe": {
        "project_id": "b7f6d49c12714e96a05fada4aba4ead6"
    }
}
Response: JSON
{
    "instance_id": "8250f384-ee8a-43b7-9eb2-453e5bbdd019"
}

Hosts

Manages physical hosts.

GET
v1.1/{tenant_id}/os-hosts

List all hosts.

 
Request parameters
Parameter Description
tenant_id

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

Response: JSON
{
    "hosts": [
        {
            "host_name": "nova1", 
            "service": "compute"
        }
    ]
}

This operation does not require a request body.

GET
v1.1/{tenant_id}/os-hosts/{host_name}

Describe a specific host

 
Request parameters
Parameter Description
tenant_id

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

host_name

The name of the host of interest to you.

Response: JSON
{
    "host": [
        {
            "resource": {
                "project": "(total)", 
                "memory_mb": 2008, 
                "host": "nova1", 
                "cpu": 1, 
                "disk_gb": 9
            }
        }, 
        {
            "resource": {
                "project": "(used_now)", 
                "memory_mb": 783, 
                "host": "nova1", 
                "cpu": 0, 
                "disk_gb": 1
            }
        }, 
        {
            "resource": {
                "project": "(used_max)", 
                "memory_mb": 0, 
                "host": "nova1", 
                "cpu": 0, 
                "disk_gb": 0
            }
        }
    ]
}

This operation does not require a request body.

PUT
v1.1/{tenant_id}/os-hosts/{host_name}

Enable a host or put it in maintenance mode.

 
Request parameters
Parameter Description
tenant_id

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

host_name

The name of the host of interest to you.

status (Optional)

Accepted values are 'enable' or 'disable'.

maintenance_mode (Optional)

Accepted values are 'enable' or 'disable'.

Request: JSON
{
    "status": "enable",
    "maintenance_mode": "disable"
}
Response: JSON
{
    "host" "nova1",
    "status": "enabled",
    "maintenance_mode": "maintenance_off"
}
GET
v1.1/{tenant_id}/os-hosts/{host_name}/startup

Start a host.

 
Request parameters
Parameter Description
tenant_id

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

host_name

The name of the host of interest to you.

Response: JSON
{
    "host": "nova1"
}

This operation does not require a request body.

GET
v1.1/{tenant_id}/os-hosts/{host_name}/shutdown

Shut down a host.

 
Request parameters
Parameter Description
tenant_id

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

host_name

The name of the host of interest to you.

Response: JSON
{
    "host": "nova1"
}

This operation does not require a request body.

GET
v1.1/{tenant_id}/os-hosts/{host_name}/reboot

Reboot a host.

 
Request parameters
Parameter Description
tenant_id

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

host_name

The name of the host of interest to you.

Response: JSON
{
    "host": "nova1"
}

This operation does not require a request body.

Flavor Management

Creates and deletes flavors.

POST
v1.1/{tenant_id}/flavors

Create a flavor.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

name

Enter a name for the new flavor you want to create

ram

Enter a MB value for the amount of RAM for this flavor.

vcpus

Enter a whole integer value for the virtual CPUs for the new flavor you want to create.

disk

Enter a GB value for the amount of disk space.

id

Enter a unique integer value for the identifier for the new flavor.

Request: JSON
{
    "flavor": {
        "name": "flavor-12",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": 12,
    }
}
Response: JSON
{
    "flavor": {
        "name": "flavor-12",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": 12
    }
}
DELETE
v1.1/{tenant_id}/flavors/{flavor_id}

Delete a flavor.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

flavor_id

The unique identifier of the flavor.

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

Flavors - Extra Data

Allows extra attributes to be returned with flavor objects. This includes 'swap', 'rxtx_factor' and 'OS-FLV-EXT-DATA:ephemeral'.

POST
v1.1/{tenant_id}/flavors

Create a flavor with extra attributes.

 
Request parameters
Parameter Description
tenant_id

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

swap

Amount of swap disk space to allocate to a server (in GB).

rxtx_factor

This property allows created servers to have a different bandwidth cap than that defined in the network they are attached to. This factor is multiplied by the rxtx_base property of the network.

OS-FLV-EXT-DATA:ephemeral

Size of secondary drive to attach to a server (in GB).

Request: JSON
{
    "flavor": {
        "name": "flavor-12",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": 12,
        "swap": 5,
        "rxtx_factor": 2,
        "OS-FLV-EXT-DATA:ephemeral": 30
    }
}
Response: JSON
{
    "flavor": {
        "name": "flavor-12",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": 12,
        "swap": 5,
        "rxtx_factor": 2,
        "OS-FLV-EXT-DATA:ephemeral": 30
    }
}
GET
v1.1/{tenant_id}/flavors/{flavor_id}

Describe a single flavor with extra attributes.

 
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: JSON
{
    "flavor": {
        "name": "flavor-12",
        "ram": 1024,
        "vcpus": 2,
        "disk": 10,
        "id": 12,
        "swap": 5,
        "rxtx_factor": 2,
        "OS-FLV-EXT-DATA:ephemeral": 30
    }
}

This operation does not require a request body.

GET
v1.1/{tenant_id}/flavors/detail

List flavors with extra attributes.

 
Request parameters
Parameter Description
tenant_id

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

Response: JSON
{
    "flavors": [
        {
            "name": "flavor-12",
            "ram": 1024,
            "vcpus": 2,
            "disk": 10,
            "id": 12,
            "swap": 5,
            "rxtx_factor": 2,
            "OS-FLV-EXT-DATA:ephemeral": 30
        },
        {
            "name": "flavor-13",
            "ram": 512,
            "vcpus": 1,
            "disk": 20,
            "id": 13,
            "swap": 0,
            "rxtx_factor": 1,
            "OS-FLV-EXT-DATA:ephemeral": 0
        }
    ]
}

This operation does not require a request body.

Host Aggregates

Allows the creation and management of host aggregates (such as pools of compute nodes).

POST
v1.1/{tenant_id}/os-aggregates/{aggregate_id}/action

Set 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: JSON
{
  'set_metadata':
     {
        'metadata':
           {
              'foo_key': 'foo_value' 
           }
     }
}

This operation does not return a response body.

POST
v1.1/{tenant_id}/os-aggregates/{aggregate_id}/action

Add 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.

Request: JSON
{
  'add_host':
    {
      'host': '<host-id>'
    }
}

This operation does not return a response body.

POST
v1.1/{tenant_id}/os-aggregates/{aggregate_id}/action

Remove 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: JSON
{
  'remove_host':
    {
      'host': '<host-id>'
    }
}

This operation does not return a response body.

Virtual Interfaces

Enables listing of Virtual Interfaces of running instances.

POST
v1.1/{tenant_id}/servers/{server_id}/virtual_interfaces

View the virtual interfaces used in an 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: JSON
{
    'virtual_interfaces':
       {
           'id' : '<id>',
           'mac_address': '<mac_address>'
       }
}

This operation does not require a request body.

Volume Attachments

Enables you to attach volumes created through the volume API to server instances. You can also list volume attachments for a server instance, get volume details for a volume attachment, and delete a volume attachment.

POST
v1.1/{tenant_id}/servers/{server_id}/os-volume_attachments

Attaches a volume to 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.

Attach Volume to Server Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<volumeAttachment
    xmlns="http://docs.openstack.org/compute/api/v1.1"
    volumeId="volume_id"
    device="device"/>
Attach Volume to Server Request: JSON
{
    'volumeAttachment': {
      'volumeId': volume_id,
      'device': device
    }
  }

This operation does not return a response body.

GET
v1.1/{tenant_id}/servers/{server_id}/os-volume_attachments

Lists the volume attachments 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.

This operation does not return a response body.

GET
v1.1/{tenant_id}/servers/{server_id}/os-volume_attachments/{attachment_id}

Lists volume details for the specified volume attachment ID.

 
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.

attachment_id

Volume attachment ID.

This operation does not return a response body.

DELETE
v1.1/{tenant_id}/servers/{server_id}/os-volume_attachments/{attachment_id}

Deletes the specified volume attachment from 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.

attachment_id

Volume attachment ID.

This operation does not return a response body.

Image

Loads images for use at launch time by the Compute API. Some cloud implementations do not expose this API and offer pre-tested images only. You can also assign metadata to images with this API.

GET
v1/images

Requesting a List of Public VM Images

 
Request parameters
Parameter Description
name (Optional)

Name of the image as a string.

container_format (Optional)

Value of the container format, such as ovf, bare, aki, ari, or ami.

disk_format (Optional)

Value of the disk format.

status (Optional)

Filter on the status of the image, such as queued, saving, active, killed, deleted, and pending_delete..

size_min (Optional)

Value of the minimum size of the image in bytes.

size_min (Optional)

Value of the maximum size of the image in bytes.

List Image Response: JSON
{'images': [
  {'uri': 'http://glance.example.com/images/71c675ab-d94f-49cd-a114-e12490b328d9',
   'name': 'Ubuntu 10.04 Plain',
   'disk_format': 'vhd',
   'container_format': 'ovf',
   'size': '5368709120'}
  ...]}
POST
v1/images

Register a New Virtual Machine Image.

 
Request parameters
Parameter Description
name

Name for the image. Note that the name of an image is not unique to a Glance node. The API cannot expect users to know all the unique names of all other user’s images.

disk_format

Valid values are one of aki, ari, ami, raw, iso, vhd, vdi, qcow2, or vmdk.

The disk format of a virtual machine image is the format of the underlying disk image. Virtual appliance vendors have different formats for laying out the information contained in a virtual machine disk image.

You can set your image’s container format to one of the following:

  • raw

    This is an unstructured disk image format

  • vhd

    This is the VHD disk format, a common disk format used by virtual machine monitors from VMWare, Xen, Microsoft, VirtualBox, and others

  • vmdk

    Another common disk format supported by many common virtual machine monitors

  • vdi

    A disk format supported by VirtualBox virtual machine monitor and the QEMU emulator

  • iso

    An archive format for the data contents of an optical disc (e.g. CDROM).

  • qcow2

    A disk format supported by the QEMU emulator that can expand dynamically and supports Copy on Write

  • aki

    This indicates what is stored in Glance is an Amazon kernel image

  • ari

    This indicates what is stored in Glance is an Amazon ramdisk image

  • ami

    This indicates what is stored in Glance is an Amazon machine image

container_format

The container format refers to whether the virtual machine image is in a file format that also contains metadata about the actual virtual machine.

There are two main types of container formats: OVF and Amazon’s AMI. In addition, a virtual machine image may have no container format at all – basically, it’s just a blob of unstructured data.

You can set your image’s container format to one of the following:

  • ovf

    This is the OVF container format

  • bare

    This indicates there is no container or metadata envelope for the image

  • aki

    This indicates what is stored in Glance is an Amazon kernel image

  • ari

    This indicates what is stored in Glance is an Amazon ramdisk image

  • ami

    This indicates what is stored in Glance is an Amazon machine image

createImage (Optional)
Response parameters
Parameter Description
location

A location for the image identified by a URI.

GET
v1/images/detail

List available images (all details).

 
Request parameters
Parameter Description
name (Optional)

Name of the image as a string.

container_format (Optional)

Value of the container format, such as ovf, bare, aki, ari, or ami.

disk_format (Optional)

Value of the disk format.

status (Optional)

Filter on the status of the image, such as queued, saving, active, killed, deleted, and pending_delete.

size_min (Optional)

Value of the minimum size of the image in bytes.

size_min (Optional)

Value of the maximum size of the image in bytes.

Response parameters
Parameter Description
next (Optional)

Show the next item in the list.

previous (Optional)

Show the previous item in the list.

GET
v1/images/{image_id}

List details of the specified image.

 
Request parameters
Parameter Description
image_id

Identifier for an image stored via the Image API, typically a UUID.

Get Image Details Response: JSON
{'images': [
  {'uri': 'http://glance.example.com/images/71c675ab-d94f-49cd-a114-e12490b328d9',
   'name': 'Ubuntu 10.04 Plain 5GB',
   'disk_format': 'vhd',
   'container_format': 'ovf',
   'size': '5368709120',
   'checksum': 'c2e5db72bd7fd153f53ede5da5a06de3',
   'created_at': '2010-02-03 09:34:01',
   'updated_at': '2010-02-03 09:34:01',
   'deleted_at': '',
   'status': 'active',
   'is_public': true,
   'min_ram': 256,
   'min_disk': 5,
   'owner': null,
   'properties': {'distro': 'Ubuntu 10.04 LTS'}},
  ...]}

This operation does not require a request body.

PUT
v1/images/{image_id}

Updating an Image/Uploading an Image File or Updating Image Metadata

 
Request parameters
Parameter Description
image_id

Identifier for an image stored via the Image API, typically a UUID.

Response parameters
Parameter Description
location

This operation does not require a request body.

DELETE
v1/images/{image_id}

Deletes the specified image.

 
Request parameters
Parameter Description
image_id

Identifier for an image stored via the Image API, typically a UUID.

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

PUT
v1/images/{image_id}/members

Replacing a Membership List for an Image

 
Request parameters
Parameter Description
image_id

Identifier for an image stored via the Image API, typically a UUID.

memberships
can_share

This operation does not return a response body.

PUT
v1/images/{image_id}/members/{tenant_id}

Adding a Member to an Image

 
Request parameters
Parameter Description
image_id

Identifier for an image stored via the Image API, typically a UUID.

tenant_id

Identifier for a tenant managed by the Identity service. The Tenant ID can also be labeled as your account number.

can_share

Set to true if you want to authorize a tenant access to a private image.

With no body, this will add the membership to the image, leaving existing memberships unmodified and defaulting new memberships to have can_share set to false.

This operation does not return a response body.

DELETE
v1/images/{image_id}/members/{tenant_id}

Removing a Member from an Image

 
Request parameters
Parameter Description
image_id

Identifier for an image stored via the Image API, typically a UUID.

tenant_id

Identifier for a tenant managed by the Identity service. The Tenant ID can also be labeled as your account number.

member_id

The member_id field identifies a tenant with which the image is shared.

This operation does not return a response body.

GET
v1/shared-images/{tenant_id}

Requesting a List of VM Images shared with a given tenant.

 
Request parameters
Parameter Description
tenant_id
image_id

Volume

Allows you to manage volumes and snapshots that can be used with the Compute API.

POST
v1/{tenant_id}/volumes

Create a Volume.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

volume

A partial representation of a volume used in the creation process.

Create Volume Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<volume xmlns="http://docs.openstack.org/volume/api/v1"
        display_name="vol-001"
        display_description="Another volume."
        size="30"
        volume_type="289da7f8-6440-407c-9fb4-7db01ec49164"
        availability_zone="us-east1">
    <metadata>
        <meta key="contents">junk</meta>
    </metadata>
</volume>
Create Volume Request: JSON
{
    "volume": {
        "display_name": "vol-001",
        "display_description": "Another volume.",
        "size": 30,
        "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164",
        "metadata": {"contents": "junk"},
        "availability_zone": "us-east1"
     }
}
Create Volume Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<volume xmlns="http://docs.openstack.org/volume/api/v1"
        id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
        display_name="vol-001"
        display_description="Another volume."
        status="active"
        size="30"
        volume_type="289da7f8-6440-407c-9fb4-7db01ec49164"
        availability_zone="us-east1"
        created_at="2012-02-14T20:53:07Z">
    <metadata>
        <meta key="contents">junk</meta>
    </metadata>
</volume>
Create Volume Response: JSON
{
    "volume": {
        "id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
        "display_name": "vol-001",
        "display_description": "Another volume.",
        "size": 30,
        "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164",
        "metadata": {"contents": "junk"},
        "availability_zone": "us-east1",
        "snapshot_id": null,
        "attachments": [],
        "created_at": "2012-02-14T20:53:07Z"
     }
}
GET
v1/{tenant_id}/volumes

View a list of simple Volume entities.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Volumes Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<volumes xmlns="http://docs.openstack.org/volume/api/v1">
    <volume xmlns="http://docs.openstack.org/volume/api/v1"
            id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
            display_name="vol-001"
            display_description="Another volume."
            status="active"
            size="30"
            volume_type="289da7f8-6440-407c-9fb4-7db01ec49164"
            availability_zone="us-east1"
            created_at="2012-02-14T20:53:07Z">
        <metadata>
            <meta key="contents">junk</meta>
        </metadata>
    </volume>
    <volume xmlns="http://docs.openstack.org/volume/api/v1"
            id="76b8950a-8594-4e5b-8dce-0dfa9c696358"
            display_name="vol-002"
            display_description="Yet another volume."
            status="active"
            size="25"
            volume_type="96c3bda7-c82a-4f50-be73-ca7621794835"
            availability_zone="us-east2"
            created_at="2012-03-15T19:10:03Z" />
</volumes>
List Volumes Response: JSON
{
    "volumes": [
        {
            "id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
            "display_name": "vol-001",
            "display_description": "Another volume.",
            "size": 30,
            "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164",
            "metadata": {"contents": "junk"},
            "availability_zone": "us-east1",
            "snapshot_id": null,
            "attachments": [],
            "created_at": "2012-02-14T20:53:07Z"
        },
        {
            "id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
            "display_name": "vol-002",
            "display_description": "Yet another volume.",
            "size": 25,
            "volume_type": "96c3bda7-c82a-4f50-be73-ca7621794835",
            "metadata": {},
            "availability_zone": "us-east2",
            "snapshot_id": null,
            "attachments": [],
            "created_at": "2012-03-15T19:10:03Z"
        }
    ]
}

This operation does not require a request body.

GET
v1/{tenant_id}/volumes/detail

View a list of detailed Volume entities.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Volumes (Detailed) Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<volumes xmlns="http://docs.openstack.org/volume/api/v1">
    <volume xmlns="http://docs.openstack.org/volume/api/v1"
            id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
            display_name="vol-001"
            display_description="Another volume."
            status="active"
            size="30"
            volume_type="289da7f8-6440-407c-9fb4-7db01ec49164"
            availability_zone="us-east1"
            created_at="2012-02-14T20:53:07Z">
        <metadata>
            <meta key="contents">junk</meta>
        </metadata>
    </volume>
    <volume xmlns="http://docs.openstack.org/volume/api/v1"
            id="76b8950a-8594-4e5b-8dce-0dfa9c696358"
            display_name="vol-002"
            display_description="Yet another volume."
            status="active"
            size="25"
            volume_type="96c3bda7-c82a-4f50-be73-ca7621794835"
            availability_zone="us-east2"
            created_at="2012-03-15T19:10:03Z" />
</volumes>
List Volumes (Detailed) Response: JSON
{
    "volumes": [
        {
            "id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
            "display_name": "vol-001",
            "display_description": "Another volume.",
            "size": 30,
            "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164",
            "metadata": {"contents": "junk"},
            "availability_zone": "us-east1",
            "snapshot_id": null,
            "attachments": [],
            "created_at": "2012-02-14T20:53:07Z"
        },
        {
            "id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
            "display_name": "vol-002",
            "display_description": "Yet another volume.",
            "size": 25,
            "volume_type": "96c3bda7-c82a-4f50-be73-ca7621794835",
            "metadata": {},
            "availability_zone": "us-east2",
            "snapshot_id": null,
            "attachments": [],
            "created_at": "2012-03-15T19:10:03Z"
        }
    ]
}

This operation does not require a request body.

GET
v1/{tenant_id}/volumes/{volume_id}

View all information about a single Volume.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

volume_id

The unique identifier of an existing Volume.

Describe Volume Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<volume xmlns="http://docs.openstack.org/volume/api/v1"
        id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
        display_name="vol-001"
        display_description="Another volume."
        status="active"
        size="30"
        volume_type="289da7f8-6440-407c-9fb4-7db01ec49164"
        availability_zone="us-east1"
        created_at="2012-02-14T20:53:07Z">
    <metadata>
        <meta key="contents">junk</meta>
    </metadata>
</volume>
Describe Volume Response: JSON
{
    "volume": {
        "id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
        "display_name": "vol-001",
        "display_description": "Another volume.",
        "size": 30,
        "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164",
        "metadata": {"contents": "junk"},
        "availability_zone": "us-east1",
        "snapshot_id": null,
        "attachments": [],
        "created_at": "2012-02-14T20:53:07Z"
     }
}

This operation does not require a request body.

DELETE
v1/{tenant_id}/volumes/{volume_id}

Delete a single Volume.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

volume_id

The unique identifier of an existing Volume.

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

GET
v1/{tenant_id}/volume_types

Request a list of Volume Types.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Volume Types Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<volume_types xmlns="http://docs.openstack.org/volume/api/v1">
    <volume_type id="289da7f8-6440-407c-9fb4-7db01ec49164"
                 name="vol-type-001">
        <extra_specs>
            <extra_spec key="capabilities">gpu</extra_spec>
        </extra_specs>
    </volume_type>
    <volume_type id="96c3bda7-c82a-4f50-be73-ca7621794835"
                 name="vol-type-002" />
</volume_types>
List Volume Types Response: JSON
{
    "volume_types": [
        {
            "id": "289da7f8-6440-407c-9fb4-7db01ec49164",
            "name": "vol-type-001",
            "extra_specs": {"capabilities": "gpu"}
        },
        {
            "id": "96c3bda7-c82a-4f50-be73-ca7621794835",
            "name": "vol-type-002",
            "extra_specs": {}
        }
    ]
}

This operation does not require a request body.

GET
v1/{tenant_id}/volume_types/{volume_type_id}

Request a single Volume Type.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

volume_type_id

The unique identifier of an existing Volume Type.

Describe Volume Type Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<volume_type xmlns="http://docs.openstack.org/volume/api/v1"
             id="289da7f8-6440-407c-9fb4-7db01ec49164"
             name="vol-type-001">
    <extra_specs>
        <extra_spec key="capabilities">gpu</extra_spec>
    </extra_specs>
</volume_type>
Describe Volume Type Response: JSON
{
    "volume_type": {
        "id": "289da7f8-6440-407c-9fb4-7db01ec49164",
        "name": "vol-type-001",
        "extra_specs": {"capabilities": "gpu"}
     }
}

This operation does not require a request body.

POST
v1/{tenant_id}/snapshots

Create a Snapshot.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

snapshot

A partial representation of a snapshot used in the creation process.

Create Snapshot Request: XML
<?xml version="1.0" encoding="UTF-8"?>
<snapshot xmlns="http://docs.openstack.org/volume/api/v1"
          name="snap-001"
          display_name="snap-001"
          display_description="Daily backup"
          volume_id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
          force="true" />
Create Snapshot Request: JSON
{
    "snapshot": {
        "display_name": "snap-001",
        "display_description": "Daily backup",
        "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
        "force": true
     }
}
Create Snapshot Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<snapshot xmlns="http://docs.openstack.org/volume/api/v1"
          id="3fbbcccf-d058-4502-8844-6feeffdf4cb5"
          display_name="snap-001"
          display_description="Daily backup"
          volume_id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
          status="available"
          size="30"
          created_at="2012-02-29T03:50:07Z" />
Create Snapshot Response: JSON
{
    "snapshot": {
        "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
        "display_name": "snap-001",
        "display_description": "Daily backup",
        "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
        "status": "available",
        "size": 30,
        "created_at": "2012-02-29T03:50:07Z"
     }
}
GET
v1/{tenant_id}/snapshots

View a list of simple Snapshot entities.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Snapshots Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<snapshots xmlns="http://docs.openstack.org/volume/api/v1">
    <snapshot id="3fbbcccf-d058-4502-8844-6feeffdf4cb5"
              display_name="snap-001"
              display_description="Daily backup"
              volume_id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
              status="available"
              size="30"
              created_at="2012-02-29T03:50:07Z" />
    <snapshot id="e479997c-650b-40a4-9dfe-77655818b0d2"
              display_name="snap-002"
              display_description="Weekly backup"
              volume_id="76b8950a-8594-4e5b-8dce-0dfa9c696358"
              status="available"
              size="25"
              created_at="2012-03-19T01:52:47Z" />
</snapshots>
List Snapshots Response: JSON
{
    "snapshots": [
        {
            "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
            "display_name": "snap-001",
            "display_description": "Daily backup",
            "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
            "status": "available",
            "size": 30,
            "created_at": "2012-02-29T03:50:07Z"
        },
        {
            "id": "e479997c-650b-40a4-9dfe-77655818b0d2",
            "display_name": "snap-002",
            "display_description": "Weekly backup",
            "volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
            "status": "available",
            "size": 25,
            "created_at": "2012-03-19T01:52:47Z"
        }
    ]
}

This operation does not require a request body.

GET
v1/{tenant_id}/snapshots/detail

View a list of detailed Snapshot entities.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

List Snapshots (Detailed) Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<snapshots xmlns="http://docs.openstack.org/volume/api/v1">
    <snapshot id="3fbbcccf-d058-4502-8844-6feeffdf4cb5"
              display_name="snap-001"
              display_description="Daily backup"
              volume_id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
              status="available"
              size="30"
              created_at="2012-02-29T03:50:07Z" />
    <snapshot id="e479997c-650b-40a4-9dfe-77655818b0d2"
              display_name="snap-002"
              display_description="Weekly backup"
              volume_id="76b8950a-8594-4e5b-8dce-0dfa9c696358"
              status="available"
              size="25"
              created_at="2012-03-19T01:52:47Z" />
</snapshots>
List Snapshots (Detailed) Response: JSON
{
    "snapshots": [
        {
            "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
            "display_name": "snap-001",
            "display_description": "Daily backup",
            "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
            "status": "available",
            "size": 30,
            "created_at": "2012-02-29T03:50:07Z"
        },
        {
            "id": "e479997c-650b-40a4-9dfe-77655818b0d2",
            "display_name": "snap-002",
            "display_description": "Weekly backup",
            "volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
            "status": "available",
            "size": 25,
            "created_at": "2012-03-19T01:52:47Z"
        }
    ]
}

This operation does not require a request body.

GET
v1/{tenant_id}/snapshots/{snapshot_id}

View all information about a single Snapshot.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

snapshot_id

The unique identifier of an existing Snapshot.

Describe Snapshot Response: XML
<?xml version="1.0" encoding="UTF-8"?>
<snapshot xmlns="http://docs.openstack.org/volume/api/v1"
          id="3fbbcccf-d058-4502-8844-6feeffdf4cb5"
          display_name="snap-001"
          display_description="Daily backup"
          volume_id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
          status="available"
          size="30"
          created_at="2012-02-29T03:50:07Z" />
Describe Snapshot Response: JSON
{
    "snapshot": {
        "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
        "display_name": "snap-001",
        "display_description": "Daily backup",
        "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
        "status": "available",
        "size": 30,
        "created_at": "2012-02-29T03:50:07Z"
     }
}

This operation does not require a request body.

DELETE
v1/{tenant_id}/snapshots/{snapshot_id}

Delete a single Snapshot.

 
Request parameters
Parameter Description
tenant_id

The unique identifier of the tenant or account.

snapshot_id

The unique identifier of an existing Snapshot.

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