VMware Cloud Director integrates OpenAPI. OpenAPI specifications are defined using version 2.0, which are published to allow users to generate stubs and interfaces.

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

VMware Cloud Director OpenAPI Documentation

You can examine the VMware Cloud Director OpenAPI documentation at https://VMware_Cloud_Director_IP_address_or_host_name/docs, or see the VMware Cloud Director Director CloudAPI API Reference at https://developer.vmware.com/.

VMware Cloud Director OpenAPI UI

  • Service providers can visualize VMware Cloud Director OpenAPI calls and interact with them at https://VMware_Cloud_Director_IP_address_or_host_name/api-explorer/provider.
  • Tenant users can visualize VMware Cloud Director OpenAPI calls and interact with them at https://VMware_Cloud_Director_IP_address_or_host_name/api-explorer/tenant/organization_name.

VMware Cloud Director OpenAPI Principles

  • IDs are full Uniform Resource Names (URNs).
  • VMware Cloud Director 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 VMware Cloud 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.