vSphere Automation
API Requests
Last Updated December 16, 2024

To retrieve or manage resources, clients make HTTP requests to a
vSphere Automation
API server.
An API request through HTTP must include a method (or verb), a URL, and headers. Depending on the type of operation, the request might or might not include a body.

HTTP Method

The methods of the
vSphere Automation
API follow the logic of the CRUD (Create, Retrieve, Update, Delete) functions used to interact with database applications.
vSphere Automation
API Methods
HTTP Method/Verb
Operation Type
Operation Summary
POST
Create
Creates a resource. Also used for some custom actions such as registering or relocating virtual machines.
GET
Retrieve
Retrieves the representation of an existing resource in its current state.
PUT
Update
Updates or replaces an entire resource.
PATCH
Update
Updates or replaces a part of a resource.
DELETE
Delete
Deletes a resource.

URL

You can reach each
vSphere Automation
API operation through a specific URL.
The URL is typically composed of:
  • the
    vCenter Server
    IP address or FQDN.
  • the
    /api
    base path
  • the package name
  • the service (also called interface) name
  • the resource identifier (if applicable)
https://<vcenter_server_ip_address_or_fqdn>/api/<package_name>/<service_name>/<resource_identifier>
To determine what you want to do with the resource, you associate an HTTP verb (POST, GET, PUT, PATCH, or DELETE) to the URL.
For example, to retrieve information about a virtual machine, you contact the
VM
service of the
vcenter
package with the GET method. You pass the virtual machine identifier as a path parameter.
GET https://<vcenter_server_ip_address_or_fqdn>/api/vcenter/vm/<vm_identifier>

HTTP Headers

The HTTP headers transfer metadata associated with the API requests and responses. They are an integral part of HTTP requests and responses as they convey information about authorization, request and response content type, response caching, and so on.
You must typically set the following HTTP headers in your requests.
Authorization
All requests to create a
vSphere Automation
API session must include an
Authorization
header in the form prescribed by your identity provider. For
vCenter Single Sign-On
basic authentication, you must use the base-64 encoded value of your user name and password separated by a colon (
username:password
). For more information, see Authentication Mechanisms.
vmware-api-session-id
This is a custom header that you use to authenticate your subsequent calls after you obtain a session identifier. Paste the session identifier as the header value.
Content-Type
This header is used to indicate the data format of the request body.
Use
application/x-www-form-urlencoded
for requests to the
Authentication Token
service.
Use
application/json
for all other requests.

Request Body

The HTTP body must be in the JSON format.
Some
vSphere Automation
API requests contain a body and some do not. For example, retrieve (GET) operations do not contain a body in the request.
To explore the request and response schemas, visit the
vSphere Automation API Reference
.