VMWare has released a RestAPI to be an alternative to powercli and their other SDKs. Once of the best ways to peek at the API is via the API Explorer. In a browser, open the web page to your vcenter server/appliance: https://<vcenter-FQDN>/apiexplorer/
I found plenty of references to using the API is other languages/formats …… but as usual powershell was harder to come by. Also, in general I found examples to be overly simplified and vmware’s explanation of what data should look like to be lacking. So after a fair amount of trial and error I put together a number of basic functions and put them in a module. They are public in Github.
The module is not (as of yet anyways) a complete covering of everything. It covers basics around creating and removing VMs, tagging, and of course Authenticating. The number of options around things like creating the vm are numerous therefore I did use some defaults. That being said, if you look at the code in the functions along with the apiexplorer you should have a good bases for making changes to make it do what you want. This applies to all the functions. As with most RestAPIs, once you figure out the basic structure of the various methods (GET,POST,DELETE,PUT,PATCH) and how to construct the body (in this case its just JSON), expanding to consume any part of the api becomes much easier.