Starting with version 9.5, vCloud Director integrates OpenAPI. OpenAPI specifications are defined using version 2.0, which are published to allow users to generate stubs and interfaces.

vCloud OpenAPIs supplement the legacy vCloud APIs. The legacy vCloud APIs are the existing XSD-based vCloud APIs as described in vCloud API Programming Guide for Service Providers at https://code.vmware.com.

You can examine the vCloud OpenAPI documentation at https://vCloud_Director_IP_address_or_host_name/docs.

Service providers can visualize vCloud OpenAPI calls and interact with them at https://vCloud_Director_IP_address_or_host_name/api-explorer?scope=provider.

Tenant users can visualize vCloud OpenAPI calls and interact with them at https://vCloud_Director_IP_address_or_host_name/api-explorer?scope=tenant:organization_name.

IDs are full Uniform Resource Names (URNs).

vCloud OpenAPI uses JSON serialization only.

REST links are in the Link header.

Multiple relationships for any link are represented by multiple values in a space-separated list.

Links have a custom vCloud Director-specific "model" attribute that hints at the applicable data type for the links.

title + rel + model attributes evaluates to a unique link.

Links follow Hypermedia as the Engine of Application State (HATEOAS) principles. Links are present if certain operations are present and permitted for the user's current role and the state of the referred entities.

APIs follow a flatter structure relying on cross-referencing other entities instead of the navigational style used by the legacy vCloud APIs.

Most endpoints that return a list support filtering and sorting similar to the query service in the legacy vCloud APIs.

Accept header must be included to specify the API version for the request similar to calls to existing legacy vCoud APIs.

Each feature has a version in the path element present in its URL.

Note

Features without a version in their URL paths must be considered experimental.