vSphere Automation API

The VMware vSphere Automation SDK™ is optimized for developing applications that use major vSphere features such as virtual machine management, content libraries and resource deployment, tagging, and managing internal and external security certificates,

The vSphere Automation API follows a resource-based REST architecture with native JavaScript Object Notation (JSON) requests and responses. Clients can use the following tools to send requests to the vCenter Server Automation API endpoint:
  • Java language bindings (in the SDK)
  • Python language bindings (in the SDK)
  • REST
  • vSphere Automation SDK for PowerShell, a VMware PowerCLI™ feature that enables you to communicate through PowerShell scripts.

Other language bindings are available from open source projects.

The vSphere Automation API currently includes these core features:
  • Federated authentication with support for AD FS and Okta.
  • Virtual machine management allows a client to create, configure, and manage virtual machines, including migration and cloning.
  • The VMware vSphere® Lifecycle Manager™ feature supports desired-state management of hosts in a cluster.
  • The content library feature manages templating, storage, and deployment of virtual machines and vApps.
  • Tagging of vSphere objects with metadata that facilitates filtering and sorting of objects when managing large data centers.
  • Certificate management handles certificates issued by the VMware Certificate Authority (VMCA) and third-party or custom-made certificates to your environment.
  • VMware vSphere Trust Authority™ is a foundational technology that enhances workload security.

VMware development targets the Automation API for all major new features in vSphere.

The Automation API uses a REST JSON RPC protocol. It is available for download in the vSphere Automation SDKs.

The Automation API service endpoint is
https://{domain}/api/{service}

where {service} is the name of a specific service interface.

For example, you can reach the Session service through the following URL:

https://<vcenter_server_ip_address_or_fqdn>/api/session
For more information about using the vSphere Automation API, see the following publications:
  • VMware vSphere Automation API REST Programming Guide
  • VMware vSphere Automation API Java Programming Guide
  • VMware vSphere Automation API Python Programming Guide
  • vSphere Automation REST API Reference 8.0
  • vSphere Automation API Java 8.0
  • vSphere Automation API Python 8.0