I think there is a pretty good understanding on this topic, but questions still come up once in a while in VI Java API community and my inbox. Some people got errors while trying to manage free ESXi servers via API. The API support of free ESXi is limited to ready only according to a VMware KB article:
vCLI, PowerCLI, and vSphere SDk for Perl are limited to read-only access for the free vSphere Hypervisor edition. To enable full functionality of vCLI on a VMware ESXi host, the host must be licensed with vSphere Essentials, vSphere Essential Plus, vSphere Standard, vSphere Advanced, vSphere Enterprise, or vSphere Enterprise Plus.
Bothered by SLOW Web UI to manage vSphere? Want to manage ALL your VMware vCenters, AWS, Azure, Openstack, container behind a SINGLE pane of glass? Want to search, analyze, report, visualize VMs, hosts, networks, datastores, events as easily as Google the Web? Find out more about vSearch 3.0: the search engine for all your private and public clouds.
- The vSphere Hypervisor mentioned is the ESXi.
- It’s not limited to vCLI, PowerCLI, and vSphere SDK for Perl, but any other like VI Java API. They all built on top of vSphere SDK for Web Services, therefore have the same limitation.
- You can find comparisons of ESX and ESXi 4.0, 3.5.
To use full vSphere API/CLI with ESXi, you got to have a license. So if you have issue with API calls or CLI scripts, don’t forget to check your ESXi server license.
As a side story, the API was once unlocked unintentionally due to a bug fix on free ESXi 3.5 U3 as covered by Mike in his blog. Check it out here.