Compute API

The nova project has a RESTful HTTP service called the OpenStack Compute API. Through this API, the service provides massively scalable, on demand, self-service access to compute resources. Depending on the deployment those compute resources might be Virtual Machines, Physical Machines or Containers.

This guide covers the concepts in the OpenStack Compute API. For a full reference listing, please see: Compute API Reference.

We welcome feedback, comments, and bug reports at

Intended audience

This guide assists software developers who want to develop applications using the OpenStack Compute API. To use this information, you should have access to an account from an OpenStack Compute provider, or have access to your own deployment, and you should also be familiar with the following concepts:

  • OpenStack Compute service

  • RESTful HTTP services

  • HTTP/1.1

  • JSON data serialization formats

End User and Operator APIs

The Compute API includes all end user and operator API calls. The API works with keystone and oslo.policy to deliver RBAC (Role-based access control). The default policy file gives suggestions on what APIs should not be made available to most end users but this is fully configurable.

API Versions

Following the Mitaka release, every Nova deployment should have the following endpoints:

  • / - list of available versions

  • /v2 - the first version of the Compute API, uses extensions (we call this Compute API v2.0)

  • /v2.1 - same API, except uses microversions

While this guide concentrates on documenting the v2.1 API, please note that the v2.0 is (almost) identical to first microversion of the v2.1 API and are also covered by this guide.