Operations

appliance

The appliance API provides services for managing vCenter Appliance configuration. The API is available starting in vSphere 6.7.

appliance access

The appliance.access API provides services for managing access to the appliance. The API is available starting in vSphere 6.5.

consolecli

consolecli service provides operations Get/Set enabled state of CLI.
Operation HTTP request Description
get GET https://{server}/rest/appliance/access/consolecli Get enabled state of the console-based controlled CLI (TTY1).
set PUT https://{server}/rest/appliance/access/consolecli Set enabled state of the console-based controlled CLI (TTY1).

dcui

dcui service provides operations Get/Set enabled state of DCUI.
Operation HTTP request Description
get GET https://{server}/rest/appliance/access/dcui Get enabled state of Direct Console User Interface (DCUI TTY2).
set PUT https://{server}/rest/appliance/access/dcui Set enabled state of Direct Console User Interface (DCUI TTY2).

shell

shell service provides operations Get/Set enabled state of BASH.
Operation HTTP request Description
get GET https://{server}/rest/appliance/access/shell Get enabled state of BASH, that is, access to BASH from within the controlled CLI.
set PUT https://{server}/rest/appliance/access/shell Set enabled state of BASH, that is, access to BASH from within the controlled CLI.

ssh

ssh service provides operations Get/Set enabled state of SSH-based controlled CLI.
Operation HTTP request Description
get GET https://{server}/rest/appliance/access/ssh Get enabled state of the SSH-based controlled CLI.
set PUT https://{server}/rest/appliance/access/ssh Set enabled state of the SSH-based controlled CLI.

appliance health

The appliance.health API provides services for reporting the health of the various subsystems of the the appliance. The API is available starting in vSphere 6.5.

health

The health service provides operations to retrieve the appliance health information. This service was added in vSphere API 6.7.
Operation HTTP request Description
messages GET https://{server}/rest/appliance/health/{item}/messages Get health messages. This operation was added in vSphere API 6.7.

applmgmt

applmgmt service provides operations Get health status of applmgmt services.
Operation HTTP request Description
get GET https://{server}/rest/appliance/health/applmgmt Get health status of applmgmt services.

databasestorage

databasestorage service provides operations Get database storage health.
Operation HTTP request Description
get GET https://{server}/rest/appliance/health/database-storage Get database storage health.

load

load service provides operations Get load health.
Operation HTTP request Description
get GET https://{server}/rest/appliance/health/load Get load health.

mem

mem service provides operations Get memory health.
Operation HTTP request Description
get GET https://{server}/rest/appliance/health/mem Get memory health.

softwarepackages

softwarepackages service provides operations Get information on available software updates available in remote VUM repository.
Operation HTTP request Description
get GET https://{server}/rest/appliance/health/software-packages Get information on available software updates available in the remote vSphere Update Manager repository. Red indicates that security updates are available. Orange indicates that non-security updates are available. Green indicates that there are no updates available. Gray indicates that there was an error retreiving information on software updates.

storage

storage service provides operations Get storage health.
Operation HTTP request Description
get GET https://{server}/rest/appliance/health/storage Get storage health.

swap

swap service provides operations Get swap health.
Operation HTTP request Description
get GET https://{server}/rest/appliance/health/swap Get swap health.

system

system service provides operations Get overall health of the system.
Operation HTTP request Description
get GET https://{server}/rest/appliance/health/system Get overall health of system.
lastcheck GET https://{server}/rest/appliance/health/system/lastcheck Get last check timestamp of the health of the system.

appliance infraprofile

The appliance.infraprofile API provides services to manage profile spec for the appliance

configs

configs service provides operations to manage desired configuration specification of an appliance.
Operation HTTP request Description
export POST https://{server}/api/appliance/infraprofile/configs Exports the desired profile specification.
import_profile-task POST https://{server}/api/appliance/infraprofile/configs Imports the desired profile specification.
list GET https://{server}/api/appliance/infraprofile/configs List all the profiles which are registered.
validate-task POST https://{server}/api/appliance/infraprofile/configs Validates the desired profile specification.

appliance local accounts

local accounts

The local_accounts service provides operations to manage local user account. This service was added in vSphere API 6.7.
Operation HTTP request Description
create POST https://{server}/rest/appliance/local-accounts/{username} Create a new local user account. This operation was added in vSphere API 6.7.
delete DELETE https://{server}/rest/appliance/local-accounts/{username} Delete a local user account. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/appliance/local-accounts/{username} Get the local user account information. This operation was added in vSphere API 6.7.
list GET https://{server}/rest/appliance/local-accounts Get a list of the local user accounts. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/local-accounts/{username} Set local user account properties. This operation was added in vSphere API 6.7.
update PATCH https://{server}/rest/appliance/local-accounts/{username} Update selected fields in local user account properties. This operation was added in vSphere API 6.7.

policy

The policy service provides operations to manage local user accounts. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/local-accounts/global-policy Get the global password policy. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/local-accounts/global-policy Set the global password policy. This operation was added in vSphere API 6.7.

appliance logging

The appliance.logging API provides services for managing log forwarding in the appliance. The API is available starting in vSphere 6.5.

forwarding

The forwarding service provides operations to manage forwarding of log messages to remote logging servers. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/logging/forwarding Returns the configuration for forwarding log messages to remote logging servers. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/logging/forwarding Sets the configuration for forwarding log messages to remote log servers. This operation was added in vSphere API 6.7.
test POST https://{server}/rest/appliance/logging/forwarding?action=test Validates the current log forwarding configuration by checking the liveness of the remote machine and optionally sending a test diagnostic log message from the appliance to all configured logging servers to allow manual end-to-end validation. The message that is sent is: "This is a diagnostic log test message from vCenter Server.". This operation was added in vSphere API 6.7.

monitoring

monitoring service provides operations Get and list monitoring data for requested item.
Operation HTTP request Description
get GET https://{server}/rest/appliance/monitoring/{stat_id} Get monitored item info
list GET https://{server}/rest/appliance/monitoring Get monitored items list
query GET https://{server}/rest/appliance/monitoring/query Get monitoring data.

appliance networking

The appliance.networking API provides services for managing network configuration of the appliance. The API is available starting in vSphere 6.5.

networking

The networking service provides operations Get Network configurations. This service was added in vSphere API 6.7.
Operation HTTP request Description
change-task POST https://{server}/rest/appliance/networking?action=change&vmw-task=true Changes the Hostname/IP of the management network of vCenter appliance. The Hostname/IP change invokes the PNID change process which involves LDAP entry modification, updating registry entries, configuration files modification and network configuration changes. vCenter server is expected to be down for few minutes during these changes. This operation was added in vSphere API 6.7.3.
get GET https://{server}/rest/appliance/networking Get Networking information for all configured interfaces. This operation was added in vSphere API 6.7.
reset POST https://{server}/rest/appliance/networking?action=reset Reset and restarts network configuration on all interfaces, also this will renew the DHCP lease for DHCP IP address. This operation was added in vSphere API 6.7.
update PATCH https://{server}/rest/appliance/networking Enable or Disable ipv6 on all interfaces. This operation was added in vSphere API 6.7.

appliance networking dns

domains

domains service provides operations DNS search domains.
Operation HTTP request Description
add POST https://{server}/rest/appliance/networking/dns/domains Add domain to DNS search domains.
list GET https://{server}/rest/appliance/networking/dns/domains Get list of DNS search domains.
set PUT https://{server}/rest/appliance/networking/dns/domains Set DNS search domains.

hostname

hostname service provides operations Performs operations on Fully Qualified Doman Name.
Operation HTTP request Description
get GET https://{server}/rest/appliance/networking/dns/hostname Get the Fully Qualified Doman Name.
set PUT https://{server}/rest/appliance/networking/dns/hostname Set the Fully Qualified Domain Name.
test POST https://{server}/rest/appliance/networking/dns/hostname/test Test the Fully Qualified Domain Name.

servers

servers service provides operations DNS server configuration.
Operation HTTP request Description
add POST https://{server}/rest/appliance/networking/dns/servers Add a DNS server. This method fails if mode argument is "dhcp"
get GET https://{server}/rest/appliance/networking/dns/servers Get DNS server configuration.
set PUT https://{server}/rest/appliance/networking/dns/servers Set the DNS server configuration. If you set the mode argument to "DHCP", a DHCP refresh is forced.
test POST https://{server}/rest/appliance/networking/dns/servers/test Test if dns servers are reachable.

appliance networking firewall

inbound

The inbound service provides operations to manage inbound firewall rules. This service was added in vSphere API 6.7.1.
Operation HTTP request Description
get GET https://{server}/rest/appliance/networking/firewall/inbound Get the ordered list of firewall rules. Within the list of traffic rules, rules are processed in order of appearance, from top to bottom. When a connection matches a firewall rule, further processing for the connection stops, and the appliance ignores any additional firewall rules you have set. This operation was added in vSphere API 6.7.1.
set PUT https://{server}/rest/appliance/networking/firewall/inbound Set the ordered list of firewall rules to allow or deny traffic from one or more incoming IP addresses. This overwrites the existing firewall rules and creates a new rule list. Within the list of traffic rules, rules are processed in order of appearance, from top to bottom. For example, the list of rules can be as follows:
AddressPrefixInterface NamePolicy
10.112.0.10*REJECT
10.112.0.10nic0ACCEPT
In the above example, the first rule drops all packets originating from 10.112.0.1 and
the second rule accepts all packets originating from 10.112.0.1 only on nic0. In effect, the second rule is always ignored which is not desired, hence the order has to be swapped. When a connection matches a firewall rule, further processing for the connection stops, and the appliance ignores any additional firewall rules you have set. This operation was added in vSphere API 6.7.1.

appliance networking interfaces

interfaces

interfaces service provides operations Provides information about network interface.
Operation HTTP request Description
get GET https://{server}/rest/appliance/networking/interfaces/{interface_name} Get information about a particular network interface.
list GET https://{server}/rest/appliance/networking/interfaces Get list of available network interfaces, including those that are not yet configured.

ipv4

The ipv4 service provides operations to perform IPv4 network configuration for interfaces. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/networking/interfaces/{interface_name}/ipv4 Get IPv4 network configuration for specific NIC. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/networking/interfaces/{interface_name}/ipv4 Set IPv4 network configuration for specific network interface. This operation was added in vSphere API 6.7.

ipv6

The ipv6 service provides operations to perform IPv6 network configuration for interfaces. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/networking/interfaces/{interface_name}/ipv6 Get IPv6 network configuration for specific interface. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/networking/interfaces/{interface_name}/ipv6 Set IPv6 network configuration for specific interface. This operation was added in vSphere API 6.7.

no proxy

The no_proxy service provides operations to configure a connection that does not need a proxy. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/networking/noproxy Returns servers for which no proxy configuration will be applied. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/networking/noproxy Sets servers for which no proxy configuration should be applied. This operation sets environment variables. In order for this operation to take effect, a logout from appliance or a service restart is required. If IPv4 is enabled, "127.0.0.1" and "localhost" will always bypass the proxy (even if they are not explicitly configured). This operation was added in vSphere API 6.7.

proxy

The proxy service provides operations Proxy configuration. This service was added in vSphere API 6.7.
Operation HTTP request Description
delete DELETE https://{server}/rest/appliance/networking/proxy/{protocol} Deletes a proxy configuration for a specific protocol. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/appliance/networking/proxy/{protocol} Gets the proxy configuration for a specific protocol. This operation was added in vSphere API 6.7.
list GET https://{server}/rest/appliance/networking/proxy Gets proxy configuration for all configured protocols. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/networking/proxy/{protocol} Configures which proxy server to use for the specified protocol. This operation sets environment variables for using proxy. In order for this configuration to take effect a logout / service restart is required. This operation was added in vSphere API 6.7.
test POST https://{server}/rest/appliance/networking/proxy/{protocol}?action=test Tests a proxy configuration by testing the connection to the proxy server and test host. This operation was added in vSphere API 6.7.

ntp

ntp service provides operations Gets NTP configuration status and tests connection to ntp servers. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/ntp Get the NTP configuration status. If you run the 'timesync.get' command, you can retrieve the current time synchronization method (NTP- or VMware Tools-based). The 'ntp' command always returns the NTP server information, even when the time synchronization mode is not set to NTP. If the time synchronization mode is not NTP-based, the NTP server status is displayed as down. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/ntp Set NTP servers. This method updates old NTP servers from configuration and sets the input NTP servers in the configuration. If NTP based time synchronization is used internally, the NTP daemon will be restarted to reload given NTP configuration. In case NTP based time synchronization is not used, this method only replaces servers in the NTP configuration. This operation was added in vSphere API 6.7.
test POST https://{server}/rest/appliance/ntp/test Test the connection to a list of ntp servers. This operation was added in vSphere API 6.7.

appliance recovery

The appliance.recovery API provides services for backin up and restoring vCenter Appliance configuration. The API is available starting in vSphere 6.7.

recovery

The recovery service provides operations to invoke an appliance recovery (backup and restore). This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/recovery Gets the properties of the appliance Recovery subsystem. This operation was added in vSphere API 6.7.

appliance recovery backup

backup

backup service provides operations Performs backup restore operations
Operation HTTP request Description
validate POST https://{server}/rest/appliance/recovery/backup/validate Check for backup errors without starting backup.

appliance recovery backup job

job

The job service provides operations to be performed on a backup job.
Operation HTTP request Description
cancel POST https://{server}/rest/appliance/recovery/backup/job/{id}/cancel Cancel the backup job.
create POST https://{server}/rest/appliance/recovery/backup/job Initiate backup.
get GET https://{server}/rest/appliance/recovery/backup/job/{id} See backup job progress/result.
list GET https://{server}/rest/appliance/recovery/backup/job Get list of backup jobs

details

The details service provides operations to get the details about backup jobs. This service was added in vSphere API 6.7.
Operation HTTP request Description
list GET https://{server}/rest/appliance/recovery/backup/job/details Returns detailed information about the current and historical backup jobs. This operation was added in vSphere API 6.7.

parts

parts service provides operations Provides list of parts optional for the backup
Operation HTTP request Description
get GET https://{server}/rest/appliance/recovery/backup/parts/{id} Gets the size (in MB) of the part.
list GET https://{server}/rest/appliance/recovery/backup/parts Gets a list of the backup parts.

schedules

The schedules service provides operations to be performed to manage backup schedules. This service was added in vSphere API 6.7.
Operation HTTP request Description
create POST https://{server}/rest/appliance/recovery/backup/schedules/{schedule} Creates a schedule. This operation was added in vSphere API 6.7.
delete DELETE https://{server}/rest/appliance/recovery/backup/schedules/{schedule} Deletes an existing schedule. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/appliance/recovery/backup/schedules/{schedule} Returns an existing schedule information based on id. This operation was added in vSphere API 6.7.
list GET https://{server}/rest/appliance/recovery/backup/schedules Returns a list of existing schedules with details. This operation was added in vSphere API 6.7.
run POST https://{server}/rest/appliance/recovery/backup/schedules/{schedule}?action=run Initiate backup with the specified schedule. This operation was added in vSphere API 6.7.
update PUT https://{server}/rest/appliance/recovery/backup/schedules/update/{schedule} Updates a schedule. This operation was added in vSphere API 6.7.

appliance recovery backup system name

system name

The system_name service provides operations to enumerate system names of appliance backups. This service was added in vSphere API 6.7.
Operation HTTP request Description
list GET https://{server}/rest/appliance/recovery/backup/system-name Returns a list of system names for which backup archives exist under loc_spec. This operation was added in vSphere API 6.7.

archive

The archive service provides operations to get the backup information. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/recovery/backup/system-name/{system_name}/archives/{archive} Returns the information for backup corresponding to given backup location and system name. This operation was added in vSphere API 6.7.
list GET https://{server}/rest/appliance/recovery/backup/system-name/{system_name}/archives Returns information about backup archives corresponding to given backup location and system name, which match the appliance.recovery.backup.system_name.archive.filter_spec. This operation was added in vSphere API 6.7.

appliance recovery reconciliation

job

The job service provides operations to create and get the status of reconciliation job. This service was added in vSphere API 6.7.
Operation HTTP request Description
create POST https://{server}/rest/appliance/recovery/reconciliation/job Initiate reconciliation. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/appliance/recovery/reconciliation/job Get reconciliation job progress/result. This operation was added in vSphere API 6.7.

appliance recovery restore

restore

restore service provides operations Performs restore operations
Operation HTTP request Description
validate POST https://{server}/rest/appliance/recovery/restore/validate Get metadata before restore

job

job service provides operations Performs restore operations
Operation HTTP request Description
cancel POST https://{server}/rest/appliance/recovery/restore/job/cancel Cancel the restore job
create POST https://{server}/rest/appliance/recovery/restore/job Initiate restore.
get GET https://{server}/rest/appliance/recovery/restore/job See restore job progress/result.

services

The Service service provides operations to manage a single/set of appliance services. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/services/{service} Returns the state of a service. This operation was added in vSphere API 6.7.
list GET https://{server}/rest/appliance/services Lists details of vCenter services. This operation was added in vSphere API 6.7.
restart POST https://{server}/rest/appliance/services/{service}/restart Restarts a service. This operation was added in vSphere API 6.7.
start POST https://{server}/rest/appliance/services/{service}/start Starts a service. This operation was added in vSphere API 6.7.
stop POST https://{server}/rest/appliance/services/{service}/stop Stops a service. This operation was added in vSphere API 6.7.

shutdown

shutdown service provides operations Performs reboot/shutdown operations on appliance. This service was added in vSphere API 6.7.
Operation HTTP request Description
cancel POST https://{server}/rest/appliance/shutdown/cancel Cancel pending shutdown action. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/appliance/shutdown Get details about the pending shutdown action. This operation was added in vSphere API 6.7.
poweroff POST https://{server}/rest/appliance/shutdown/poweroff Power off the appliance. This operation was added in vSphere API 6.7.
reboot POST https://{server}/rest/appliance/shutdown/reboot Reboot the appliance. This operation was added in vSphere API 6.7.

appliance system

The appliance.system API provides services to query the appliance system information. The API is available starting in vSphere 6.5.

storage

storage service provides operations Appliance storage configuration
Operation HTTP request Description
list GET https://{server}/rest/appliance/system/storage Get disk to partition mapping.
resize POST https://{server}/rest/appliance/system/storage/resize Resize all partitions to 100 percent of disk size.
resize_ex POST https://{server}/rest/appliance/system/storage?action=resize-ex Resize all partitions to 100 percent of disk size. This operation was added in vSphere API 6.7.

appliance system time

time

time service provides operations Gets system time.
Operation HTTP request Description
get GET https://{server}/rest/appliance/system/time Get system time.

timezone

The timezone service provides operations to get and set the appliance timezone. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/system/time/timezone Get time zone. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/system/time/timezone Set time zone. This operation was added in vSphere API 6.7.

uptime

uptime service provides operations Get the system uptime.
Operation HTTP request Description
get GET https://{server}/rest/appliance/system/uptime Get the system uptime.

version

version service provides operations Get the appliance version.
Operation HTTP request Description
get GET https://{server}/rest/appliance/system/version Get the version.

timesync

timesync service provides operations Performs time synchronization configuration. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/timesync Get time synchronization mode. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/timesync Set time synchronization mode. This operation was added in vSphere API 6.7.

appliance update

The appliance.update API provides services for updating the software in the appliance. The API is available starting in vSphere 6.5.

update

The update service provides operations to get the status of the appliance update. This service was added in vSphere API 6.7.
Operation HTTP request Description
cancel POST https://{server}/rest/appliance/update?action=cancel Request the cancellation the update operation that is currently in progress. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/appliance/update Gets the current status of the appliance update. This operation was added in vSphere API 6.7.

pending

The pending service provides operations to manipulate pending updates. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/update/pending/{version} Gets update information. This operation was added in vSphere API 6.7.
install POST https://{server}/rest/appliance/update/pending/{version}?action=install Starts operation of installing the appliance update. Will fail is the update is not staged. This operation was added in vSphere API 6.7.
list GET https://{server}/rest/appliance/update/pending Checks if new updates are available. This operation was added in vSphere API 6.7.
precheck POST https://{server}/rest/appliance/update/pending/{version}?action=precheck Runs update precheck. This operation was added in vSphere API 6.7.
stage POST https://{server}/rest/appliance/update/pending/{version}?action=stage Starts staging the appliance update. The updates are searched for in the following order: staged, CDROM, URL. This operation was added in vSphere API 6.7.
stage_and_install POST https://{server}/rest/appliance/update/pending/{version}?action=stage-and-install Starts operation of installing the appliance update. Will stage update if not already staged The updates are searched for in the following order: staged, CDROM, URL. This operation was added in vSphere API 6.7.
validate POST https://{server}/rest/appliance/update/pending/{version}?action=validate Validates the user provided data before the update installation. This operation was added in vSphere API 6.7.

policy

The policy service provides operations to set/get background check for the new updates. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/appliance/update/policy Gets the automatic update checking and staging policy. This operation was added in vSphere API 6.7.
set PUT https://{server}/rest/appliance/update/policy Sets the automatic update checking and staging policy. This operation was added in vSphere API 6.7.

staged

The staged service provides operations to get the status of the staged update. This service was added in vSphere API 6.7.
Operation HTTP request Description
delete DELETE https://{server}/rest/appliance/update/staged Deletes the staged update. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/appliance/update/staged Gets the current status of the staged update. This operation was added in vSphere API 6.7.

appliance vmon

The appliance.vmon API provides services to manage a set of services that are part of the vCenter Server.

service

The service service provides operations to manage a single/set of services that are managed by vMon.
Operation HTTP request Description
get GET https://{server}/rest/appliance/vmon/service/{service} Returns the state of a service.
list_details GET https://{server}/rest/appliance/vmon/service Lists details of services managed by vMon.
restart POST https://{server}/rest/appliance/vmon/service/{service}/restart Restarts a service
start POST https://{server}/rest/appliance/vmon/service/{service}/start Starts a service
stop POST https://{server}/rest/appliance/vmon/service/{service}/stop Stops a service
update PATCH https://{server}/rest/appliance/vmon/service/{service} Updates the properties of a service.

cis

The cis API provides VMware common infrastructure services.

session

The session service allows API clients to manage session tokens including creating, deleting and obtaining information about sessions.

The call to the create operation is part of the overall authentication process for API clients. For example, the sequence of steps for establishing a session with SAML token is:

See the programming guide and samples for additional information about establishing API sessions.

Execution Context and Security Context

To use session based authentication a client should supply the session token obtained through the create operation. The client should add the session token in the security context when using SDK classes. Clients using the REST API should supply the session token as a HTTP header.

Session Lifetime

A session begins with call to the create operation to exchange a SAML token for a API session token. A session ends under the following circumstances:

When a session ends, the authentication logic will reject any subsequent client requests that specify that session. Any operations in progress will continue to completion.

Error Handling

The cis.session returns the following errors:

Operation HTTP request Description
create POST https://{server}/rest/com/vmware/cis/session Creates a session with the API. This is the equivalent of login. This operation exchanges user credentials supplied in the security context for a session identifier that is to be used for authenticating subsequent calls. To authenticate subsequent calls clients are expected to include the session key.
delete DELETE https://{server}/rest/com/vmware/cis/session Terminates the validity of a session token. This is the equivalent of log out.

A session identifier is expected as part of the request.

get POST https://{server}/rest/com/vmware/cis/session?~action=get Returns information about the current session. This operation expects a valid session identifier to be supplied.

A side effect of invoking this operation may be a change to the session's last accessed time to the current time if this is supported by the session implementation. Invoking any other operation in the API will also update the session's last accessed time.

This API is meant to serve the needs of various front end projects that may want to display the name of the user. Examples of this include various web based user interfaces and logging facilities.

cis tagging

The cis.tagging component provides operations and structures to attach metadata, by means of tags, to vSphere objects to make these objects more sortable and searchable. You can use it to create, manage, and enumerate tags and their categories (the group a tag belongs to). You can also query the attached tags and attached objects.

category

The category service provides operations to create, read, update, delete, and enumerate categories.
Operation HTTP request Description
add_to_used_by POST https://{server}/rest/com/vmware/cis/tagging/category/id:{category_id}?~action=add-to-used-by Adds the used_by_entity to the cis.tagging.category_model.used_by subscribers set for the specified category. If the used_by_entity is already in the set, then this becomes an idempotent no-op. To invoke this operation, you need the modify cis.tagging.category_model.used_by privilege on the category.
create POST https://{server}/rest/com/vmware/cis/tagging/category Creates a category. To invoke this operation, you need the create category privilege.
delete DELETE https://{server}/rest/com/vmware/cis/tagging/category/id:{category_id} Deletes an existing category. To invoke this operation, you need the delete privilege on the category.
get GET https://{server}/rest/com/vmware/cis/tagging/category/id:{category_id} Fetches the category information for the given category identifier. In order to view the category information, you need the read privilege on the category.
list GET https://{server}/rest/com/vmware/cis/tagging/category Enumerates the categories in the system. To invoke this operation, you need the read privilege on the individual categories. The array will only contain those categories for which you have read privileges.
list_used_categories POST https://{server}/rest/com/vmware/cis/tagging/category?~action=list-used-categories Enumerates all categories for which the used_by_entity is part of the cis.tagging.category_model.used_by subscribers set. To invoke this operation, you need the read privilege on the individual categories.
remove_from_used_by POST https://{server}/rest/com/vmware/cis/tagging/category/id:{category_id}?~action=remove-from-used-by Removes the used_by_entity from the cis.tagging.category_model.used_by subscribers set. If the used_by_entity is not using this category, then this becomes a no-op. To invoke this operation, you need the modify cis.tagging.category_model.used_by privilege on the category.
revoke_propagating_permissions POST https://{server}/rest/com/vmware/cis/tagging/category/id:{category_id}?~action=revoke-propagating-permissions Revokes all propagating permissions on the given category. You should then attach a direct permission with tagging privileges on the given category. To invoke this operation, you need category related privileges (direct or propagating) on the concerned category.
update PATCH https://{server}/rest/com/vmware/cis/tagging/category/id:{category_id} Updates an existing category. To invoke this operation, you need the edit privilege on the category.

tag

The tag service provides operations to create, read, update, delete, and enumerate tags.
Operation HTTP request Description
add_to_used_by POST https://{server}/rest/com/vmware/cis/tagging/tag/id:{tag_id}?~action=add-to-used-by Adds the used_by_entity to the cis.tagging.tag_model.used_by subscribers set. If the used_by_entity is already in the set, then this becomes a no-op. To invoke this operation, you need the modify cis.tagging.tag_model.used_by privilege on the tag.
create POST https://{server}/rest/com/vmware/cis/tagging/tag Creates a tag. To invoke this operation, you need the create tag privilege on the input category.
delete DELETE https://{server}/rest/com/vmware/cis/tagging/tag/id:{tag_id} Deletes an existing tag. To invoke this operation, you need the delete privilege on the tag.
get GET https://{server}/rest/com/vmware/cis/tagging/tag/id:{tag_id} Fetches the tag information for the given tag identifier. To invoke this operation, you need the read privilege on the tag in order to view the tag info.
list GET https://{server}/rest/com/vmware/cis/tagging/tag Enumerates the tags in the system. To invoke this operation, you need read privilege on the individual tags. The array will only contain tags for which you have read privileges.
list_tags_for_category POST https://{server}/rest/com/vmware/cis/tagging/tag/id:{category_id}?~action=list-tags-for-category Enumerates all tags for the given category. To invoke this operation, you need the read privilege on the given category and the individual tags in that category.
list_used_tags POST https://{server}/rest/com/vmware/cis/tagging/tag?~action=list-used-tags Enumerates all tags for which the used_by_entity is part of the cis.tagging.tag_model.used_by subscribers set. To invoke this operation, you need the read privilege on the individual tags.
remove_from_used_by POST https://{server}/rest/com/vmware/cis/tagging/tag/id:{tag_id}?~action=remove-from-used-by Removes the used_by_entity from the cis.tagging.tag_model.used_by subscribers set. If the used_by_entity is not using this tag, then this becomes a no-op. To invoke this operation, you need modify cis.tagging.tag_model.used_by privilege on the tag.
revoke_propagating_permissions POST https://{server}/rest/com/vmware/cis/tagging/tag/id:{tag_id}?~action=revoke-propagating-permissions Revokes all propagating permissions on the given tag. You should then attach a direct permission with tagging privileges on the given tag. To invoke this operation, you need tag related privileges (direct or propagating) on the concerned tag.
update PATCH https://{server}/rest/com/vmware/cis/tagging/tag/id:{tag_id} Updates an existing tag. To invoke this operation, you need the edit privilege on the tag.

tag association

The tag_association service provides operations to attach, detach, and query tags.
Operation HTTP request Description
attach POST https://{server}/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=attach Attaches the given tag to the input object. The tag needs to meet the cardinality (cis.tagging.category_model.cardinality) and associability (cis.tagging.category_model.associable_types) criteria in order to be eligible for attachment. If the tag is already attached to the object, then this operation is a no-op and an error will not be thrown. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on the object.
attach_multiple_tags_to_object POST https://{server}/rest/com/vmware/cis/tagging/tag-association?~action=attach-multiple-tags-to-object Attaches the given tags to the input object. If a tag is already attached to the object, then the individual operation is a no-op and an error will not be added to cis.tagging.tag_association.batch_result.error_messages. To invoke this operation, you need the read privilege on the object and the attach tag privilege on each tag. This operation was added in vSphere API 6.5.
attach_tag_to_multiple_objects POST https://{server}/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=attach-tag-to-multiple-objects Attaches the given tag to the input objects. If a tag is already attached to the object, then the individual operation is a no-op and an error will not be added to cis.tagging.tag_association.batch_result.error_messages. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on each object. This operation was added in vSphere API 6.5.
detach POST https://{server}/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=detach Detaches the tag from the given object. If the tag is already removed from the object, then this operation is a no-op and an error will not be thrown. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on the object.
detach_multiple_tags_from_object POST https://{server}/rest/com/vmware/cis/tagging/tag-association?~action=detach-multiple-tags-from-object Detaches the given tags from the input object. If a tag is already removed from the object, then the individual operation is a no-op and an error will not be added to cis.tagging.tag_association.batch_result.error_messages. To invoke this operation, you need the read privilege on the object and the attach tag privilege each tag. This operation was added in vSphere API 6.5.
detach_tag_from_multiple_objects POST https://{server}/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=detach-tag-from-multiple-objects Detaches the given tag from the input objects. If a tag is already removed from the object, then the individual operation is a no-op and an error will not be added to cis.tagging.tag_association.batch_result.error_messages. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on each object. This operation was added in vSphere API 6.5.
list_attachable_tags POST https://{server}/rest/com/vmware/cis/tagging/tag-association?~action=list-attachable-tags Fetches the array of attachable tags for the given object, omitting the tags that have already been attached. Criteria for attachability is calculated based on tagging cardinality (cis.tagging.category_model.cardinality) and associability (cis.tagging.category_model.associable_types) constructs. To invoke this operation, you need the read privilege on the input object. The array will only contain those tags for which you have read privileges.
list_attached_objects POST https://{server}/rest/com/vmware/cis/tagging/tag-association/id:{tag_id}?~action=list-attached-objects Fetches the array of attached objects for the given tag. To invoke this operation, you need the read privilege on the input tag. Only those objects for which you have the read privilege will be returned.
list_attached_objects_on_tags POST https://{server}/rest/com/vmware/cis/tagging/tag-association?~action=list-attached-objects-on-tags Fetches the array of cis.tagging.tag_association.tag_to_objects describing the input tag identifiers and the objects they are attached to. To invoke this operation, you need the read privilege on each input tag. The cis.tagging.tag_association.tag_to_objects.object_ids will only contain those objects for which you have the read privilege. This operation was added in vSphere API 6.5.
list_attached_tags POST https://{server}/rest/com/vmware/cis/tagging/tag-association?~action=list-attached-tags Fetches the array of tags attached to the given object. To invoke this operation, you need the read privilege on the input object. The array will only contain those tags for which you have the read privileges.
list_attached_tags_on_objects POST https://{server}/rest/com/vmware/cis/tagging/tag-association?~action=list-attached-tags-on-objects Fetches the array of cis.tagging.tag_association.object_to_tags describing the input object identifiers and the tags attached to each object. To invoke this operation, you need the read privilege on each input object. The cis.tagging.tag_association.object_to_tags.tag_ids will only contain those tags for which you have the read privilege. This operation was added in vSphere API 6.5.

tasks

The tasks service provides operations for managing the task related to a long running operation. This service was added in vSphere API 6.7.1.
Operation HTTP request Description
cancel POST https://{server}/rest/cis/tasks/{task}?action=cancel Cancel a running operation associated with the task. This is the best effort attempt. Operation may not be cancelled anymore once it reaches certain stage. This operation was added in vSphere API 6.7.1.
get GET https://{server}/rest/cis/tasks/{task} Returns information about a task. This operation was added in vSphere API 6.7.1.
list GET https://{server}/rest/cis/tasks Returns information about at most 1000 visible (subject to permission checks) tasks matching the cis.tasks.filter_spec. All tasks must be in the same provider. This operation was added in vSphere API 6.7.1.

content

The Content API provides structures and services for configuring global settings and permissions, and for managing libraries in the Content Library Service.

configuration

The configuration service provides operations to configure the global settings of the Content Library Service.

The configuration settings are used by the Content Library Service to control the behavior of various operations.

Operation HTTP request Description
get POST https://{server}/rest/com/vmware/content/configuration?~action=get Retrieves the current configuration values.
update PATCH https://{server}/rest/com/vmware/content/configuration Updates the configuration. The update is incremental. Any field in the content.configuration_model structure that is unset will not be modified. Note that this update operation doesn't guarantee an atomic change of all the properties. In the case of a system crash or failure, some of the properties could be left unchanged while others may be updated.

content library

The Content Library API provides structures and services for defining and managing the library's items, subscription, publication, and storage.

library

The library service provides operations to manage and find content.library_model entities.

The library service provides support for generic functionality which can be applied equally to all types of libraries. The functionality provided by this service will not affect the properties specific to the type of library. See also content.local_library and content.subscribed_library.

Operation HTTP request Description
find POST https://{server}/rest/com/vmware/content/library?~action=find Returns a list of all the visible (as determined by authorization policy) libraries matching the requested content.library.find_spec.
get GET https://{server}/rest/com/vmware/content/library/id:{library_id} Returns a given content.library_model.
list GET https://{server}/rest/com/vmware/content/library Returns the identifiers of all libraries of any type in the Content Library.
update PATCH https://{server}/rest/com/vmware/content/library/id:{library_id} Updates the properties of a library.

This is an incremental update to the library. Any field in the content.library_model structure that is unset will not be modified.

This operation will only update the common properties for all library types. This will not, for example, update the content.library_model.publish_info of a local library, nor the content.library_model.subscription_info of a subscribed library. Specific properties are updated in update and update.

content library item

The Content Library Item API provides structures and services for managing files in a library item.

item

The item service provides operations for managing library items.
Operation HTTP request Description
copy POST https://{server}/rest/com/vmware/content/library/item/id:{source_library_item_id}?~action=copy Copies a library item.

Copying a library item allows a duplicate to be made within the same or different library. The copy occurs by first creating a new library item, whose identifier is returned. The content of the library item is then copied asynchronously. This copy can be tracked as a task.

If the copy fails, Content Library Service will roll back the copy by deleting any content that was already copied, and removing the new library item. A failure during rollback may require manual cleanup by an administrator.

A library item cannot be copied into a subscribed library.

create POST https://{server}/rest/com/vmware/content/library/item Creates a new library item.

A new library item is created without any content. After creation, content can be added through the content.library.item.update_session and content.library.item.updatesession.file services.

A library item cannot be created in a subscribed library.

delete DELETE https://{server}/rest/com/vmware/content/library/item/id:{library_item_id} Deletes a library item.

This operation will immediately remove the item from the library that owns it. The content of the item will be asynchronously removed from the storage backings. The content deletion can be tracked with a task. In the event that the task fails, an administrator may need to manually remove the files from the storage backing.

This operation cannot be used to delete a library item that is a member of a subscribed library. Removing an item from a subscribed library requires deleting the item from the original published local library and syncing the subscribed library.

find POST https://{server}/rest/com/vmware/content/library/item?~action=find Returns identifiers of all the visible (as determined by authorization policy) library items matching the requested content.library.item.find_spec.
get GET https://{server}/rest/com/vmware/content/library/item/id:{library_item_id} Returns the content.library.item_model with the given identifier.
list GET https://{server}/rest/com/vmware/content/library/item Returns the identifiers of all items in the given library.
publish POST https://{server}/rest/com/vmware/content/library/item/id:{library_item_id}?~action=publish Publishes the library item to specified subscriptions of the library. If no subscriptions are specified, then publishes the library item to all subscriptions of the library. This operation was added in vSphere API 6.7.2.
update PATCH https://{server}/rest/com/vmware/content/library/item/id:{library_item_id} Updates the specified properties of a library item.

This is an incremental update to the library item. Fields that are unset in the update specification are left unchanged.

This operation cannot update a library item that is a member of a subscribed library. Those items must be updated in the source published library and synchronized to the subscribed library.

changes

The changes service provides operations to get a history of the content changes made to a library item. This service was added in vSphere API 6.9.1.
Operation HTTP request Description
get GET https://{server}/rest/content/library/item/{library_item}/changes/{version} Returns information about a library item change. This operation was added in vSphere API 6.9.1.
list GET https://{server}/rest/content/library/item/{library_item}/changes Returns commonly used information about the content changes made to a library item. This operation was added in vSphere API 6.9.1.

download session

The download_session service manipulates download sessions, which are used to download content from the Content Library Service.

A download session is an object that tracks the download of content (that is, downloading content from the Content Library Service) and acts as a lease to keep the download links available.

The content.library.item.downloadsession.file service provides access to the download links.

Operation HTTP request Description
cancel POST https://{server}/rest/com/vmware/content/library/item/download-session/id:{download_session_id}?~action=cancel Cancels the download session. This operation will abort any ongoing transfers and invalidate transfer urls that the client may be downloading from.
create POST https://{server}/rest/com/vmware/content/library/item/download-session Creates a new download session.
delete DELETE https://{server}/rest/com/vmware/content/library/item/download-session/id:{download_session_id} Deletes a download session. This removes the session and all information associated with it.

Removing a download session leaves any current transfers for that session in an indeterminate state (there is no guarantee that the transfers will be able to complete). However there will no longer be a means of inspecting the status of those downloads except by seeing the effect on the library item.

Download sessions for which there is no download activity or which are complete will automatically be expired and then deleted after a period of time.

fail POST https://{server}/rest/com/vmware/content/library/item/download-session/id:{download_session_id}?~action=fail Terminates the download session with a client specified error message.

This is useful in transmitting client side failures (for example, not being able to download a file) to the server side.

get GET https://{server}/rest/com/vmware/content/library/item/download-session/id:{download_session_id} Gets the download session with the specified identifier, including the most up-to-date status information for the session.
keep_alive POST https://{server}/rest/com/vmware/content/library/item/download-session/id:{download_session_id}?~action=keep-alive Keeps a download session alive. This operation is allowed only if the session is in the ACTIVE state.

If there is no activity for a download session for a certain period of time, the download session will expire. The download session expiration timeout is configurable in the Content Library Service system configuration. The default is five minutes. Invoking this operation enables a client to specifically extend the lifetime of an active download session.

list GET https://{server}/rest/com/vmware/content/library/item/download-session Lists the identifiers of the download sessions created by the calling user. Optionally may filter by library item.

content library item downloadsession

The Content Library Item Download Session API provides structures and services for downloading files in a session.

file

The file service provides operations for accessing files within a download session.

After a download session is created against a library item, the file service can be used to retrieve all downloadable content within the library item. Since the content may not be available immediately in a downloadable form on the server side, the client will have to prepare the file and wait for the file status to become PREPARED.

See content.library.item.download_session.

Operation HTTP request Description
get POST https://{server}/rest/com/vmware/content/library/item/downloadsession/file/id:{download_session_id}?~action=get Retrieves file download information for a specific file.
list GET https://{server}/rest/com/vmware/content/library/item/downloadsession/file Lists the information of all the files in the library item associated with the download session.
prepare POST https://{server}/rest/com/vmware/content/library/item/downloadsession/file/id:{download_session_id}?~action=prepare Requests a file to be prepared for download.

file

The file service can be used to query for information on the files within a library item. Files are objects which are added to a library item through the content.library.item.update_session and content.library.item.updatesession.file services.
Operation HTTP request Description
get POST https://{server}/rest/com/vmware/content/library/item/file/id:{library_item_id}?~action=get Retrieves the information for a single file in a library item by its name.
list GET https://{server}/rest/com/vmware/content/library/item/file Lists all of the files that are stored within a given library item.

storage

storage is a resource that represents a specific instance of a file stored on a storage backing. Unlike content.library.item.file, which is abstract, storage represents concrete files on the various storage backings. A file is only represented once in content.library.item.file, but will be represented multiple times (once for each storage backing) in storage. The storage service provides information on the storage backing and the specific location of the file in that backing to privileged users who want direct access to the file on the storage medium.
Operation HTTP request Description
get POST https://{server}/rest/com/vmware/content/library/item/storage/id:{library_item_id}?~action=get Retrieves the storage information for a specific file in a library item.
list GET https://{server}/rest/com/vmware/content/library/item/storage Lists all storage items for a given library item.

update session

The update_session service manipulates sessions that are used to upload content into the Content Library Service, and/or to remove files from a library item.

An update session is a resource which tracks changes to content. An update session is created with a set of files that are intended to be uploaded to a specific content.library.item_model, or removed from an item. The session object can be used to track the uploads and inspect the changes that are being made to the item by that upload. It can also serve as a channel to check on the result of the upload, and status messages such as errors and warnings for the upload.

Modifications are not visible to other clients unless the session is completed and all necessary files have been received.

The management of the files within the session is done through the content.library.item.updatesession.file service.

Operation HTTP request Description
cancel POST https://{server}/rest/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=cancel Cancels the update session and sets its state to CANCELED. This operation will free up any temporary resources currently associated with the session.

This operation is not allowed if the session has been already completed.

Cancelling an update session will cancel any in progress transfers (either uploaded by the client or pulled by the server). Any content that has been already received will be scheduled for deletion.

complete POST https://{server}/rest/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=complete Completes the update session. This indicates that the client has finished making all the changes required to the underlying library item. If the client is pushing the content to the server, the library item will be updated once this call returns. If the server is pulling the content, the call may return before the changes become visible. In that case, the client can track the session to know when the server is done.

This operation requires the session to be in the ACTIVE state.

Depending on the type of the library item associated with this session, a type adapter may be invoked to verify the validity of the files uploaded. The user can explicitly validate the session before completing the session by using the validate operation.

Modifications are not visible to other clients unless the session is completed and all necessary files have been received.

create POST https://{server}/rest/com/vmware/content/library/item/update-session Creates a new update session. An update session is used to make modifications to a library item. Modifications are not visible to other clients unless the session is completed and all necessary files have been received.

Content Library Service allows only one single update session to be active for a specific library item.

delete DELETE https://{server}/rest/com/vmware/content/library/item/update-session/id:{update_session_id} Deletes an update session. This removes the session and all information associated with it.

Removing an update session leaves any current transfers for that session in an indeterminate state (there is no guarantee that the server will terminate the transfers, or that the transfers can be completed). However there will no longer be a means of inspecting the status of those uploads except by seeing the effect on the library item.

Update sessions for which there is no upload activity or which are complete will automatically be deleted after a period of time.

fail POST https://{server}/rest/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=fail Terminates the update session with a client specified error message.

This is useful in transmitting client side failures (for example, not being able to access a file) to the server side.

get GET https://{server}/rest/com/vmware/content/library/item/update-session/id:{update_session_id} Gets the update session with the specified identifier, including the most up-to-date status information for the session.
keep_alive POST https://{server}/rest/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=keep-alive Keeps an update session alive.

If there is no activity for an update session after a period of time, the update session will expire, then be deleted. The update session expiration timeout is configurable in the Content Library Service system configuration. The default is five minutes. Invoking this operation enables a client to specifically extend the lifetime of the update session.

list GET https://{server}/rest/com/vmware/content/library/item/update-session Lists the identifiers of the update session created by the calling user. Optionally may filter by library item.
update PATCH https://{server}/rest/com/vmware/content/library/item/update-session/id:{update_session_id} Updates the properties of an update session.

This is an incremental update to the update session. Any field in the content.library.item.update_session_model structure that is unset will not be modified.

This operation will only update the property content.library.item.update_session_model.warning_behavior of the update session. This will not, for example, update the content.library.item.update_session_model.library_item_id or content.library.item.update_session_model.state of an update session.

This operation requires the session to be in the ACTIVE state.

. This operation was added in vSphere API 6.8.

content library item updatesession

The Content Library Item Update Session API provides structures and services for updating files in a session.

file

The file service provides operations for accessing files within an update session.

After an update session is created against a library item, the file service can be used to make changes to the underlying library item metadata as well as the content of the files. The following changes can be made:

The above changes are not applied or visible until the session is completed. See content.library.item.update_session.

Operation HTTP request Description
add POST https://{server}/rest/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=add Requests file content to be changed (either created, or updated). Depending on the source type of the file, this operation will either return an upload endpoint where the client can push the content, or the server will pull from the provided source endpoint. If a file with the same name already exists in this session, this operation will be used to update the content of the existing file.

When importing a file directly from storage, where the source endpoint is a file or datastore URI, you will need to have the ContentLibrary.ReadStorage privilege on the library item. If the file is located in the same directory as the library storage backing folder, the server will move the file instead of copying it, thereby allowing instantaneous import of files for efficient backup and restore scenarios. In all other cases, a copy is performed rather than a move.

get POST https://{server}/rest/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=get Retrieves information about a specific file in the snapshot of the library item at the time when the update session was created.
list GET https://{server}/rest/com/vmware/content/library/item/updatesession/file Lists all files in the library item associated with the update session.
remove POST https://{server}/rest/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=remove Requests a file to be removed. The file will only be effectively removed when the update session is completed.
validate POST https://{server}/rest/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=validate Validates the files in the update session with the referenced identifier and ensures all necessary files are received. In the case where a file is missing, this operation will return its name in the content.library.item.updatesession.file.validation_result.missing_files set. The user can add the missing files and try re-validating. For other type of errors, content.library.item.updatesession.file.validation_result.invalid_files will contain the list of invalid files.

subscribed item

The subscribed_item service manages the unique features of library items that are members of a subscribed library.
Operation HTTP request Description
evict POST https://{server}/rest/com/vmware/content/library/subscribed-item/id:{library_item_id}?~action=evict Evicts the cached content of a library item in a subscribed library.

This operation allows the cached content of a library item to be removed to free up storage capacity. This operation will only work when a library item is synchronized on-demand. When a library is not synchronized on-demand, it always attempts to keep its cache up-to-date with the published source. Evicting the library item will set content.library.item_model.cached to false.

sync POST https://{server}/rest/com/vmware/content/library/subscribed-item/id:{library_item_id}?~action=sync Forces the synchronization of an individual library item in a subscribed library.

Synchronizing an individual item will update that item's metadata from the remote source. If the source library item on the remote library has been deleted, this operation will delete the library item from the subscribed library as well.

The default behavior of the synchronization is determined by the content.library.subscription_info of the library which owns the library item.

  • If content.library.subscription_info.on_demand is true, then the file content is not synchronized by default. In this case, only the library item metadata is synchronized. The file content may still be forcefully synchronized by passing true for the force_sync_content parameter.
  • If content.library.subscription_info.on_demand is false, then this call will always synchronize the file content. The force_sync_content parameter is ignored when the subscription is not on-demand.
When the file content has been synchronized, the content.library.item_model.cached field will be true.

This operation will return immediately and create an asynchronous task to perform the synchronization.

subscriptions

The subscriptions service provides operations for managing the subscription information of the subscribers of a published library. This service was added in vSphere API 6.7.2.
Operation HTTP request Description
create POST https://{server}/rest/com/vmware/content/library/subscriptions/id:{library} Creates a subscription of the published library. This operation was added in vSphere API 6.7.2.
delete POST https://{server}/rest/com/vmware/content/library/subscriptions/id:{library}?~action=delete Deletes the specified subscription of the published library. The subscribed library associated with the subscription will not be deleted. This operation was added in vSphere API 6.7.2.
get POST https://{server}/rest/com/vmware/content/library/subscriptions/id:{library}?~action=get Returns information about the specified subscription of the published library. This operation was added in vSphere API 6.7.2.
list GET https://{server}/rest/com/vmware/content/library/subscriptions Lists the subscriptions of the published library. This operation was added in vSphere API 6.7.2.
update PATCH https://{server}/rest/com/vmware/content/library/subscriptions/id:{library} Updates the specified subscription of the published library.

This is an incremental update to the subscription. Except for the content.library.subscriptions.update_spec_placement structure, fields that are unset in the update specification will be left unchanged. If spec#subscribedLibraryPlacement is specified, all fields of the current subscribed library placement will be replaced by this placement.

. This operation was added in vSphere API 6.7.2.

local library

The local_library service manages local libraries.

The local_library service provides support for creating and maintaining local library instances. A local library may also use the content.library service to manage general library functionality.

Operation HTTP request Description
create POST https://{server}/rest/com/vmware/content/local-library Creates a new local library.
delete DELETE https://{server}/rest/com/vmware/content/local-library/id:{library_id} Deletes the specified local library.

Deleting a local library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal.

get GET https://{server}/rest/com/vmware/content/local-library/id:{library_id} Returns a given local library.
list GET https://{server}/rest/com/vmware/content/local-library Returns the identifiers of all local libraries in the Content Library.
publish POST https://{server}/rest/com/vmware/content/local-library/id:{library_id}?~action=publish Publishes the library to specified subscriptions. If no subscriptions are specified, then publishes the library to all its subscriptions. This operation was added in vSphere API 6.7.2.
update PATCH https://{server}/rest/com/vmware/content/local-library/id:{library_id} Updates the properties of a local library.

This is an incremental update to the local library. Fields that are unset in the update specification will be left unchanged.

subscribed library

Operation HTTP request Description
create POST https://{server}/rest/com/vmware/content/subscribed-library Creates a new subscribed library.

Once created, the subscribed library will be empty. If the content.library_model.subscription_info property is set, the Content Library Service will attempt to synchronize to the remote source. This is an asynchronous operation so the content of the published library may not immediately appear.

delete DELETE https://{server}/rest/com/vmware/content/subscribed-library/id:{library_id} Deletes the specified subscribed library.

Deleting a subscribed library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal.

evict POST https://{server}/rest/com/vmware/content/subscribed-library/id:{library_id}?~action=evict Evicts the cached content of an on-demand subscribed library.

This operation allows the cached content of a subscribed library to be removed to free up storage capacity. This operation will only work when a subscribed library is synchronized on-demand.

get GET https://{server}/rest/com/vmware/content/subscribed-library/id:{library_id} Returns a given subscribed library.
list GET https://{server}/rest/com/vmware/content/subscribed-library Returns the identifiers of all subscribed libraries in the Content Library.
probe POST https://{server}/rest/com/vmware/content/subscribed-library?~action=probe Probes remote library subscription information, including URL, SSL certificate and password. The resulting content.subscribed_library.probe_result structure describes whether or not the subscription configuration is successful.
sync POST https://{server}/rest/com/vmware/content/subscribed-library/id:{library_id}?~action=sync Forces the synchronization of the subscribed library.

Synchronizing a subscribed library forcefully with this operation will perform the same synchronization behavior as would run periodically for the library. The content.library.subscription_info.on_demand setting is respected. Calling this operation on a library that is already in the process of synchronizing will have no effect.

update PATCH https://{server}/rest/com/vmware/content/subscribed-library/id:{library_id} Updates the properties of a subscribed library.

This is an incremental update to the subscribed library. Fields that are unset in the update specification will be left unchanged.

type

The type service exposes the content.library.item_model types that this Content Library Service supports.

A library item has an optional type which can be specified with the content.library.item_model.type field. For items with a type that is supported by a plugin, the Content Library Service may understand the files which are part of the library item and can produce metadata for the item.

In other cases, uploads may require a process in which one upload implies subsequent uploads. For example, an Open Virtualization Format (OVF) package is composed of an OVF descriptor file and the associated virtual disk files. Uploading an OVF descriptor can enable the Content Library Service to understand that the complete OVF package requires additional disk files, and it can set up the transfers for the disks automatically by adding the file entries for the disks when the OVF descriptor is uploaded.

When a type is not supported by a plugin, or the type is not specified, the Content Library Service can handle a library item in a default way, without adding metadata to the item or guiding the upload process.

Operation HTTP request Description
list GET https://{server}/rest/com/vmware/content/type Returns a array of content.type.info instances which describe the type support plugins in this Content Library.

esx attestation

The esx.attestation API provides services to manage the vSphere Trust Authority Attestation Service.

esx attestation certificate

certificate

The certificate service provides operations to get or update the attestation report signing certificate.

The result of attestation is a signed report that verifies the attested host's authenticity. This service allows the report signing certificate to be read by anyone who needs to trust the signature.

Operation HTTP request Description
get GET https://{server}/api/esx/attestation/certificate Return the certificate.

Returns the certificate that is used to sign attestation reports.

set PUT https://{server}/api/esx/attestation/certificate Set the certificate.

Sets the certificate that is used to sign attestation reports. The existing certificate will be replaced by the one specified.

This is method is used after generating a CSR, and the specified certificate must match a pending CSR.

csr

The csr service provides operations to create a certificate signing request (CSR) for the attestation report signing certificate.
Operation HTTP request Description
create POST https://{server}/api/esx/attestation/certificate/csr Generate a CSR.

Generate a certificate signing request (CSR) for the attestation signing certificate.

Calling this operation repeatedly will result in a generating a new CSR each time and generating a new private key. An existing CSR, if it exists, will be discarded.

delete DELETE https://{server}/api/esx/attestation/certificate/csr Delete an existing CSR.

Discards the existing CSR. Completes successfully if no CSR is present.

get GET https://{server}/api/esx/attestation/certificate/csr Get the CSR.

Return the most recently generated CSR.

esx attestation os esx

The esx.attestation.os.esx API provides services to manage remote attestation OS configuration for ESX trust.

base images

The base_images service provides operations to manage trusted instances of ESX software.
Operation HTTP request Description
delete DELETE https://{server}/api/esx/attestation/os/esx/base-images/{version} Remove a trusted ESX base image.
get GET https://{server}/api/esx/attestation/os/esx/base-images/{version} Get the trusted ESX base version details.
import_from_imgdb POST https://{server}/api/esx/attestation/os/esx/base-images Import ESX metadata as a new trusted base image.

Import a boot_imgdb.tgz file which contains metadata that describes a trusted ESX base image. A boot_imgdb.tgz file can be downloaded from a representative host over HTTP using: https://[hostname]/boot_imgdb.tgz

list GET https://{server}/api/esx/attestation/os/esx/base-images Return a list of trusted ESX base images.

raw config

The raw_config service provides operations to get or put the attestation service persistent user configuration.

This service is most useful when either replicating existing configuration settings to a new host, or when applying a known desired configuration across several hosts in a cluster.

Operation HTTP request Description
get GET https://{server}/api/esx/attestation/raw-config Return the configuration information.

Returns the attestation service persistent user configuration.

set PUT https://{server}/api/esx/attestation/raw-config Set the configuration.

Overwrites all existing persistent user configuration with the specified configuration.

status

The status service provides operations to get the attestation service health status.
Operation HTTP request Description
get GET https://{server}/api/esx/attestation/status Return the servie status.

Returns the attestation service health status.

esx attestation tpm2

The esx.attestation.tpm2 API provides services to manage remote attestation configuration for TPM trust.

ca certificates

The ca_certificates service provides operations to manage Trusted Platform Module (TPM) CA certificates.

Endorsement Keys are typically packaged in a certificate that is signed by a certificate authority (CA). This service allows the CA certificate to be registered with the attestation service in order to validate TPM EK certificates when presented at attestation time.

Operation HTTP request Description
create POST https://{server}/api/esx/attestation/tpm2/ca-certificates Add a new TPM CA certificate.
delete DELETE https://{server}/api/esx/attestation/tpm2/ca-certificates/{name} Remove a TPM CA certificate.
get GET https://{server}/api/esx/attestation/tpm2/ca-certificates/{name} Get the TPM CA certificate details.
list GET https://{server}/api/esx/attestation/tpm2/ca-certificates Return a list of configured TPM CA certificates.

endorsement keys

The endorsement_keys service provides operations to manage Trusted Platform Module (TPM) Endorsement Keys (EK).
Operation HTTP request Description
create POST https://{server}/api/esx/attestation/tpm2/endorsement-keys Add a new TPM endorsement key.
delete DELETE https://{server}/api/esx/attestation/tpm2/endorsement-keys/{name} Remove a TPM endorsement key.
get GET https://{server}/api/esx/attestation/tpm2/endorsement-keys/{name} Get the TPM endorsement key details.
list GET https://{server}/api/esx/attestation/tpm2/endorsement-keys Return a list of configured TPM endorsement keys.

settings

The settings service provides operations to get or update settings related to the TPM 2.0 attestation protocol behavior.
Operation HTTP request Description
get GET https://{server}/api/esx/attestation/tpm2/settings Return the TPM 2.0 protocol settings.
update PATCH https://{server}/api/esx/attestation/tpm2/settings Set the TPM 2.0 protocol settings.

esx authentication

The esx.authentication API provides services for managing ESX authentication and identity management.

client profiles

The client_profiles service provides operations to manage ESX authentication tokens claims. Subject matching is used to provide permission claims described by esx.authentication.client_profiles.access_grant list.

When multiple profiles match, union of the esx.authentication.client_profiles.access_grant elements is applied. When no profiles match, no permission claims are applied.

Operation HTTP request Description
create POST https://{server}/api/esx/authentication/client-profiles Create a new client profile.
delete DELETE https://{server}/api/esx/authentication/client-profiles/{profile} Delete an existing client profile.
get GET https://{server}/api/esx/authentication/client-profiles/{profile} Get the details of a client profile.
list GET https://{server}/api/esx/authentication/client-profiles List the existing client profiles.
update PATCH https://{server}/api/esx/authentication/client-profiles/{profile} Update the access grants in an existing client profile.

token

ESXi Authentication service

This token service is providing tokens for accessing control plane services on the host.

It is reading the user's credentials from the call context and creates a signed API access token. The token can be presented as authentication to the other host APIs. API clients should treat the token as opaque value. Future ESXi releases may utilize different token technology. There are no backwards compatibility guarantees about the token format and technology. The current implementation uses JSON Web Tokens (JWT) as per RFC 7519.

Operation HTTP request Description
create POST https://{server}/api/esx/authentication/token Creates API access token using API user credentials in the call context. The returned token can be used to authenticate access to other host APIs

The ESXi Authentication service accepts the following types of user credentials:

  • Username and password
  • vCenter SAML tokens

esx authentication trust

security token issuers

The security_token_issuers service provides operations to manage ESX trust to Security Token Issuers. For example WS-Trust SSO STS or OAuth Identity Providers, that issue authentication tokens.

Each record contains a list of X.509 certificate chains that apply for a unique token issuer. The certificates are used to verify security tokens from this issuer.

Symmetric signing keys are not suported.

If a security token is received with issuer that has no configured security_token_issuers instance, the authentication fails and an error is returned.

Operation HTTP request Description
create POST https://{server}/api/esx/authentication/trust/security-token-issuers Create a new trust to a Security Token Issuer.
delete DELETE https://{server}/api/esx/authentication/trust/security-token-issuers/{issuerAlias} Delete an existing security token issuer trust.
get GET https://{server}/api/esx/authentication/trust/security-token-issuers/{issuerAlias} Get the details of a security token issuer.
list GET https://{server}/api/esx/authentication/trust/security-token-issuers List the available security token issuer trusts.
update PATCH https://{server}/api/esx/authentication/trust/security-token-issuers/{issuerAlias} Update an existing security token issuer trust.

esx hcl

The esx.hcl API provides services to query the hardware compatibility for an ESXi or a cluster.

compatibility data

This service provides operations to update the local compatibility data residing on the vCenter Appliance or to get information about the said data. The information in the data is generic VMware compatibility information for servers and devices.
Operation HTTP request Description
get GET https://{server}/api/esx/hcl/compatibility-data/status Provides information about the compatibility data located on the vCenter Appliance.
update-task POST https://{server}/api/esx/hcl/compatibility-data Replaces the local compatibility data with the latest version found from VMware official source.

esx hcl hosts

compatibility releases

This service provides operations to list available releases for generating compatibility report for a specific ESXi host.
Operation HTTP request Description
list GET https://{server}/api/esx/hcl/hosts/{host}/compatibility-releases Lists the locally available ESXi releases for a given host that can be used to generate a compatiblity report. Each host has its own list of supported releases depending on its current release.

compatibility report

This service provides operations to generate hardware compatibility report for a given ESXi host against a specific ESXi release.
Operation HTTP request Description
create-task POST https://{server}/api/esx/hcl/hosts/{host}/compatibility-report Generates hardware compatibility report for a specified ESXi host against specific ESXi release.

The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.

get GET https://{server}/api/esx/hcl/hosts/{host}/compatibility-report Returns the last generated hardware compatibility report for the given host.

reports

This service provides operations to download information generated from the hardware compatibility feature residing on the vCenter Appliance.
Operation HTTP request Description
get GET https://{server}/api/esx/hcl/reports/{report} Returns the location esx.hcl.reports.location information for downloading a compatibility report.

esx hosts software

The esx.hosts.software API provides services to get information about current software on ESX.

installed components

The installed_components service provides operations to get installed list of components.
Operation HTTP request Description
list GET https://{server}/api/esx/hosts/{host}/software/installed-components Returns the installed components on the host.

esx kms

The esx.kms API provides services to manage the vSphere Trust Authority Key Provider Service.

esx kms providers

The esx.kms.providers API provides services to manage Key Providers.

providers

The providers service provides operations to create, update and delete Key Providers.
Operation HTTP request Description
create POST https://{server}/api/esx/kms/providers Add a new Key Provider.
delete DELETE https://{server}/api/esx/kms/providers/{provider} Remove a Key Provider.
get GET https://{server}/api/esx/kms/providers/{provider} Return information about a Key Provider.
list GET https://{server}/api/esx/kms/providers Return a list of Key Providers.
update PATCH https://{server}/api/esx/kms/providers/{provider} Update an existing Key Provider.

esx kms providers client certificate

The esx.kms.providers.client_certificate API provides services to manage client certificates.

client certificate

The client_certificate service provides operations to add and retrieve client certificate.
Operation HTTP request Description
create POST https://{server}/api/esx/kms/providers/{provider}/client-certificate Generate a new self signed client certificate. Existing client certificate is overwritten. The key management server will use this certificate to validate the client connection.
get GET https://{server}/api/esx/kms/providers/{provider}/client-certificate Return the existing client certificate.
set PUT https://{server}/api/esx/kms/providers/{provider}/client-certificate Set the client certificate.

The key management server will use this certificate to validate the client connection. If a client certificate already exists, it will be replaced.

An optional private key can be specified if the certificate has already been provisioned.

csr

The csr service provides operations to create a certificate signing request(CSR).
Operation HTTP request Description
create POST https://{server}/api/esx/kms/providers/{provider}/client-certificate/csr Generate a certificate signing request (CSR) for the client certificate. This overwrites any existing CSR.

The CSR will allow the certificate to be signed by a third party. Once the CSR is signed, certificate may be added as a client certificate.

Calling the API repeatedly will result in a generating a new CSR each time.

get GET https://{server}/api/esx/kms/providers/{provider}/client-certificate/csr Get existing certificate signing request (CSR) for the client certificate and optionally the private key.

The CSR will allow the certificate to be signed by a third party. Once the CSR is signed, certificate may be added as a client certificate.

set PUT https://{server}/api/esx/kms/providers/{provider}/client-certificate/csr Set the certificate signing request (CSR) and private key.

The CSR will allow the certificate to be signed by a third party. Once the CSR is signed, certificate may be added as a client certificate.

credential

The credential service provides operations to add a credential for key management server(s).
Operation HTTP request Description
set PUT https://{server}/api/esx/kms/providers/{provider}/credential Set key management server credential.

esx kms providers server certificates

The esx.kms.providers.server_certificates API provides services to manage server certificates.

server certificates

The server_certificates service provides operations to add and retrieve trusted server certificates.

A provider must be configured with a trusted server certificate before performing any key operations.

Operation HTTP request Description
get GET https://{server}/api/esx/kms/providers/{provider}/server-certificates Return trusted server certificates.
set PUT https://{server}/api/esx/kms/providers/{provider}/server-certificates Add trusted server certificate(s).

The client will use these certificates to validate the server connection. The existing list of trusted certificates will be overwritten.

The client will not trust the server connection until a server certificate has been set.

remote

The remote service provides operations to retrieve remote key server certificate.
Operation HTTP request Description
list GET https://{server}/api/esx/kms/providers/{provider}/server-certificates/remote Return the remote server certificates.

Contacts the configured key servers and attempts to retrieve their certificates. These certificates might not yet be trusted.

If the returned certificates are to be considered trustworthy, then it must be added to the list of trusted server certificates by adding to the certificates returned by get and invoking set with the updated array of certificates.

status

The status service provides status of a Key Provider.
Operation HTTP request Description
get GET https://{server}/api/esx/kms/providers/{provider}/status Return the status of a provider.

raw config

The raw_config service provides operations to get or put the key management service persistent user configuration.

This service is most useful when either replicating existing configuration settings to a new host, or when applying a known desired configuration across several hosts in a cluster.

Operation HTTP request Description
get GET https://{server}/api/esx/kms/raw-config Return the configuration information.

Returns the key management service persistent user configuration.

set PUT https://{server}/api/esx/kms/raw-config Set the configuration.

Overwrites all existing persistent user configuration with the specified configuration.

status

The status service provides operations to get the key management service health status.
Operation HTTP request Description
get GET https://{server}/api/esx/kms/status Returns the key management service health status.

esx settings

The esx.settings API provides services to manage ESX settings.

esx settings clusters

The esx.settings.clusters API provides services to manage desired state configuration and software for a cluster of ESX hosts.

depot overrides

The depot_overrides service provides operations to manage software depots overriden for a given cluster. In general ESX servers reach out to vCenter (VUM) to fetch the metadata and payloads required for lifecycle operations. But in ROBO environments ESX clusters can't (or because of bandwidth requirements shouldn't) reach out to vCenter to fetch payloads and metadata. This service allows setting cluster level overrides for depots. If any depots are provided for a cluster, then vCenter level depots are not used for that cluster's remediation. These are not synced periodically at vCenter and are only used by ESXs for lifecycle operations.
Operation HTTP request Description
add POST https://{server}/api/esx/settings/clusters/{cluster}/depot-overrides Adds a new depot override to the list of currently configured depot overrides for a given cluster.
get GET https://{server}/api/esx/settings/clusters/{cluster}/depot-overrides Returns the information about currently configured depot overrides for a given cluster.
remove POST https://{server}/api/esx/settings/clusters/{cluster}/depot-overrides Removes a depot override from the list of currently configured depot overrides for a given cluster.

esx settings clusters enablement

The esx.settings.clusters.enablement API provides services to manage enablement of the feature that allows to collectively manage hosts within the cluster with a single software specification.

software

The software service provides operations to control whether the cluster is managed with a single software specification.
Operation HTTP request Description
check-task POST https://{server}/api/esx/settings/clusters/{cluster}/enablement/software Checks the possibility to manage the cluster with a single software specification.
enable-task PUT https://{server}/api/esx/settings/clusters/{cluster}/enablement/software Enables the feature which manages the cluster with a single software specification.
get GET https://{server}/api/esx/settings/clusters/{cluster}/enablement/software Returns whether the given cluster is managed with a single software specification.

esx settings clusters policies

The esx.settings.clusters.policies API provides services to manage policies that affect management of desired state configuration and software for an ESXi cluster. Copyright 2019 VMware, Inc. All rights reserved. VMware Confidential

esx settings clusters policies apply

The esx.settings.clusters.policies.apply API provides services to manage policies that affect application of desired state configuration and software for an ESXi cluster. Copyright 2019 VMware, Inc. All rights reserved. VMware Confidential Copyright 2019 VMware, Inc. All rights reserved. VMware Confidential

apply

The apply service provides operations to configure the policies that will impact how the software and configuration specification documents are applied to an ESXi cluster.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/policies/apply Returns the configured policy that has been set for the cluster.
set PUT https://{server}/api/esx/settings/clusters/{cluster}/policies/apply This API will set the configured policy specification for the cluster.

effective

The effective service provides operations to manage the effective policies that will impact how the software and configuration specification documents are applied to an ESXi cluster.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/policies/apply/effective Returns the effective apply policy based on system defaults and what has been configured for the cluster.

esx settings clusters software

The esx.settings.clusters.software API provides services to manage desired state software for ESX cluster.

software

The software service provides operations to manage desired software specification of an ESX cluster.
Operation HTTP request Description
apply-task POST https://{server}/api/esx/settings/clusters/{cluster}/software Applies the desired software document associated with the given cluster to hosts within the cluster. If commit field is set, it implies the minimum commit that the apply operation should use, however if subsequent commits have been made to the desired state document the apply operation will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.
check-task POST https://{server}/api/esx/settings/clusters/{cluster}/software Runs checks on the cluster before applying the desired software document across all hosts in the cluster. Checks if all hosts in the cluster are in a good state to be updated with the desired software document. If commit field is set it implies the minimum commit that the check operation should use, however if subsequent commits have been made to the desired state document the check operation will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.
export POST https://{server}/api/esx/settings/clusters/{cluster}/software Exports the desired software specification document and/or image. This API will not export the solution section of the desired software specification.
get GET https://{server}/api/esx/settings/clusters/{cluster}/software Returns the complete desired software specification.
scan-task POST https://{server}/api/esx/settings/clusters/{cluster}/software Scans all the hosts in the cluster against the cluster's desired state. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.

add on

The add_on service provides operations to manage desired OEM add-on specification for a given cluster.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/add-on Returns the desired OEM add-on specification for a given cluster.

base image

The base_image service provides operations to manage desired ESX base image.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/base-image Returns the desired base-image specification set for given cluster

commits

The commits service provides operations to manage committed changes to desired software document.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/commits/{commit} Returns the information about a specific commit.

compliance

The compliance service provides operations to get the last software compliance result for an ESX cluster.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/compliance Returns the compliance state for the cluster

components

The components service provides operations to get desired component specification for an ESX cluster.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/components/{component} Returns the component version for the given component in the desired software specification.
list GET https://{server}/api/esx/settings/clusters/{cluster}/software/components Returns a list of components in the desired software specification.

esx settings clusters software drafts software

The esx.settings.clusters.software.drafts.software API provides services to manage draft of the software documents for ESX cluster.

add on

The add_on service provides operations to manage the OEM add-on specification in a software draft.
Operation HTTP request Description
delete DELETE https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/add-on Deletes the desired OEM add-on specification in the software draft.
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/add-on Returns the OEM add-on specification in a software draft.
set PUT https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/add-on Sets a new desired OEM add-on specification in the software draft. It will overwrite the existing desired OEM add-on specification if one already exists.

base image

The base_image service provides operations to manage the base-image specification in a software draft.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/base-image Returns the base-image specification in a software draft.
set PUT https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/base-image Sets a new desired base-image specification in the software draft. It will overwrite the existing desired base-image specification if one already exists.

components

The components service provides operations to manage component specification in a software draft.
Operation HTTP request Description
delete DELETE https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/components/{component} Deletes the given component from the software draft.
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/components/{component} Returns the component version for the given component in the software draft.
list GET https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/components Returns the components that comprise the software draft.
set PUT https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/components/{component} Set the component version for a given component in the software draft. This will overwrite any existing version for the given component.
update PATCH https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/components Updates the list of components in a given draft. This allows set and/or delete of multiple components in a batch operation.

effective components

The effective_components service provides operations to manage effective list of components.
Operation HTTP request Description
list GET https://{server}/api/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/effective-components Returns the components that comprise the desired software state of the cluster.

effective components

The effective_components service provides operations to get effective list of components.
Operation HTTP request Description
list GET https://{server}/api/esx/settings/clusters/{cluster}/software/effective-components Returns the effective components for the cluster.

recommendations

The recommendations service provides operations to manage the generation and retrieval of recommended image specs.
Operation HTTP request Description
generate-task POST https://{server}/api/esx/settings/clusters/{cluster}/software/recommendations Generates recommended software image spec(s) based on current desired software spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/recommendations Returns Information about the most recent recommendation generation result.

esx settings clusters software reports

The esx.settings.clusters.software.reports API provides services to manage reports pertaining to the desired state software for a cluster of ESXi hosts.

apply impact

The apply_impact service provides operations to get the impact of an apply operation on a cluster.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/reports/apply-impact Returns a summary of how hosts within the cluster will be impacted during an apply operation. The impact is generated from the compliance information obtained from get

esx settings clusters software reports hardware compatibility

The esx.settings.clusters.software.reports.hardware_compatibility API provides services to manage reports pertaining to the desired state software for a cluster of ESXi hosts.

hardware compatibility

The hardware_compatibility service provides operations to manage HCL Validation of a software specification of an ESX cluster.
Operation HTTP request Description
check-task POST https://{server}/api/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility Initiates a Cluster HCL Validation check for a given cluster. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility Returns the hcl validation check summary.

details

The ComplianceStatus structure contains the possible different status of compliance with respect to target version.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility/details Returns the hcl validation check detailed results.

last apply result

The last_apply_result service provides operations to get the most recent available result of applying the desired software document to all hosts within a cluster.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/reports/last-apply-result Returns the most recent available result of applying the desired software document to all hosts within the cluster.

last check result

The last_check_result service provides operations to get the most recent available result of the checks that have been run on a cluster before the application of the desired software document to all hosts within the cluster.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/reports/last-check-result Returns the most recent available result of checks run on the cluster before the application of the desired software document to all hosts within the cluster.

solutions

The solutions service provides operations to manage desired software solution specifications for an ESX cluster.
Operation HTTP request Description
delete-task DELETE https://{server}/api/esx/settings/clusters/{cluster}/software/solutions/{solution} Deletes the given solution from the desired software specification. The deletion will be validated along with the entire software specification before it is committed as new desired spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.
get GET https://{server}/api/esx/settings/clusters/{cluster}/software/solutions/{solution} Returns components registered for the given solution in the desired software specification.
list GET https://{server}/api/esx/settings/clusters/{cluster}/software/solutions Returns all solutions in the desired software specification.
set-task PUT https://{server}/api/esx/settings/clusters/{cluster}/software/solutions/{solution} Sets the components registered for the given solution in the desired software specification. The task will set only one solution specification at a time. Solution constraints would be validated with the current desired software specification before it is committed as new desired spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.

esx settings defaults clusters policies

Copyright 2019 VMware, Inc. All rights reserved. VMware Confidential

esx settings defaults clusters policies apply

The esx.settings.defaults.clusters.policies.apply API provides services to manage policies that affect application of desired state configuration and software for ESXi clusters. Copyright 2019 VMware, Inc. All rights reserved. VMware Confidential Copyright 2019 VMware, Inc. All rights reserved. VMware Confidential

apply

The apply service provides operations to configure the policies that will impact how the software and configuration specification documents are applied to ESXi clusters.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/defaults/clusters/policies/apply Returns the configured policy that has been set.
set PUT https://{server}/api/esx/settings/defaults/clusters/policies/apply This API will set the configured policy specification.

effective

The effective service provides operations to manage the effective policies that will impact how the software and configuration specification documents are applied to ESXi clusters.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/defaults/clusters/policies/apply/effective Returns the effective apply policy based on system defaults and what has been configured.

esx settings depot content

The esx.settings.depot_content API provides services to retrieve contents from the depot.

esx settings depot content add ons

The esx.settings.depot_content.add_ons API provides services to retrieve OEM specific add-on versions from the depot.

add ons

The add_ons service provides operations to get OEM add-ons from the sync'ed and imported depots.
Operation HTTP request Description
list GET https://{server}/api/esx/settings/depot-content/add-ons Returns a list of currently available OEM add-ons in the depot.

versions

The versions service provides operations to get OEM add-on versions from the sync'ed and imported depots.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/depot-content/add-ons/{name}/versions/{version} Returns information about a given OEM add-on version in the depot.

esx settings depot content base images

The esx.settings.depot_content.base_images API provides services to retrieve base_images from the depot.

base images

The base_images service provides operations to get base-images from the sync'ed and imported depots.
Operation HTTP request Description
list GET https://{server}/api/esx/settings/depot-content/base-images Returns a list of currently available base-images in the depot.

versions

The versions service provides operations to get versions of base-images from the sync'ed and imported depots.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/depot-content/base-images/versions/{version} Returns information about a given base-image version in the depot.

esx settings depot content components

The esx.settings.depot_content.components API provides services to retrieve component versions from the depot.

components

The components service provides operations to get Components from the sync'ed and imported depots.
Operation HTTP request Description
list GET https://{server}/api/esx/settings/depot-content/components Returns a list of currently available components in the depot.

versions

The versions service provides operations to get component versions from the sync'ed and imported depots.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/depot-content/components/{name}/versions/{version} Returns information about a given component version in the depot.

esx settings depots

The esx.settings.depots API provides services to manage VUM compatible ESX Depots.

depots

The depots service provides operations to manage Software Depots used during ESX lifecycle management.
Operation HTTP request Description
sync-task POST https://{server}/api/esx/settings/depots Syncs the metadata from the currently configured online or umds depots. If any umds depot is set, then metadata is downloaded from that depot else metadata is downloaded from the online depots. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.

offline

The offline service provides operations to manage Offline Software Depots used during ESX lifecycle management.
Operation HTTP request Description
create-task POST https://{server}/api/esx/settings/depots/offline Imports a new offline software depot. This will also import the metadata and payloads from this offline depot. The returned task will fail and no Offline Depot would be created if there are any issues during import. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.
delete DELETE https://{server}/api/esx/settings/depots/offline/{depot} Removes a depot from the list of imported offline software depots.
get GET https://{server}/api/esx/settings/depots/offline/{depot} Gets the information about an imported offline software depot.
list GET https://{server}/api/esx/settings/depots/offline Returns currently imported offline software depots.

online

The online service provides operations to manage Online Software Depots used during ESX lifecycle management.
Operation HTTP request Description
create POST https://{server}/api/esx/settings/depots/online Adds a new online software depot to the list of currently configured online software depots.
delete DELETE https://{server}/api/esx/settings/depots/online/{depot} Removes a depot from the list of currently configured online software depots. It will not remove the downloaded metadata and payloads from that depot.
get GET https://{server}/api/esx/settings/depots/online/{depot} Gets the information about a currently configured online software depot.
list GET https://{server}/api/esx/settings/depots/online Returns a list of currently configured online software depots.
update PATCH https://{server}/api/esx/settings/depots/online/{depot} Updates the configuration of a currently configured online software depot.

sync schedule

The sync_schedule service provides operations to manage Schedule of Online Software Depot sync.
Operation HTTP request Description
get GET https://{server}/api/esx/settings/depots/sync-schedule Returns the currently configured software depot sync schedule.
set PUT https://{server}/api/esx/settings/depots/sync-schedule Sets the software depot sync schedule.

umds

The umds service provides operations to manage VMware vSphere Update Manager Download Service (UMDS) software depots used during ESX lifecycle management. This is the depot downloaded using UMDS.

If a UMDS depot is specified then online depots are ignored and data is downloaded only from the UMDS depot.

Operation HTTP request Description
delete DELETE https://{server}/api/esx/settings/depots/umds Removes the configured UMDS software depot. It will not remove the downloaded metadata and payloads from that depot.
get GET https://{server}/api/esx/settings/depots/umds Gets the information about a currently configured UMDS software depot.
set PUT https://{server}/api/esx/settings/depots/umds Sets or overwrites information about an UMDS software depot.
update PATCH https://{server}/api/esx/settings/depots/umds Updates the configuration of a currently configured UMDS software depot.

esx settings hosts

The esx.settings.hosts API provides services to manage desired state configuration and software for a standalone ESX host.

software

The software service provides operations to manage desired software specification of a standalone ESX host.
Operation HTTP request Description
scan-task POST https://{server}/api/esx/settings/hosts/{host}/software Scans the host against the host's desired state.. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.

esx trusted infrastructure attestation

services

The services service manages endpoint configuration about the attestation service and its relation to the Key Management Server (KMS) services.
Operation HTTP request Description
create POST https://{server}/api/esx/trusted-infrastructure/attestation/services Adds a new attestation service instance.
delete DELETE https://{server}/api/esx/trusted-infrastructure/attestation/services/{service} Removes a currently configured attestation service instance.
get GET https://{server}/api/esx/trusted-infrastructure/attestation/services/{service} Returns the detailed information about an attestation service instance.
list POST https://{server}/api/esx/trusted-infrastructure/attestation/services Returns the list of all attestation service instances.

esx trusted infrastructure kms

providers

The providers service provides operations to retrieve available key providers.
Operation HTTP request Description
list GET https://{server}/api/esx/trusted-infrastructure/kms/providers Return the available providers.

Contacts the KMS service to get the list of providers available for key operation.

services

The services service manages endpoint configuration about the Key Management Server (KMS) service and its relation to the attestation services.
Operation HTTP request Description
create POST https://{server}/api/esx/trusted-infrastructure/kms/services Adds a new KMS service instance.
delete DELETE https://{server}/api/esx/trusted-infrastructure/kms/services/{service} Removes a currently configured KMS service instance.
get GET https://{server}/api/esx/trusted-infrastructure/kms/services/{service} Returns the detailed information about a KMS service instance.
list POST https://{server}/api/esx/trusted-infrastructure/kms/services Returns the list of all KMS service instances.

vapi metadata authentication

The vapi.metadata.authentication API provides services that expose authentication information for operation elements across all the service elements.

To calculate the effective authentication information for an operation element, you should first see if there is an authentication scheme specified for the operation element. If it is not specified, then authentication scheme for the service element that contains this operation element is used. If it is not specified for the service element as well, then the authentication scheme for the package element that contains this service element is used.

component

The component service provides operations to retrieve authentication information of a component element.

A component element is said to contain authentication information if any one of package elements contained in it has authentication information.

Operation HTTP request Description
fingerprint POST https://{server}/rest/com/vmware/vapi/metadata/authentication/component/id:{component_id}?~action=fingerprint Retrieves the fingerprint computed from the authentication metadata of the component element corresponding to component_id.

The fingerprint provides clients an efficient way to check if the metadata for a particular component has been modified on the server. The client can do this by comparing the result of this operation with the fingerprint returned in the result of get.

get GET https://{server}/rest/com/vmware/vapi/metadata/authentication/component/id:{component_id} Retrieves authentication information about the component element corresponding to component_id.

The vapi.metadata.authentication.component_data contains the authentication information about the component element and it's fingerprint. It contains information about all the package elements that belong to this component element.

list GET https://{server}/rest/com/vmware/vapi/metadata/authentication/component Returns the identifiers for the component elements that have authentication information.

package

The package service provides operations to retrieve authentication information of a package element.

A package element is said to contain authentication information if there is a default authentication assigned to all service elements contained in the package element or if one of the service element contained in this package element has authentication information.

Operation HTTP request Description
get GET https://{server}/rest/com/vmware/vapi/metadata/authentication/package/id:{package_id} Retrieves authentication information about the package element corresponding to package_id.
list GET https://{server}/rest/com/vmware/vapi/metadata/authentication/package Returns the identifiers for the package elements that have authentication information.

vapi metadata authentication service

The vapi.metadata.authentication.service API provides services to retrieve authentication information for operation elements.

service

The service service provides operations to retrieve authentication information of a service element.

A service element is said to contain authentication information if there is a default authentication assigned to all operation elements contained in a service element or if one of the operation elements contained in this service element has authentication information.

Operation HTTP request Description
get GET https://{server}/rest/com/vmware/vapi/metadata/authentication/service/id:{service_id} Retrieves authentication information about the service element corresponding to service_id.
list GET https://{server}/rest/com/vmware/vapi/metadata/authentication/service Returns the identifiers for the service elements that have authentication information.

operation

The operation service provides operations to retrieve authentication information of an operation element.

An operation element is said to contain authentication information if authentication schemes are specified in the authentication definition file.

Operation HTTP request Description
get POST https://{server}/rest/com/vmware/vapi/metadata/authentication/service/operation/id:{service_id}?~action=get Retrieves the authentication information about an operation element corresponding to operation_id contained in the service element corresponding to service_id.
list GET https://{server}/rest/com/vmware/vapi/metadata/authentication/service/operation Returns the identifiers for the operation elements contained in the service element corresponding to service_id that have authentication information.

vapi metadata cli

The vapi.metadata.cli API provides services that expose all the information required to display namespace or command help, execute a command and display it's result.

command

The command service provides operations to get information about command line interface (CLI) commands.
Operation HTTP request Description
fingerprint POST https://{server}/rest/com/vmware/vapi/metadata/cli/command?~action=fingerprint Returns the aggregate fingerprint of all the command metadata from all the metadata sources.

The fingerprint provides clients an efficient way to check if the metadata for commands has been modified on the server.

get POST https://{server}/rest/com/vmware/vapi/metadata/cli/command?~action=get Retrieves information about a command including information about how to execute that command.
list GET https://{server}/rest/com/vmware/vapi/metadata/cli/command Returns the identifiers of all commands, or commands in a specific namespace.

namespace

The namespace service provides operations to get information about command line interface (CLI) namespaces.
Operation HTTP request Description
fingerprint POST https://{server}/rest/com/vmware/vapi/metadata/cli/namespace?~action=fingerprint Returns the aggregate fingerprint of all the namespace metadata from all the metadata sources.

The fingerprint provides clients an efficient way to check if the metadata for namespaces has been modified on the server.

get POST https://{server}/rest/com/vmware/vapi/metadata/cli/namespace?~action=get Retreives information about a namespace including information about children of that namespace.
list GET https://{server}/rest/com/vmware/vapi/metadata/cli/namespace Returns the identifiers of all namespaces registered with the infrastructure.

vapi metadata metamodel

The vapi.metadata.metamodel API provides services that expose all the information present in the interface definition language (IDL) specification.

Metamodel metadata is organized into an hierarchy of elements. The main elements are:

The vapi.metadata.metamodel API has services that enables two styles of client applications:

component

The component service providers operations to retrieve metamodel information of a component element.

A component defines a set of functionality that is deployed together and versioned together. For example, all the services that belong to VMware Content Library are part of a single component. A component element describes a component. A component element contains one or more package elements.

The operations for package elements are provided by service vapi.metadata.metamodel.package.

Operation HTTP request Description
fingerprint POST https://{server}/rest/com/vmware/vapi/metadata/metamodel/component/id:{component_id}?~action=fingerprint Retrieves the fingerprint computed from the metamodel metadata of the component element corresponding to component_id.

The fingerprint provides clients an efficient way to check if the metadata for a particular component element has been modified on the server. The client can do this by comparing the result of this operation with the fingerprint returned in the result of get.

get GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/component/id:{component_id} Retrieves metamodel information about the component element corresponding to component_id.

The vapi.metadata.metamodel.component_data contains the metamodel information about the component and it's fingerprint. It contains information about all the package elements that are contained in this component element.

list GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/component Returns the identifiers for the component elements that are registered with the infrastructure.

enumeration

The enumeration service provides operations to retrieve metamodel information about an enumeration element in the interface definition language.

The enumeration has a list of enumeration value elements.

Operation HTTP request Description
get GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/enumeration/id:{enumeration_id} Retrieves information about the enumeration element corresponding to enumeration_id.

The vapi.metadata.metamodel.enumeration_info contains the metamodel information about the enumeration value element contained in the enumeration element.

list GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/enumeration Returns the identifiers for the enumeration elements that are contained in all the package elements, service elements and structure elements.

package

The package service provides operations to retrieve metamodel information about a package element in the interface definition language.

A package is a logical grouping of services, structures and enumerations. A package element describes the package. It contains the service elements, structure elements and enumeration elements that are grouped together.

Operation HTTP request Description
get GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/package/id:{package_id} Retrieves information about the package element corresponding to package_id.
list GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/package Returns the identifiers for the packages elements that are contained in all the registered component elements.

vapi metadata metamodel resource

The vapi.metadata.metamodel.resource API provides services to retrieve metamodel information for resource types.

resource

The vapi.metadata.metamodel.resource service provides operations to retrieve information about resource types.

A service is a logical grouping of operations that operate on an entity. Each entity is identifier by a namespace (or resource type) and an unique identifier.

Operation HTTP request Description
list GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/resource Returns the set of resource types present across all the service elements contained in all the package elements.

model

The model service provides operations to retrieve information about models.

A structure is used as a model if it is used for persisting data about an entity. Some of the fields in the model structure are also used for creating indexes for querying.

One or more services can operate on the same resource type. One or more services can provide the model structure for an entity of this resource type. Using model service you can retrieve the list of all the structure elements that are model structures for a given resource type.

Operation HTTP request Description
list GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/resource/model Returns the set of identifiers for the structure elements that are models for the resource type corresponding to resource_id.

The vapi.metadata.metamodel.structure service provides operations to retrieve more details about the structure elements corresponding to the identifiers returned by this operation.

vapi metadata metamodel service

The vapi.metadata.metamodel.service API provides services to retrieve metamodel information about the elements contained in a service element.

service

The service service provides operations to retrieve metamodel information about a service element in the interface definition language.

A service is a logical grouping of operations that operate on some entity. A service element describes a service. It contains operation elements that describe the operations grouped in the service. It also contains structure elements and enumeration elements corresponding to the structures and enumerations defined in the service.

Operation HTTP request Description
get GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/service/id:{service_id} Retrieves information about the service element corresponding to service_id.

The vapi.metadata.metamodel.service_info contains the metamodel information for the operation elements, structure elements and enumeration elements contained in the service element.

list GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/service Returns the identifiers for the service elements that are currently registered with the infrastructure.

The list of service elements is an aggregate list of all the service elements contained in all the package elements.

operation

The operation service provides operations to retrieve metamodel information of an operation element in the interface definition language.
Operation HTTP request Description
get POST https://{server}/rest/com/vmware/vapi/metadata/metamodel/service/operation/id:{service_id}?~action=get Retrieves the metamodel information about an operation element corresponding to operation_id contained in the service element corresponding to service_id.
list GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/service/operation Returns the identifiers for the operation elements that are defined in the scope of service_id.

structure

The structure service providers operations to retrieve metamodel information about a structure element in the interface definition language.
Operation HTTP request Description
get GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/structure/id:{structure_id} Retrieves information about the structure element corresponding to structure_id.

The vapi.metadata.metamodel.structure_info contains the metamodel information about the structure element. It contains information about all the field elements and enumeration elements contained in this structure element.

list GET https://{server}/rest/com/vmware/vapi/metadata/metamodel/structure Returns the identifiers for the structure elements that are contained in all the package elements and service elements.

vapi metadata privilege

The vapi.metadata.privilege API provides services that expose privilege information for operation elements across all the service elements.

An entity has a unique identifier and a resource type. An entity can either be present in one of the parameter elements or if a parameter is a structure element, it could also be present in one of the field elements.

Privileges can be assigned to either operation elements or entities used in the operation element. A list of privileges can also be applied on a package element. This list of privileges would be used as a default for all the operation elements and the entities that do not have any defined privileges.

component

The component service provides operations to retrieve privilege information of a component element.

A component element is said to contain privilege information if any one of package elements in it contains privilege information.

Operation HTTP request Description
fingerprint POST https://{server}/rest/com/vmware/vapi/metadata/privilege/component/id:{component_id}?~action=fingerprint Retrieves the fingerprint computed from the privilege metadata of the component element corresponding to component_id.

The fingerprint provides clients an efficient way to check if the metadata for a particular component has been modified on the server. The client can do this by comparing the result of this operation with the fingerprint returned in the result of get.

get GET https://{server}/rest/com/vmware/vapi/metadata/privilege/component/id:{component_id} Retrieves privilege information about the component element corresponding to component_id.

The vapi.metadata.privilege.component_data contains the privilege information about the component element and its fingerprint. It contains information about all the package elements that belong to this component element.

list GET https://{server}/rest/com/vmware/vapi/metadata/privilege/component Returns the identifiers for the component elements that have privilege information.

package

The package service provides operations to retrieve privilege information of a package element.

A package element is said to contain privilege information if there is a default privilege assigned to all service elements contained in the package element or if one of the operation elements contained in one of the service elements in this package element has privilege information.

Operation HTTP request Description
get GET https://{server}/rest/com/vmware/vapi/metadata/privilege/package/id:{package_id} Retrieves privilege information about the package element corresponding to package_id.
list GET https://{server}/rest/com/vmware/vapi/metadata/privilege/package Returns the identifiers for the package elements that have privilege information.

vapi metadata privilege service

The vapi.metadata.privilege.service API provides services to retrieve privilege information for operation elements.

service

The service service provides operations to retrieve privilege information of a service element.

A service element is said to contain privilege information if one of the operation elements contained in this service element has privilege information.

Operation HTTP request Description
get GET https://{server}/rest/com/vmware/vapi/metadata/privilege/service/id:{service_id} Retrieves privilege information about the service element corresponding to service_id.
list GET https://{server}/rest/com/vmware/vapi/metadata/privilege/service Returns the identifiers for the service elements that have privilege information.

operation

The operation service provides operations to retrieve privilege information of an operation element.

An operation element is said to contain privilege information if there are any privileges assigned to the operation element or if one of the parameter elements contained in it has privileges assigned in privilege definition file.

Operation HTTP request Description
get POST https://{server}/rest/com/vmware/vapi/metadata/privilege/service/operation/id:{service_id}?~action=get Retrieves the privilege information about an operation element corresponding to operation_id contained in the service element corresponding to service_id.
list GET https://{server}/rest/com/vmware/vapi/metadata/privilege/service/operation Returns the identifiers for the operation elements contained in the service element corresponding to service_id that have privilege information.

vcenter

The vcenter API provides services for managing VMware vSphere environments. The API is available starting in vSphere 6.5.

vcenter certificate management vcenter

The vcenter.certificate_management.vcenter API provides services to manage certificates.

tls

The tls interface provides operations to replace Tls certificate. This service was added in vSphere API 6.7.2.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/certificate-management/vcenter/tls Returns the rhttpproxy TLS certificate. This operation was added in vSphere API 6.7.2.
renew POST https://{server}/rest/vcenter/certificate-management/vcenter/tls?action=renew Renews the TLS certificate for the given duration period.

After this operation completes, the services using the certificate will be restarted for the new certificate to take effect.

. This operation was added in vSphere API 6.7.2.
replace_vmca_signed POST https://{server}/rest/vcenter/certificate-management/vcenter/tls?action=replace-vmca-signed Replace MACHINE SSL with VMCA signed one with the given Spec.The system will go for restart.

After this operation completes, the services using the certificate will be restarted for the new certificate to take effect.

. This operation was added in vSphere API 6.9.1.
set PUT https://{server}/rest/vcenter/certificate-management/vcenter/tls Replaces the rhttpproxy TLS certificate with the specified certificate. This operation can be used in three scenarios :
  1. When the CSR is created and the private key is already stored, this operation can replace the certificate. The certificate but not the private key and root certificate must be provided as input.
  2. When the certificate is signed by a third party certificate authority/VMCA and the root certificate of the third party certificate authority/VMCA is already one of the trusted roots in the trust store, this operation can replace the certificate and private key. The certificate and the private key but not the root certificate must be provided as input.
  3. When the certificate is signed by a third party certificate authority and the root certificate of the third party certificate authority is not one of the trusted roots in the trust store, this operation can replace the certificate, private key and root CA certificate. The certificate, private key and root certificate must be provided as input.
After this operation completes, the services using the certificate will be restarted for the new certificate to take effect.

The above three scenarios are only supported from vsphere 7.0 onwards.

. This operation was added in vSphere API 6.7.2.

tls csr

The tls_csr interface provides operations to generate certificate signing request. This service was added in vSphere API 6.7.2.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/certificate-management/vcenter/tls-csr Generates a CSR with the given Spec. This operation was added in vSphere API 6.7.2.

trusted root chains

The trusted_root_chains interface provides operations to create, modify, delete and read trusted root certificate chains. This service was added in vSphere API 6.7.2.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/certificate-management/vcenter/trusted-root-chains Creates a new trusted root certificate chain from the CreateSpec. This operation was added in vSphere API 6.7.2.
delete DELETE https://{server}/rest/vcenter/certificate-management/vcenter/trusted-root-chains/{chain} Deletes trusted root certificate chain for a given identifier. This operation was added in vSphere API 6.7.2.
get GET https://{server}/rest/vcenter/certificate-management/vcenter/trusted-root-chains/{chain} Retrieve a trusted root certificate chain for a given identifier. This operation was added in vSphere API 6.7.2.
list GET https://{server}/rest/vcenter/certificate-management/vcenter/trusted-root-chains Returns summary information for each trusted root certificate chain. This operation was added in vSphere API 6.7.2.

vmca root

The vmca_root interface provides operations to replace VMware Certificate Authority (VMCA) root certificate. This service was added in vSphere API 6.9.1.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/certificate-management/vcenter/vmca-root Replace Root Certificate with VMCA signed one using the given Spec.

After this operation completes, the services using the certificate will be restarted for the new certificate to take effect.

. This operation was added in vSphere API 6.9.1.

cluster

The cluster service provides operations to manage clusters in the vCenter Server.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/cluster/{cluster} Retrieves information about the cluster corresponding to cluster.
list GET https://{server}/rest/vcenter/cluster Returns information about at most 1000 visible (subject to permission checks) clusters in vCenter matching the vcenter.cluster.filter_spec.

vcenter compute

The vcenter.compute API provides services for managing compute policies in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.

vcenter compute policies

The vcenter.compute.policies API provides structures for managing compute policies in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.

policies

The policies service provides operations to manage compute policies in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. A compute policy defines the intended behavior for a collection of vSphere objects identified by a tag. A compute policy is an instance of a capability. It is created by providing a value for the creation type specified by the capability. See vcenter.compute.policies.capabilities.info.create_spec_type. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
create POST https://{server}/api/vcenter/compute/policies Creates a new compute policy in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
delete DELETE https://{server}/api/vcenter/compute/policies/{policy} Deletes a specific compute policy in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
get GET https://{server}/api/vcenter/compute/policies/{policy} Returns information about a specific compute policy in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
list GET https://{server}/api/vcenter/compute/policies Returns information about the compute policies available in this vCenter server in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

capabilities

The capabilities service provides operations to manage compute policy capabilities in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. The description of the capability provides information about the intent of a policy based on this capability. A capability provides a type to create a policy (see create). A capability also provides a type that describes the information returned when retrieving information about a policy (see get). Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
get GET https://{server}/api/vcenter/compute/policies/capabilities/{capability} Returns information about a specific compute policy capability in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
list GET https://{server}/api/vcenter/compute/policies/capabilities Returns information about the compute policy capabilities available in this vCenter server in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

tag usage

The tag_usage service provides operations to query which tags are used by policies in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
list GET https://{server}/api/vcenter/compute/policies/tag-usage Returns information about the tags used by policies available in this vCenter server matching the vcenter.compute.policies.tag_usage.filter_spec in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

vcenter content registries

The vcenter.content.registries API provides structures and services for managing image registries in vCenter.

vcenter content registries harbor

The vcenter.content.registries.harbor API provides structures and services for managing Harbor registry in vCenter.

harbor

The harbor service provides operations to manage the lifecycle of an integrated Harbor container registry in vCenter.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/content/registries/harbor Creates a Harbor registry in the cluster.
delete DELETE https://{server}/rest/vcenter/content/registries/harbor/{registry} Delete the Harbor registry in the cluster. All Harbor projects, repositories and images will be deleted upon Harbor registry deletion.
get GET https://{server}/rest/vcenter/content/registries/harbor/{registry} Get detailed information of the Harbor registry.
list GET https://{server}/rest/vcenter/content/registries/harbor Returns basic information of all Harbor registries.

projects

The projects service provides operations for managing the lifecycle of Harbor project that stores and distributes container repositories and images.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/content/registries/harbor/{registry}/projects Creates a project in a Harbor registry using the supplied specification. In vSphere 7.0, a Harbor registry is deployed in a vSphere cluster with vSphere namespaces enabled. When a namespace is created, a project with same name as the namespace is created in the Harbor registry, so this operation should not be called.
delete DELETE https://{server}/rest/vcenter/content/registries/harbor/{registry}/projects/{project} Deletes the specified project from Harbor registry. Repositories and images in the project will be removed upon project deletion. Storage space of deleted images in the project will be reclaimed through next scheduled Harbor registry garbage collection. In vSphere 7.0, a Harbor registry is deployed in a vSphere cluster with vSphere namespaces enabled. When a namespace is deleted, a project with same name as the namespace is deleted from the Harbor registry, so this operation should not be called.
get GET https://{server}/rest/vcenter/content/registries/harbor/{registry}/projects/{project} Returns detailed information about the specified Harbor project.
list GET https://{server}/rest/vcenter/content/registries/harbor/{registry}/projects Returns basic information of all projects in a Harbor registry.
purge POST https://{server}/rest/vcenter/content/registries/harbor/{registry}/projects/{project}?action=purge Remove all repositories, images and members in the project. Storage space of deleted images in the project will be reclaimed through next scheduled Harbor registry garbage collection.

health

The health service provides operations to retrieve health status for a container registry.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/content/registries/{registry}/health Returns the health information of a container registry in the vCenter.

datacenter

The datacenter service provides operations to manage datacenters in the vCenter Server.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/datacenter Create a new datacenter in the vCenter inventory
delete DELETE https://{server}/rest/vcenter/datacenter/{datacenter} Delete an empty datacenter from the vCenter Server
get GET https://{server}/rest/vcenter/datacenter/{datacenter} Retrieves information about the datacenter corresponding to datacenter.
list GET https://{server}/rest/vcenter/datacenter Returns information about at most 1000 visible (subject to permission checks) datacenters in vCenter matching the vcenter.datacenter.filter_spec.

vcenter datastore

datastore

The Datastore service provides operations for manipulating a datastore.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/datastore/{datastore} Retrieves information about the datastore indicated by datastore.
list GET https://{server}/rest/vcenter/datastore Returns information about at most 2500 visible (subject to permission checks) datastores in vCenter matching the vcenter.datastore.filter_spec.

default policy

The default_policy service provides operations related to storage policies associated with datastore object. The get operation provides information about the default storage policy associated with the specific datastore. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/datastore/{datastore}/default-policy Returns the identifier of the current default storage policy associated with the specified datastore. This operation was added in vSphere API 6.7.

vcenter deployment

deployment

The deployment service provides operations to get the status of the vCenter appliance deployment. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/deployment Get the current status of the appliance deployment. This operation was added in vSphere API 6.7.
rollback POST https://{server}/rest/vcenter/deployment?action=rollback Rollback a failed appliance so it can be configured once again. This operation was added in vSphere API 6.7.

import history

The import_history service provides operations for managing the import of vCenter historical data, e.g. Tasks, Events and Statistics, when is is imported separately from the upgrade or migration process. This service was added in vSphere API 6.7.
Operation HTTP request Description
cancel POST https://{server}/rest/vcenter/deployment/history?action=cancel Cancels the task for importing vCenter historical data. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/vcenter/deployment/history Get the current status of the vCenter historical data import. This operation was added in vSphere API 6.7.
pause POST https://{server}/rest/vcenter/deployment/history?action=pause Pauses the task for importing vCenter historical data. This operation was added in vSphere API 6.7.
resume POST https://{server}/rest/vcenter/deployment/history?action=resume Resumes the task for importing vCenter historical data. This operation was added in vSphere API 6.7.
start POST https://{server}/rest/vcenter/deployment/history?action=start Creates and starts task for importing vCenter historical data. This operation was added in vSphere API 6.7.

vcenter deployment install

install

The install service provides operations to configure the installation of the appliance. This service was added in vSphere API 6.7.
Operation HTTP request Description
cancel POST https://{server}/rest/vcenter/deployment/install?action=cancel Cancel the appliance installation that is in progress. This operation was added in vSphere API 6.7.
check POST https://{server}/rest/vcenter/deployment/install?action=check Run sanity checks using the InstallSpec parameters passed. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/vcenter/deployment/install Get the parameters used to configure the ongoing appliance installation. This operation was added in vSphere API 6.7.
start POST https://{server}/rest/vcenter/deployment/install?action=start Start the appliance installation. This operation was added in vSphere API 6.7.

vcenter deployment install initial config remote psc

thumbprint

The thumbprint service provides operations to get the thumbprint of the remote PSC. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/deployment/install/initial-config/remote-psc/thumbprint Gets the SHA1 thumbprint of the remote PSC. This operation was added in vSphere API 6.7.

vcenter deployment install psc

replicated

The replicated service provides operations to check if the configuring vCenter Server can be replicated to the remote PSC. This service was added in vSphere API 6.7.
Operation HTTP request Description
check POST https://{server}/rest/vcenter/deployment/install/psc/replicated?action=check Checks whether the provided remote PSC is reachable and can be replicated. This operation was added in vSphere API 6.7.

standalone

The standalone service provides operations to check if the values provided for the standalone PSC satisfies the requirements. This service was added in vSphere API 6.7.
Operation HTTP request Description
check POST https://{server}/rest/vcenter/deployment/install/psc/standalone?action=check Checks that the information to configure a non-replicated PSC satisfies the requirements. This operation was added in vSphere API 6.7.

remote psc

The remote_psc service provides operations to check if the deployed vCenter Server can register with the remote PSC. This service was added in vSphere API 6.7.
Operation HTTP request Description
check POST https://{server}/rest/vcenter/deployment/install/remote-psc?action=check Checks whether the remote PSC is reachable and the deployed vCenter Server can be registered with the remote PSC. This operation was added in vSphere API 6.7.

vcenter deployment migrate

migrate

The migrate service provides operations to configure the migration of this appliance from an existing vCenter for Windows. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
cancel POST https://{server}/rest/vcenter/deployment/migrate?action=cancel Cancel the appliance migration that is in progress. This operation was added in vSphere API 7.0.0.
check POST https://{server}/rest/vcenter/deployment/migrate?action=check Run sanity checks using the MigrateSpec parameters passed. This operation was added in vSphere API 7.0.0.
get GET https://{server}/rest/vcenter/deployment/migrate Get the MigrateSpec parameters used to configure the ongoing appliance migration. This operation was added in vSphere API 7.0.0.
start POST https://{server}/rest/vcenter/deployment/migrate?action=start Start the appliance migration. This operation was added in vSphere API 7.0.0.

active directory

The active_directory service provides operations to check if the migrated vCenter Server appliance can join to the given domain using the provided credentials. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
check POST https://{server}/rest/vcenter/deployment/migrate/active-directory?action=check Checks whether the provided Active Directory user has permission to join the migrated vCenter Server appliance to the domain. This operation was added in vSphere API 7.0.0.

question

The question service provides operations to get the question raised during deployment and to answer them. This service was added in vSphere API 6.7.
Operation HTTP request Description
answer POST https://{server}/rest/vcenter/deployment/question?action=answer Supply answer to the raised question. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/vcenter/deployment/question Get the question that was raised during the configuration. This operation was added in vSphere API 6.7.

upgrade

The upgrade service provides operations to configure the upgrade of this appliance from an existing vCenter appliance. This service was added in vSphere API 6.7.
Operation HTTP request Description
cancel POST https://{server}/rest/vcenter/deployment/upgrade?action=cancel Cancel the appliance upgrade that is in progress. This operation was added in vSphere API 6.7.
check POST https://{server}/rest/vcenter/deployment/upgrade?action=check Run sanity checks using the UpgradeSpec parameters passed. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/vcenter/deployment/upgrade Get the UpgradeSpec parameters used to configure the ongoing appliance upgrade. This operation was added in vSphere API 6.7.
start POST https://{server}/rest/vcenter/deployment/upgrade?action=start Start the appliance installation. This operation was added in vSphere API 6.7.

folder

The Folder service provides operations for manipulating a vCenter Server folder.
Operation HTTP request Description
list GET https://{server}/rest/vcenter/folder Returns information about at most 1000 visible (subject to permission checks) folders in vCenter matching the vcenter.folder.filter_spec.

vcenter guest

The vcenter.guest API provides services for managing guest customization specifications in the vCenter Server.

customization specs

The customization_specs service provides operations to manage guest customization specifications in the vCenter Server. This service was added in vSphere API 6.7.1.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/guest/customization-specs Creates a customization specification. This operation was added in vSphere API 7.0.0.
delete DELETE https://{server}/rest/vcenter/guest/customization-specs/{name} Deletes a customization specification with the specified identifier. This operation was added in vSphere API 7.0.0.
export POST https://{server}/rest/vcenter/guest/customization-specs/{name}?action=export Returns the content of the customization specification in the specified format. Note that any passwords in the customization specification will be set to blank values during the export operation. This operation was added in vSphere API 7.0.0.
get GET https://{server}/rest/vcenter/guest/customization-specs/{name} Returns the guest customization specification from vCenter with the specified identifier. This operation was added in vSphere API 7.0.0.
import_specification POST https://{server}/rest/vcenter/guest/customization-specs?action=import Converts a well formatted string to a vcenter.guest.customization_specs.create_spec. The resulting object can be passed to create operation. This operation was added in vSphere API 7.0.0.
list GET https://{server}/rest/vcenter/guest/customization-specs Returns information about at most 1000 visible (subject to permission checks) guest customization specifications in vCenter matching the vcenter.guest.customization_specs.filter_spec. This operation was added in vSphere API 6.7.1.
set POST https://{server}/rest/vcenter/guest/customization-specs/{name} Sets an existing specification, possibly after retrieving (by using get) and editing it. This operation was added in vSphere API 7.0.0.

host

The host service provides operations to manage hosts in the vCenter Server.
Operation HTTP request Description
connect POST https://{server}/rest/vcenter/host/{host}/connect Connect to the host corresponding to host previously added to the vCenter server.
create POST https://{server}/rest/vcenter/host Add a new standalone host in the vCenter inventory. The newly connected host will be in connected state. The vCenter Server will verify the SSL certificate before adding the host to its inventory. In the case where the SSL certificate cannot be verified because the Certificate Authority is not recognized or the certificate is self signed, the vCenter Server will fall back to thumbprint verification mode as defined by vcenter.host.create_spec.thumbprint_verification.
delete DELETE https://{server}/rest/vcenter/host/{host} Remove a standalone host from the vCenter Server.
disconnect POST https://{server}/rest/vcenter/host/{host}/disconnect Disconnect the host corresponding to host from the vCenter server
list GET https://{server}/rest/vcenter/host Returns information about at most 2500 visible (subject to permission checks) hosts in vCenter matching the vcenter.host.filter_spec.

vcenter hvc

The vcenter.hvc API provides services to manage hybrid links between a local and remote Platform Service Controller. Usage beyond VMware Cloud on AWS is not supported.

vcenter hvc links

The links service provides operations to create, delete, get information, and list hybrid links between the local and foreign Platform Service Controller (PSC). Usage beyond VMware Cloud on AWS is not supported. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
create POST https://{server}/rest/hvc/links Creates a new hybrid link between the local and foreign PSC. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
delete DELETE https://{server}/rest/hvc/links/{link} Deletes an existing hybrid link. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
list GET https://{server}/rest/hvc/links Enumerates the list of registered hybrid links. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

vcenter hvc links sync

sync

The sync service provides operations to create a sync session, get information on Sync. Usage beyond VMware Cloud on AWS is not supported. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
reset POST https://{server}/rest/hvc/links/{link}/sync?action=reset Resets the sync state between the linked domains by initiating a fresh sync for all providers. If an existing sync is in progress this cancels the sync. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

providers

The providers service provides operations to create a sync session, get information on Sync. Usage beyond VMware Cloud on AWS is not supported. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
get GET https://{server}/rest/hvc/links/{link}/sync/providers/{provider} Gets Sync information for a sync provider. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
list GET https://{server}/rest/hvc/links/{link}/sync/providers Enumerates the sync providers. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
start POST https://{server}/rest/hvc/links/{link}/sync/providers/{provider}?action=start Initiates synchronization between the local and remote replicas for the sync provider. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

vcenter hvc management

administrators

The administrators provides operations to update, delete, and list groups in the local sso group. This is limited to the Hybrid Linked Mode service. Usage beyond VMware Cloud on AWS is not supported. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
add POST https://{server}/rest/hvc/management/administrators?action=add Add the local sso group with the new group. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
get GET https://{server}/rest/hvc/management/administrators Enumerates the set of all the groups in the local sso group. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
remove POST https://{server}/rest/hvc/management/administrators?action=remove Remove the group from the local sso group. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
set PUT https://{server}/rest/hvc/management/administrators Sets the groups in the local sso group. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

vcenter identity

The vcenter.identity API provides services to manage VcIdentity.

providers

The providers interface provides operations to list, read and modify vCenter Server identity providers. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/identity/providers Create a vCenter Server identity provider. This operation was added in vSphere API 7.0.0.
delete DELETE https://{server}/rest/vcenter/identity/providers/{provider} Delete a vCenter Server identity provider. This operation was added in vSphere API 7.0.0.
get GET https://{server}/rest/vcenter/identity/providers/{provider} Retrieve detailed information of the specified identity provider. This operation was added in vSphere API 7.0.0.
list GET https://{server}/rest/vcenter/identity/providers Retrieve all identity providers. This operation was added in vSphere API 7.0.0.
update PATCH https://{server}/rest/vcenter/identity/providers/{provider} Update a vCenter Server identity provider. This operation was added in vSphere API 7.0.0.

vcenter inventory

The vcenter.inventory component provides operations and structures for retrieving vCenter datastore and network information for a given array of identifiers.

datastore

The datastore service provides operations to retrieve information about datastores.
Operation HTTP request Description
find POST https://{server}/rest/com/vmware/vcenter/inventory/datastore?~action=find Returns datastore information for the specified datastores. The key in the result key/value pairs is the datastore identifier and the value in the key/value pairs is the datastore information.

network

The network service provides operations to retrieve information about vCenter Server networks.
Operation HTTP request Description
find POST https://{server}/rest/com/vmware/vcenter/inventory/network?~action=find Returns network information for the specified vCenter Server networks. The key in the result key/value pairs is the network identifier and the value in the key/value pairs is the network information.

vcenter iso

The vcenter.iso API provides structures and services that will let its client mount or unmount an ISO image on a virtual machine as a CD-ROM.

image

Provides an interface to mount and unmount an ISO image on a virtual machine.

This is an API that will let its client mount or unmount an ISO image on a virtual machine as a CD-ROM.

Operation HTTP request Description
mount POST https://{server}/rest/com/vmware/vcenter/iso/image/id:{library_item}?~action=mount Mounts an ISO image from a content library on a virtual machine.
unmount POST https://{server}/rest/com/vmware/vcenter/iso/image/id:{vm}?~action=unmount Unmounts a previously mounted CD-ROM using an ISO image as a backing.

vcenter lcm

The vcenter.lcm API provides services for managing the vCenter Server lifecycle.

vcenter lcm discovery

The vcenter.lcm.discovery API provides services for discovering products registered with vCenter Server and interoperability between those products and vCenter Server.

associated products

The associated_products service provides options to list, add, modify, and delete VMware products associated with vCenter Server. Some products can be auto-detected by the system while others can be added manually.
Operation HTTP request Description
create POST https://{server}/api/vcenter/lcm/discovery/associated-products Associates a VMware product with vCenter Server manually. The product must be taken from the product catalog API.
delete DELETE https://{server}/api/vcenter/lcm/discovery/associated-products/{product} Deletes or dissociates a VMware product associated with vCenter Server which was added manually. Automatically discovered VMware products cannot be deleted or dissociated.
get GET https://{server}/api/vcenter/lcm/discovery/associated-products/{product} Returns the detailed information of a product associated with vCenter Server.
list GET https://{server}/api/vcenter/lcm/discovery/associated-products Retrieves a list of all associated VMware product deployments with vCenter Server in the environment. The list contains both product deployments discovered automatically and deployments registered manually through the API.
update PATCH https://{server}/api/vcenter/lcm/discovery/associated-products/{product} Modifies a VMware product associated with vCenter Server which was added manually. Automatically discovered VMware products cannot be modified.

interop report

The interop_report interface provides operations to report the interoperability between a vCenter Server release version and the other installed VMware products registered in the vCenter Server instance.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/lcm/discovery/interop-report Creates interoperability report between a vCenter Server release version and all registered products with the vCenter Server instance.

The result of this operation can be queried by calling the get operation where task is the response of this operation.

product catalog

The product_catalog service provides information which VMware products can be associated with vCenter Server.
Operation HTTP request Description
list GET https://{server}/api/vcenter/lcm/discovery/product-catalog Retrieves a list of all VMware products that can be associated with vCenter Server.

reports

The Report service provides an operation to download the report generated by the interop and precheck operations. To download a report, you must use the get operation. A Report.Location structure represents the location of the file which has Report.Token structure which represents the token ID (@name String) and the expiration time of the token Report.Token.expiry DateTime. Report.Location structure also has the URI for the file which needs to be downloaded.
Operation HTTP request Description
get GET https://{server}/api/vcenter/lcm/reports/{report} Returns the location vcenter.lcm.reports.location information for downloading the report for the specified file name.

Retrieving a report involves two steps:

  • Step 1: Invoke the get operation to provision a token and a URI.
  • Step 2: Make an HTTP GET request by using the URI and the token returned in step 1 to retrieve the report.

The HTTP GET request will:

  • Return 401 (Not Authorized) if the download URI is recognized, but the token is invalid, 404 if the URL is not recognized otherwise return 200 (OK)
  • Provide the CSV contents as the output of the request. The API accepts the file name as input, reads the contents of that CSV file, and returns this text as the result of the API.

vcenter lcm update

The vcenter.lcm.update API provides services for updating vCenter Server to a newer version.

pending

The pending service provides operation for listing pending minor or major updates of vCenter Server.
Operation HTTP request Description
get GET https://{server}/api/vcenter/lcm/update/pending/{version} Gets detailed update information.
list GET https://{server}/api/vcenter/lcm/update/pending Lists all available minor and major updates.

precheck report

The precheck_report service generates precheck report for a vCenter Server instance against a target update version.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/lcm/update/pending/{version}/precheck-report Creates a vCenter Server pre-update compatibility check report for the pending update version. The report can be exported and downloaded in CSV format.

The result of this operation can be queried by calling the get operation where task is the response of this operation.

vcenter namespace management

The vcenter.namespace_management API provides services for managing Namespaces.

cluster available versions

The {@name cluster-available-versions} service provides operations to retrieve available upgrade versions of WCP and detailed information about each upgrade.
Operation HTTP request Description
list GET https://{server}/api/vcenter/namespace-management/software/cluster-available-versions Get information about each available upgrade.

cluster compatibility

The cluster_compatibility service provides operations to get Namespace-related compatibility information for clusters in this vCenter.
Operation HTTP request Description
list GET https://{server}/api/vcenter/namespace-management/cluster-compatibility Returns Namespaces compatibility information for all clusters in vCenter matching the vcenter.namespace_management.cluster_compatibility.filter_spec. The result contains only visible (subject to permission checks) clusters.

cluster size info

The {@name cluster-size-info} service provides operations to retrieve various sizes available for enabling Namespaces and information about each size.
Operation HTTP request Description
get GET https://{server}/api/vcenter/namespace-management/cluster-size-info Get information about the default values associated with various sizes.

clusters

The clusters service provides operations to enable and disable vSphere Namespaces on a vSphere cluster.
Operation HTTP request Description
disable POST https://{server}/api/vcenter/namespace-management/clusters/{cluster} Disable vSphere Namespaces on the cluster. This operation tears down the Kubernetes instance and the worker nodes associated with vSphere Namespaces enabled cluster.
enable POST https://{server}/api/vcenter/namespace-management/clusters/{cluster} Enable vSphere Namespaces on the cluster. This operation sets up Kubernetes instance for the cluster along with worker nodes.
get GET https://{server}/api/vcenter/namespace-management/clusters/{cluster} Returns information about a specific cluster.
list GET https://{server}/api/vcenter/namespace-management/clusters Returns information about all clusters on which vSphere Namespaces are enabled on this vCenter.
rotate_password POST https://{server}/api/vcenter/namespace-management/clusters/{cluster} Request a new root password for all control plane nodes in the cluster. This operation generates a new root password and configures every control plane node in the cluster to accept it for authentication.
set PUT https://{server}/api/vcenter/namespace-management/clusters/{cluster} Set a new configuration on the cluster object. The specified configuration is applied in entirety and will replace the current configuration fully.
update PATCH https://{server}/api/vcenter/namespace-management/clusters/{cluster} Update configuration on the cluster object. The specified configuration is applied partially and unset fields in spec will leave those parts of configuration as-is.

distributed switch compatibility

The distributed_switch_compatibility service provides operations to get Namespaces compatibility information of Distributed Switches in this vCenter.
Operation HTTP request Description
list GET https://{server}/api/vcenter/namespace-management/distributed-switch-compatibility Returns Namespaces compatibility information of Distributed Switches in vCenter associated with the vCenter cluster, matching the vcenter.namespace_management.distributed_switch_compatibility.filter_spec.

edge cluster compatibility

The edge_cluster_compatibility service provides operations to get Namespaces compatibility information of NSX Edge Clusters.
Operation HTTP request Description
list GET https://{server}/api/vcenter/namespace-management/edge-cluster-compatibility Returns Namespaces compatibility information of NSX-T Edge Clusters matching the vcenter.namespace_management.edge_cluster_compatibility.filter_spec.

hosts config

The Compatibility service provides operations to retrieve information about vSphere Namespaces support and licensing.
Operation HTTP request Description
get GET https://{server}/api/vcenter/namespace-management/capability Returns support and licensing information about hosts under a VC.

namespace resource options

The namespace_resource_options service provides operations to get the objects used to create and modify resource quotas on a namespace.
Operation HTTP request Description
get GET https://{server}/api/vcenter/namespace-management/clusters/{cluster}/workload-resource-options Get the information about the objects used to set and update resource quota keys for version of Kubernetes running on {#link cluster}.

vcenter namespace management software

The vcenter.namespace_management.software API provides services for managing namespaces software components.

clusters

The clusters service provides operations to upgrade the vSphere clusters.
Operation HTTP request Description
get GET https://{server}/api/vcenter/namespace-management/software/clusters/{cluster} Returns upgrade related information of a specific cluster.
list GET https://{server}/api/vcenter/namespace-management/software/clusters Returns upgrade related information about all WCP enabled clusters.
upgrade POST https://{server}/api/vcenter/namespace-management/software/clusters/{cluster} Upgrade the cluster to a specific version. This operation upgrades the components on control plane VMs and worker plane hosts based on the selected version. Before upgrading, this operation performs pre-checks and sets the evaluation response in Info.UpgradeStatus.messages with various Message.Severity levels. Depending on the severity, the upgrade may or may not proceed beyond prechecks. Here is a list of severities and corresponding behavior: - ERROR: Upgrade does not proceed beyond precheck operation - WARNING: Upgrade proceeds beyond precheck operation only if UpgradeSpec.ignorePrecheckWarnings is set to true - INFO: Upgrade proceeds beyond precheck operation uninterrupted
upgrade_multiple POST https://{server}/api/vcenter/namespace-management/software/clusters Upgrade a set of clusters to its corresponding specific version.

vcenter namespace management stats

The vcenter.namespace_management.stats API provides services for gathering statistics related to various Namespaces related components.

time series

The time_series service provides operations to gather statistical values for clusters, namespaces and pods.
Operation HTTP request Description
get GET https://{server}/api/vcenter/namespace-management/stats/time-series Gather statistical values for a cluster, namespace, or pod.

support bundle

The support_bundle service provides operations to retrieve the cluster's Namespaces-related support bundle download location.
Operation HTTP request Description
create POST https://{server}/api/vcenter/namespace-management/clusters/{cluster}/support-bundle Returns the location vcenter.namespace_management.support_bundle.location information for downloading the Namespaces-related support bundle for the specified cluster.

Retrieving a support bundle involves two steps:

  • Step 1: Invoke operation to provision a token and a URI.
  • Step 2: Make an HTTP GET request using URI and one time used token returned in step 1 to generate the support bundle and return it.
There can only be one valid token per cluster at any given time. If this operation is invoked again for the same cluster identifier while a token still valid, the API will return the same vcenter.namespace_management.support_bundle.location response.

The HTTP GET request will:

  • return 401 (Not Authorized) if the download URL is recognized, but the token is invalid.
  • otherwise return 200 (OK), mark the token used (invalidating it for any future use), open a application/tar download stream for the client, and start the bundle process. As part of its work, the API will orchestrate support bundling on the worker nodes of a cluster. If a failure occurs during the collection of support bundle from worker node, the API will not abort the request, but will log a warning and move on to processing other worker nodes' bundles. The API will only abort its operation if the content of the stream has been corrupted. When the API has to abort its operation (and the response stream), it will not provide any indication of failures to the client. The client will need to verify validity of the resultant file based on the format specified in the response's Content-Disposition header.

vcenter namespaces

The vcenter.namespaces API provides services for managing namespaces related operations.

access

The access service provides operations to manage access control of subjects on namespaces.
Operation HTTP request Description
create POST https://{server}/api/vcenter/namespaces/instances/{namespace}/access/{domain}/{subject} Set up access control for the subject on given domain on the namespace.
delete DELETE https://{server}/api/vcenter/namespaces/instances/{namespace}/access/{domain}/{subject} Remove access control of the subject on given domain from the namespace.
get GET https://{server}/api/vcenter/namespaces/instances/{namespace}/access/{domain}/{subject} Get the information about the access control of the subject on given domain on the namespace.
set PUT https://{server}/api/vcenter/namespaces/instances/{namespace}/access/{domain}/{subject} Set new access control on the namespace for the subject on given domain.

instances

The instances service provides operations to create and delete a namespace object. In this version, an Instance is an abstraction around a Kubernetes namespace.
Operation HTTP request Description
create POST https://{server}/api/vcenter/namespaces/instances Create namespace object in the cluster.
delete DELETE https://{server}/api/vcenter/namespaces/instances/{namespace} Delete the namespace object in the cluster.
get GET https://{server}/api/vcenter/namespaces/instances/{namespace} Returns information about a specific namespace.
list GET https://{server}/api/vcenter/namespaces/instances Returns the information about all namespaces on this vCenter.
set PUT https://{server}/api/vcenter/namespaces/instances/{namespace} Set a new configuration on the namespace object. The specified configuration is applied in entirety and will replace the current configuration fully.
update PATCH https://{server}/api/vcenter/namespaces/instances/{namespace} Update the namespace object. The specified configuration is applied partially and unset fields in spec will leave those parts of configuration as-is.

vcenter namespaces user

The vcenter.namespaces.user API provides services to access namespaces for non-administrative users.

instances

The instances service provides operations to access namespaces for non-administrative users.
Operation HTTP request Description
list GET https://{server}/api/vcenter/namespaces-user/namespaces Returns namespaces that user making the call is authorized to access.

network

The Network service provides operations for manipulating a vCenter Server network.
Operation HTTP request Description
list GET https://{server}/rest/vcenter/network Returns information about at most 1000 visible (subject to permission checks) networks in vCenter matching the vcenter.network.filter_spec.

vcenter ovf

The vcenter.ovf API provides services to capture and deploy Open Virtualization Format (OVF) packages to and from the content library.

It provides the ability to deploy OVF packages from the content library with support for advanced network topologies, network services, creating virtual appliances and virtual machines in hosts, resource pools or clusters. It also provides the ability to export virtual appliances and virtual machines from hosts, resource pools or clusters as OVF packages to the content library.

export flag

The export_flag service provides operations for retrieving information about the export flags supported by the server. Export flags can be specified in a vcenter.ovf.library_item.create_spec to customize an OVF export.
Operation HTTP request Description
list GET https://{server}/rest/com/vmware/vcenter/ovf/export-flag Returns information about the supported export flags by the server.

The supported flags are:

PRESERVE_MAC
Include MAC addresses for network adapters.
EXTRA_CONFIG
Include extra configuration in OVF export.

Future server versions might support additional flags.

import flag

The import_flag service provides operations for retrieving information about the import flags supported by the deployment platform. Import flags can be specified in a vcenter.ovf.library_item.resource_pool_deployment_spec to customize an OVF deployment.
Operation HTTP request Description
list GET https://{server}/rest/com/vmware/vcenter/ovf/import-flag Returns information about the import flags supported by the deployment platform.

The supported flags are:

LAX
Lax mode parsing of the OVF descriptor.

Future server versions might support additional flags.

library item

The library_item service provides operations to deploy virtual machines and virtual appliances from library items containing Open Virtualization Format (OVF) packages in content library, as well as operations to create library items in content library from virtual machines and virtual appliances.

To deploy a virtual machine or a virtual appliance from a library item:

  1. Create a vcenter.ovf.library_item.deployment_target to specify the target deployment type and target deployment designation.
  2. Create a vcenter.ovf.library_item.resource_pool_deployment_spec to specify the parameters for the target deployment.
  3. Use the deploy operation with the created target and parameter specifications, along with the identifier of the specified source content library item. See deploy.

To create a library item in content library from a virtual machine or virtual appliance:

  1. Create a vcenter.ovf.library_item.deployable_identity to specify the source virtual machine or virtual appliance to be used as the OVF template source.
  2. Create a vcenter.ovf.library_item.create_target to specify the target library and library item.
  3. Create a vcenter.ovf.library_item.create_spec to specify the settings for the OVF package to be created.
  4. Use the create operation with the created target and parameter specifications, along with the specified source entity. See create.

Operation HTTP request Description
create POST https://{server}/rest/com/vmware/vcenter/ovf/library-item Creates a library item in content library from a virtual machine or virtual appliance.

This operation creates a library item in content library whose content is an OVF package derived from a source virtual machine or virtual appliance, using the supplied create specification. The OVF package may be stored as in a newly created library item or in an in an existing library item. For an existing library item whose content is updated by this operation, the original content is overwritten. Meta data such as name and description is not updated for the exisitng library item.

deploy POST https://{server}/rest/com/vmware/vcenter/ovf/library-item/id:{ovf_library_item_id}?~action=deploy Deploys an OVF package stored in content library to a newly created virtual machine or virtual appliance.

This operation deploys an OVF package which is stored in the library item specified by ovf_library_item_id. It uses the deployment specification in deployment_spec to deploy the OVF package to the location specified by target.

filter POST https://{server}/rest/com/vmware/vcenter/ovf/library-item/id:{ovf_library_item_id}?~action=filter Queries an OVF package stored in content library to retrieve information to use when deploying the package. See deploy.

This operation retrieves information from the descriptor of the OVF package stored in the library item specified by ovf_library_item_id. The information returned by the operation can be used to populate the deployment specification (see vcenter.ovf.library_item.resource_pool_deployment_spec when deploying the OVF package to the deployment target specified by target.

resource pool

The ResourcePool service provides operations for manipulating a vCenter Server resource pool.

This service does not include virtual appliances in the inventory of resource pools even though part of the behavior of a virtual appliance is to act like a resource pool.

Operation HTTP request Description
create POST https://{server}/rest/vcenter/resource-pool Creates a resource pool. This operation was added in vSphere API 7.0.0.
delete DELETE https://{server}/rest/vcenter/resource-pool/{resource_pool} Deletes a resource pool. This operation was added in vSphere API 7.0.0.
get GET https://{server}/rest/vcenter/resource-pool/{resource_pool} Retrieves information about the resource pool indicated by resource_pool.
list GET https://{server}/rest/vcenter/resource-pool Returns information about at most 1000 visible (subject to permission checks) resource pools in vCenter matching the vcenter.resource_pool.filter_spec.
update PATCH https://{server}/rest/vcenter/resource-pool/{resource_pool} Updates the configuration of a resource pool. This operation was added in vSphere API 7.0.0.

vcenter services

service

The service service provides operations to manage a single/set of vCenter Server services. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/services/{service} Returns the state of a service. This operation was added in vSphere API 6.7.
list_details GET https://{server}/rest/vcenter/services Lists details of vCenter services. This operation was added in vSphere API 6.7.
restart POST https://{server}/rest/vcenter/services/{service}/restart Restarts a service. This operation was added in vSphere API 6.7.
start POST https://{server}/rest/vcenter/services/{service}/start Starts a service. This operation was added in vSphere API 6.7.
stop POST https://{server}/rest/vcenter/services/{service}/stop Stops a service. This operation was added in vSphere API 6.7.
update PATCH https://{server}/rest/vcenter/services/{service} Updates the properties of a service. This operation was added in vSphere API 6.7.

vcenter storage

vcenter storage policies

policies

The policies service provides operations for managing the storage policies. This service was added in vSphere API 6.7.
Operation HTTP request Description
check_compatibility POST https://{server}/rest/vcenter/storage/policies/{policy}?action=check-compatibility Returns datastore compatibility summary about a specific storage policy. This operation was added in vSphere API 6.7.
list GET https://{server}/rest/vcenter/storage/policies Returns information about at most 1024 visible (subject to permission checks) storage solicies availabe in vCenter. These storage policies can be used for provisioning virtual machines or disks. This operation was added in vSphere API 6.7.

vcenter storage policies compliance

compliance

The Compliance service provides operations related to all the associated entities of given compliance statuses. This service was added in vSphere API 6.7.
Operation HTTP request Description
list GET https://{server}/rest/vcenter/storage/policies/entities/compliance Returns compliance information about entities matching the filter vcenter.storage.policies.compliance.filter_spec. Entities without storage policy association are not returned. This operation was added in vSphere API 6.7.

VM

The VM structure provides operations related to query virtual machines of given compliance statuses. This service was added in vSphere API 6.7.
Operation HTTP request Description
list GET https://{server}/rest/vcenter/storage/policies/compliance/vm Returns compliance information about at most 1000 virtual machines matching the filter vcenter.storage.policies.compliance.VM.filter_spec. If there are no virtual machines matching the vcenter.storage.policies.compliance.VM.filter_spec an empty List is returned. Virtual machines without storage policy association are not returned. This operation was added in vSphere API 6.7.

VM

The VM service provides operations managing the storage policy association for a virtual machine and its virtual disks. This service was added in vSphere API 6.7.
Operation HTTP request Description
list GET https://{server}/rest/vcenter/storage/policies/{policy}/vm Returns information about the virtual machines and/or their virtual disks that are associated with the given storage policy. This operation was added in vSphere API 6.7.

vcenter system config

deployment type

The deployment_type service provides operations to get/set the type of the appliance. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/system-config/deployment-type Get the type of the vCenter appliance. This operation was added in vSphere API 6.7.
reconfigure POST https://{server}/rest/vcenter/system-config/deployment-type Reconfigure the type of the vCenter appliance. This operation was added in vSphere API 6.7.

psc registration

The psc_registration service provides operations to get and set the PSC_EXTERNAL appliance a VCSA_EXTERNAL appliance is registered with. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/system-config/psc-registration Get information of the PSC that this appliance is registered with. This operation was added in vSphere API 6.7.
repoint POST https://{server}/rest/vcenter/system-config/psc-registration Repoint this vCenter Server appliance to a different external PSC. This operation was added in vSphere API 6.7.

vcenter tagging

The vcenter.tagging API provides services for managing tags.

associations

The associations service provides operations to list tag associations. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
list GET https://{server}/api/vcenter/tagging/associations Returns tag associations that match the specified iteration spec. This operation was added in vSphere API 7.0.0.

vcenter tokenservice

The vcenter.tokenservice API provides Token services.

token exchange

The token_exchange interface provides possibility to exchange between different tokens types. Implementation of "OAuth 2.0 Token Exchange" standard (https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-12).
Operation HTTP request Description
exchange POST https://{server}/rest/vcenter/tokenservice/token-exchange Exchanges incoming token based on the spec and current client authorization data.

vcenter topology

nodes

The nodes interface provides operations to retrieve vCenter and Platform Services Controller nodes information in the topology. This service was added in vSphere API 6.7.2.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/topology/nodes/{node} Retrieve details for a given identifier of the vCenter or Platform Services Controller node. This operation was added in vSphere API 6.7.2.
list GET https://{server}/rest/vcenter/topology/nodes Returns information about all vCenter and Platform Services Controller nodes matching the vcenter.topology.nodes.filter_spec. This operation was added in vSphere API 6.7.2.

replication status

The replication_status interface provides operations to retrieve replication status information of vCenter and Platform Services Controller nodes of type VCSA_EMBEDDED/PSC_EXTERNAL (see vcenter.topology.nodes.info.type). This service was added in vSphere API 6.7.2.
Operation HTTP request Description
list GET https://{server}/rest/vcenter/topology/replication-status Returns the replication information of vCenter and Platform Services Controller nodes of type VCSA_EMBEDDED/PSC_EXTERNAL (see vcenter.topology.nodes.info.type) matching the vcenter.topology.replication_status.filter_spec. This operation was added in vSphere API 6.7.2.

vcenter trusted infrastructure

The vcenter.trusted_infrastructure API provides services that enable a Trusted Infrastructure. They are responsible for ensuring that infrastructure nodes are running trusted software and for releasing encryption keys only to trusted infrastructure nodes.

vcenter trusted infrastructure attestation

The vcenter.trusted_infrastructure.attestation API provides services for configuring Attestation Services for Trusted vCenter.

services

The services service contains information about the registered instances of the Attestation Service in vCenter. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create POST https://{server}/api/vcenter/trusted-infrastructure/attestation/services Registers a new Attestation Service instance in this vCenter. This operation was added in vSphere API 7.0.0.
delete DELETE https://{server}/api/vcenter/trusted-infrastructure/attestation/services/{service} Removes a registered Attestation Service instance from this vCenter. This operation was added in vSphere API 7.0.0.
get GET https://{server}/api/vcenter/trusted-infrastructure/attestation/services/{service} Returns the detailed information about a registered Attestation Service instance in this vCenter. This operation was added in vSphere API 7.0.0.
list POST https://{server}/api/vcenter/trusted-infrastructure/attestation/services Returns detailed information about all registered Attestation Service instances in this vCenter. This operation was added in vSphere API 7.0.0.

vcenter trusted infrastructure kms

The vcenter.trusted_infrastructure.kms API provides services for configuring Key Provider Services for Trusted vCenter.

services

The services service contains information about the registered instances of the Key Provider Service in vCenter. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create POST https://{server}/api/vcenter/trusted-infrastructure/kms/services Registers a Key Provider Service instance in this vCenter. This operation was added in vSphere API 7.0.0.
delete DELETE https://{server}/api/vcenter/trusted-infrastructure/kms/services/{service} Removes a currently registered Key Provider Service instance from this vCenter. This operation was added in vSphere API 7.0.0.
get GET https://{server}/api/vcenter/trusted-infrastructure/kms/services/{service} Returns the detailed information about a registered Key Provider Service instance in this vCenter. This operation was added in vSphere API 7.0.0.
list POST https://{server}/api/vcenter/trusted-infrastructure/kms/services Returns basic information about all registered Key Provider Service instances in this vCenter. This operation was added in vSphere API 7.0.0.

principal

The principal service contains information about the certificates which sign the tokens used by vCenter for authentication. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get GET https://{server}/api/vcenter/trusted-infrastructure/principal Returns information about the STS used by this vCenter instance. This operation was added in vSphere API 7.0.0.

vcenter trusted infrastructure trust authority clusters

The vcenter.trusted_infrastructure.trust_authority_clusters API provides the Trust Authority Components.

trust authority clusters

The trust_authority_clusters service manages all the Trust Authority Components on each Trust Authority Host in the cluster. The trust_authority_clusters service transforms a ClusterComputeResource into Trust Authority Cluster and vice versa. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster} Get the result of the last Update operation which matches the cluster id. This operation was added in vSphere API 7.0.0.
list GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters Returns a list of clusters for this vCenter instance which matches the vcenter.trusted_infrastructure.trust_authority_clusters.filter_spec. This operation was added in vSphere API 7.0.0.
update-task PATCH https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster} Updates the state of a cluster. This operation was added in vSphere API 7.0.0.

vcenter trusted infrastructure trust authority clusters attestation

The vcenter.trusted_infrastructure.trust_authority_clusters.attestation API provides services for configuring the Attestation Service. It attests the state of a remote infrastructure node.

vcenter trusted infrastructure trust authority clusters attestation os esx

The vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx API provides the interfaces for configuring ESX host metadata.

base images

The base_images service provides operations to manage trusted instances of ESX software on a cluster level. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
delete-task DELETE https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images/{version} Remove a trusted ESX base image of each ESX in the cluster. This operation was added in vSphere API 7.0.0.
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images/{version} Get the trusted ESX base version details. This operation was added in vSphere API 7.0.0.
import_from_imgdb-task POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images Import ESX metadata as a new trusted base image to each host in the cluster.

Import a boot_imgdb.tgz file which contains metadata that describes a trusted ESX base image. A boot_imgdb.tgz file can be downloaded from a representative host.

. This operation was added in vSphere API 7.0.0.
list-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images Return a list of trusted ESX base images. This operation was added in vSphere API 7.0.0.

service status

The service_status service provides operations to get the Attestation Service health status. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/service-status Return the Attestation service health in the given cluster. This operation was added in vSphere API 7.0.0.

vcenter trusted infrastructure trust authority clusters attestation tpm2

The vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2 API provides services to manage remote attestation configuration for TPM trust.

ca certificates

The ca_certificates service provides operations to manage Trusted Platform Module (TPM) CA certificates.

Endorsement Keys are typically packaged in a certificate that is signed by a certificate authority (CA). This service allows the CA certificate to be registered with the Attestation Service in order to validate TPM EK certificates when presented at attestation time.

. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/ca-certificates Add a new TPM CA certificate on a cluster. This operation was added in vSphere API 7.0.0.
delete-task DELETE https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/ca-certificates/{name} Remove a TPM CA certificate on a cluster. This operation was added in vSphere API 7.0.0.
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/ca-certificates/{name} Get the TPM CA certificate details on a cluster. This operation was added in vSphere API 7.0.0.
list-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/ca-certificates Return a list of configured TPM CA certificates on a cluster. This operation was added in vSphere API 7.0.0.

endorsement keys

The endorsement_keys service provides operations to manage Trusted Platform Module (TPM) Endorsement Keys (EK) on a cluster level. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/endorsement-keys Add a new TPM endorsement key on a cluster. This operation was added in vSphere API 7.0.0.
delete-task DELETE https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/endorsement-keys/{name} Remove a TPM endorsement key on a cluster. This operation was added in vSphere API 7.0.0.
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/endorsement-keys/{name} Get the TPM endorsement key details on a cluster. This operation was added in vSphere API 7.0.0.
list-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/endorsement-keys Return a list of configured TPM endorsement keys in a cluster. This operation was added in vSphere API 7.0.0.

settings

The settings interface provides operations to get or update settings related to the TPM 2.0 attestation protocol behavior. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/settings Return the TPM 2.0 protocol settings. This operation was added in vSphere API 7.0.0.
update-task PATCH https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/settings Set the TPM 2.0 protocol settings. This operation was added in vSphere API 7.0.0.

consumer principals

The consumer_principals service configures the token policies and STS trust necessary for the workload vCenter to query the trusted services for their status. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals Creates a profile with the specified connection information on all hosts from a Trust Authority Cluster. This operation was added in vSphere API 7.0.0.
delete-task DELETE https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals/{profile} Removes the read-only policy configured on ESX for a specific principal. This operation was added in vSphere API 7.0.0.
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals/{profile} Retrieve information for a specific profile. This operation was added in vSphere API 7.0.0.
list-task POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals Lists all policies configured on a specific cluster. This operation was added in vSphere API 7.0.0.

vcenter trusted infrastructure trust authority clusters kms

The vcenter.trusted_infrastructure.trust_authority_clusters.kms API provides the interfaces for configuring the Key Provider Service. It encapsulates one or more key servers and exposes Trusted Key Providers.

vcenter trusted infrastructure trust authority clusters kms providers

The vcenter.trusted_infrastructure.trust_authority_clusters.kms.providers API provides the services for configuring the Key Providers of a Trust Authority Cluster.

providers

The providers interface provides operations to create, update and delete Key Providers that handoff to key servers. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers Add a new Key Provider. This operation was added in vSphere API 7.0.0.
delete-task DELETE https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider} Remove a Key Provider. This operation was added in vSphere API 7.0.0.
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider} Return information about a Key Provider. This operation was added in vSphere API 7.0.0.
list-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers Return a list of summary of Key Providers. This operation was added in vSphere API 7.0.0.
update-task PATCH https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider} Update an existing Key Provider. This operation was added in vSphere API 7.0.0.

vcenter trusted infrastructure trust authority clusters kms providers client certificate

The vcenter.trusted_infrastructure.trust_authority_clusters.kms.providers.client_certificate API provides the interfaces for configuring the Client Certificate used by the Key Provider Service to authenticate against the Key Servers.

client certificate

The client_certificate interface provides operations to add and retrieve client certificate. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/client-certificate Generate a new self signed client certificate. Existing client certificate is overwritten. The key server will use this certificate to validate the client connection. This operation was added in vSphere API 7.0.0.
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/client-certificate Return the existing client certificate. This operation was added in vSphere API 7.0.0.
update-task PATCH https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/client-certificate Update the client certificate.

The key server will use this certificate to validate the client connection. If a client certificate already exists, it will be replaced.

An optional private key can be specified if the certificate has already been provisioned.

. This operation was added in vSphere API 7.0.0.

csr

The csr interface provides operations to create a certificate signing request(CSR). This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/client-certificate/csr Generate a certificate signing request (CSR) for the client certificate. This overwrites any existing CSR.

The CSR will allow the certificate to be signed by a third party. Once the CSR is signed, certificate may be added as a client certificate.

Calling the API repeatedly will result in a generating a new CSR each time.

. This operation was added in vSphere API 7.0.0.
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/client-certificate/csr Get existing certificate signing request (CSR) for the client certificate.

The CSR will allow the certificate to be signed by a third party. Once the CSR is signed, certificate may be added as a client certificate.

. This operation was added in vSphere API 7.0.0.

credential

The credential interface provides operations to add a credential for external key management service(s). This service was added in vSphere API 7.0.0.
Operation HTTP request Description
set-task PUT https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/credential Set the key server credential. This operation was added in vSphere API 7.0.0.

current peer certificates

Retrieves the list of TLS certificates used by peer key servers. Those are meant for review. Following approval these certificates should be added as trusted certificates in the vcenter.trusted_infrastructure.trust_authority_clusters.kms.providers.trusted_peer_certificates service. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
list-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/peer-certs/current Return the remote server certificates.

Contacts the configured key servers and attempts to retrieve their certificates. These certificates might not yet be trusted.

If the returned certificates are to be considered trustworthy, then it must be added to the list of trusted server certificates by adding to the certificates returned by get and invoking update with the updated array of certificates.

. This operation was added in vSphere API 7.0.0.

trusted peer certificates

Provides management operations for the TLS certificates trusted for communication with peer key servers.

To obtain the currently used TLS certificates use the vcenter.trusted_infrastructure.trust_authority_clusters.kms.providers.current_peer_certificates service

. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/peer-certs/trusted Return the list of trusted server certificates. This operation was added in vSphere API 7.0.0.
update-task PATCH https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/peer-certs/trusted Update trusted server certificate(s).

The client will use these certificates to validate the server connection. The existing list of trusted certificates will be overwritten.

The client will not trust the server connection until a server certificate has been set.

. This operation was added in vSphere API 7.0.0.

service status

The service_status service provides operations to get the Key Provider Service health status. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get-task GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/service-status Return the Key Provider Service health in the given cluster. This operation was added in vSphere API 7.0.0.

vcenter trusted infrastructure trust authority hosts

The vcenter.trusted_infrastructure.trust_authority_hosts API provides services that provide information necessary to connect to the hosts running the Trust Authority Components.

attestation

The attestation service contains information necessary to connect to the hosts running Attestation Service. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-hosts/{host}/attestation/ Returns the connection info about the Attestation Service running on the specified host. This operation was added in vSphere API 7.0.0.
list POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-hosts/attestation Returns a list of the hosts running a Attestation Service matching the specified vcenter.trusted_infrastructure.trust_authority_hosts.attestation.filter_spec. This operation was added in vSphere API 7.0.0.

kms

The kms service contains information necessary to connect to the hosts running Key Provider Service. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get GET https://{server}/api/vcenter/trusted-infrastructure/trust-authority-hosts/{host}/kms/ Returns the connection info about the Key Provider Service running on the specified host. This operation was added in vSphere API 7.0.0.
list POST https://{server}/api/vcenter/trusted-infrastructure/trust-authority-hosts/kms Returns a list of the hosts running a Key Provider Service matching the specified vcenter.trusted_infrastructure.trust_authority_hosts.kms.filter_spec. This operation was added in vSphere API 7.0.0.

vcenter trusted infrastructure trusted clusters attestation

The vcenter.trusted_infrastructure.trusted_clusters.attestation API provides services for configuring Attestation Services for Trusted Clusters.

services

The services service manages the Attestation Service instances a Trusted Cluster is configured to use. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services Configures the cluster to use a the given registered Attestation Service. This operation was added in vSphere API 7.0.0.
delete-task DELETE https://{server}/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services/{service} Removes the Attestation Service instance from the configuration of the given cluster. This operation was added in vSphere API 7.0.0.
get GET https://{server}/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services/{service} Returns detailed information about the given registered Attestation Service instance that is configured for the given cluster. This operation was added in vSphere API 7.0.0.
list POST https://{server}/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services Returns the basic information about all configured Attestation Service instances used by this cluster. This operation was added in vSphere API 7.0.0.

vcenter trusted infrastructure trusted clusters kms

The vcenter.trusted_infrastructure.trusted_clusters.kms API provides services for configuring Key Provider Services for Trusted Clusters.

services

The services service manages the Key Provider Service instances a Trusted Cluster is configured to use. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
create-task POST https://{server}/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services Configures the cluster to use a the given registered Key Provider Service. This operation was added in vSphere API 7.0.0.
delete-task DELETE https://{server}/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services/{service} Removes the Key Provider Service instance from the configuration of the given cluster. This operation was added in vSphere API 7.0.0.
get GET https://{server}/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services/{service} Returns detailed information about the given Key Provider Service instance used by the given cluster. This operation was added in vSphere API 7.0.0.
list POST https://{server}/api/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services Returns basic information about all configured Key Provider Service instances used by this cluster. This operation was added in vSphere API 7.0.0.

vcenter vcha

The vcenter.vcha API provides services for deploying and monitoring a vCenter High Availability (VCHA) Cluster.

vcenter vcha cluster

The vcenter.vcha.cluster API provides services for redeploying and monitoring a vCenter High Availability (VCHA) Cluster after a successful initial deployment.

cluster

The cluster service provides operations to deploy and undeploy a vCenter High Availability (VCHA) cluster, failover from the active VCHA node to the passive VCHA node, and retrieve the status of the VCHA cluster. This service was added in vSphere API 6.7.1.
Operation HTTP request Description
deploy-task POST https://{server}/rest/vcenter/vcha/cluster?vmw-task=true&action=deploy Prepares, clones, and configures a VCHA cluster. This operation was added in vSphere API 6.7.1.
failover-task POST https://{server}/rest/vcenter/vcha/cluster?vmw-task=true&action=failover Initiates failover from the active vCenter node to the passive node.

For forced failover, Active node immediately initiates a failover. This may result into a data loss after failover.

For planned failover, Active node flushes all the state to the Passive node, waits for the flush to complete before causing a failover. After the failover, Passive node starts without any data loss.

A failover is allowed only in the following cases:

  1. Cluster's mode is enabled and all cluster members are present.
  2. Cluster's mode is maintenance and all cluster members are present.
. This operation was added in vSphere API 6.7.1.
get POST https://{server}/rest/vcenter/vcha/cluster?action=get Retrieves the status of a VCHA cluster. This operation was added in vSphere API 6.7.1.
undeploy-task POST https://{server}/rest/vcenter/vcha/cluster?vmw-task=true&action=undeploy Destroys the VCHA cluster and removes all VCHA specific information from the VCVA appliance. Optionally, the passive and witness node virtual machines will be deleted only if VCHA was deployed using automatic deployment. The active node in the cluster continues to run as a standalone VCVA appliance after the destroy operation has been performed.

If the VCHA cluster is in a transition state and not configured, then the VCHA cluster specific information is removed.

. This operation was added in vSphere API 6.7.1.

active

The active service provides operations to get information related to the active vCenter High Availability (VCHA) node. This service was added in vSphere API 6.7.1.
Operation HTTP request Description
get POST https://{server}/rest/vcenter/vcha/cluster/active?action=get Retrieves information about the active node of a VCHA cluster. This operation was added in vSphere API 6.7.1.

deployment type

The DeploymentType service provides operations to get the deployment type of a vCenter High Availability Cluster (VCHA Cluster). This service was added in vSphere API 6.7.1.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vcha/cluster/deployment-type Retrieves the deployment type of a VCHA cluster. This operation was added in vSphere API 6.7.1.

mode

The Mode service provides operations to manage the operating mode of a vCenter High Availability Cluster (VCHA Cluster). This service was added in vSphere API 6.7.1.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vcha/cluster/mode Retrieves the current mode of a VCHA cluster. This operation was added in vSphere API 6.7.1.
set-task PUT https://{server}/rest/vcenter/vcha/cluster/mode?vmw-task=true Manipulates the mode of a VCHA Cluster. Following mode transitions are allowed:
enabled -> disabled - Allowed only in healthy and degraded states.
enabled -> maintenance - Allowed only in healthy state.
disabled -> enabled - Allowed only in healthy state.
maintenance -> enabled - Allowed only in healthy state with all nodes are running the same version.
maintenance -> disabled - Allowed only in healthy state with all nodes are running the same version.
All other transitions are not allowed.

VCHA Cluster configuration remains intact in any of the cluster modes.

. This operation was added in vSphere API 6.7.1.

passive

The passive service provides operations to validate a passive's placement configuration and redeploy the passive node in a vCenter High Availability (VCHA) cluster. This service was added in vSphere API 6.7.1.
Operation HTTP request Description
check POST https://{server}/rest/vcenter/vcha/cluster/passive?action=check Validates the specified passive node's placement configuration. This operation was added in vSphere API 6.7.1.
redeploy-task POST https://{server}/rest/vcenter/vcha/cluster/passive?vmw-task=true&action=redeploy Creates the passive node in a degraded cluster with node location information and pre-existing VCHA cluster configuration from the active node. This operation was added in vSphere API 6.7.1.

witness

The witness service provides operations to validate a witness's placement configuration and redeploy the witness node in a vCenter High Availability (VCHA) cluster. This service was added in vSphere API 6.7.1.
Operation HTTP request Description
check POST https://{server}/rest/vcenter/vcha/cluster/witness?action=check Validates the specified witness node's placement configuration. This operation was added in vSphere API 6.7.1.
redeploy-task POST https://{server}/rest/vcenter/vcha/cluster/witness?vmw-task=true&action=redeploy Creates the witness node in a degraded cluster with node location information and pre-existing VCHA cluster configuration from the active node. This operation was added in vSphere API 6.7.1.

operations

The operations service provides operations to figure out the currently active operations and currently disabled operations in a vCenter High Availability (VCHA) cluster. This service was added in vSphere API 6.7.1.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vcha/operations Retrieves the current active and disabled operations of a VCHA cluster. This operation was added in vSphere API 6.7.1.

vcenter vm

The vcenter.vm API provides services for managing virtual machines.

VM

The VM service provides operations for managing the lifecycle of a virtual machine.
Operation HTTP request Description
clone POST https://{server}/rest/vcenter/vm?action=clone Creates a virtual machine from an existing virtual machine.

. This operation was added in vSphere API 7.0.0.
clone-task POST https://{server}/rest/vcenter/vm?vmw-task=true&action=clone Creates a virtual machine from an existing virtual machine.

. This operation was added in vSphere API 7.0.0.
create POST https://{server}/rest/vcenter/vm Creates a virtual machine.
delete DELETE https://{server}/rest/vcenter/vm/{vm} Deletes a virtual machine.
get GET https://{server}/rest/vcenter/vm/{vm} Returns information about a virtual machine.
instant_clone POST https://{server}/rest/vcenter/vm?action=instant-clone Create an instant clone of an existing virtual machine. This operation was added in vSphere API 6.7.1.
list GET https://{server}/rest/vcenter/vm Returns information about at most 4000 visible (subject to permission checks) virtual machines in vCenter matching the vcenter.VM.filter_spec.
register POST https://{server}/rest/vcenter/vm?action=register Creates a virtual machine from existing virtual machine files on storage. This operation was added in vSphere API 6.8.7.
relocate POST https://{server}/rest/vcenter/vm/{vm}?action=relocate Relocates a virtual machine based on the specification. The parts of the virtual machine that can move are: FOLDER, RESOURCE_POOL, HOST, CLUSTER and DATASTORE of home of the virtual machine and disks.

. This operation was added in vSphere API 7.0.0.
relocate-task POST https://{server}/rest/vcenter/vm/{vm}?vmw-task=true&action=relocate Relocates a virtual machine based on the specification. The parts of the virtual machine that can move are: FOLDER, RESOURCE_POOL, HOST, CLUSTER and DATASTORE of home of the virtual machine and disks.

. This operation was added in vSphere API 7.0.0.
unregister POST https://{server}/rest/vcenter/vm/{vm}?action=unregister Removes the virtual machine corresponding to vm from the vCenter inventory without removing any of the virtual machine's files from storage. All high-level information stored with the management server (ESXi or vCenter) is removed, including information such as statistics, resource pool association, permissions, and alarms. This operation was added in vSphere API 6.8.7.

vcenter vm compute

The vcenter.vm.compute API provides services for quering the status of compute policies on virtual machines in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.

policies

The policies service provides operations to query the status of policies on virtual machines in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
get GET https://{server}/api/vcenter/vm/{vm}/compute/policies/{policy} Returns information about the compliance of a virtual machine with a compute policy in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

vcenter vm console

The vcenter.vm.console API provides services for managing Virtual Machine Consoles.

tickets

The tickets service provides operations for managing the virtual machine console tickets. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/vm/{vm}/console/tickets Creates a virtual machine console ticket of a given ticket type. The created ticket is a one time use URI. The validity of the ticket is 30 minutes, if not used with in the time frame the ticket expires.

The VMRC ticket contains the IP address or the DNS resolvable name of the vCenter server. This ticket requires installation of VMware Workstation, VMware Fusion or VMRC to be installed on the machine where the ticket has to be opened. This ticket can be acquired even when the VM is turned off.

The WEBMKS ticket contains the IP address of the DNS resolvable name of the ESX server. This ticket requires user to embed this ticket in a HTML page using VMware HTML Console SDK - https://www.vmware.com/support/developer/html-console This ticket can be acquired only when the VM is turned on.

. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

vcenter vm guest

The vcenter.vm.guest API provides services for dealing with the guest operating system. This includes information about the state of local file systems and network interfaces and operations to manipulate the guest file system and processes.

customization

The customization service provides operations to apply a customization specification to a virtual machine. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
set PUT https://{server}/rest/vcenter/vm/{vm}/guest/customization Applies a customization specification in spec on the virtual machine in vm. This operation only sets the specification settings for the virtual machine. The actual customization happens inside the guest when the virtual machine is powered on. If spec has unset values, then any pending customization settings for the virtual machine are cleared. If there is a pending customization for the virtual machine and spec has valid content, then the existing customization setting will be overwritten with the new settings. This operation was added in vSphere API 7.0.0.

identity

The identity service provides operations for retrieving guest operating system identification information. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/guest/identity Return information about the guest. This operation was added in vSphere API 6.7.

local filesystem

The local_filesystem service provides operations for retrieving information about the guest operating system local file systems. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/guest/local-filesystem Returns details of the local file systems in the guest operating system. This operation was added in vSphere API 6.7.

vcenter vm guest networking

The vcenter.vm.guest.networking API provides services for dealing with the guest operating system networking.

networking

The networking service provides operations for retrieving guest operating system network information. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/guest/networking Returns information about the network configuration in the guest operating system. This operation was added in vSphere API 7.0.0.

interfaces

The interfaces service provides operations for retrieving guest operating system network interface information. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
list GET https://{server}/rest/vcenter/vm/{vm}/guest/networking/interfaces Returns information about the networking interfaces in the guest operating system. This operation was added in vSphere API 7.0.0.

routes

The routes service provides operations for retrieving guest operating system network routing information. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
list GET https://{server}/rest/vcenter/vm/{vm}/guest/networking/routes Returns information about network routing in the guest operating system. This operation was added in vSphere API 7.0.0.

power

The power service provides operations for managing the guest operating system power state of a virtual machine. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/guest/power Returns information about the guest operating system power state. This operation was added in vSphere API 6.7.
reboot POST https://{server}/rest/vcenter/vm/{vm}/guest/power?action=reboot Issues a request to the guest operating system asking it to perform a reboot. This request returns immediately and does not wait for the guest operating system to complete the operation. This operation was added in vSphere API 6.7.
shutdown POST https://{server}/rest/vcenter/vm/{vm}/guest/power?action=shutdown Issues a request to the guest operating system asking it to perform a clean shutdown of all services. This request returns immediately and does not wait for the guest operating system to complete the operation. This operation was added in vSphere API 6.7.
standby POST https://{server}/rest/vcenter/vm/{vm}/guest/power?action=standby Issues a request to the guest operating system asking it to perform a suspend operation. This operation was added in vSphere API 6.7.

vcenter vm hardware

The vcenter.vm.hardware API provides services for managing the virtual hardware configuration and state of a virtual machine. This includes operations for reading and manipulating virtual device configuration and for querying the runtime state of the devices.

hardware

The hardware service provides operations for configuring the virtual hardware of a virtual machine.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/hardware Returns the virtual hardware settings of a virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware Updates the virtual hardware settings of a virtual machine.
upgrade POST https://{server}/rest/vcenter/vm/{vm}/hardware/action/upgrade Upgrades the virtual machine to a newer virtual hardware version.

vcenter vm hardware adapter

The vcenter.vm.hardware.adapter API provides services for managing the configuration and state of the virtual adapters belonging to a virtual machine. This includes operations for reading and manipulating the conifguration of USB adapters and host bus adapters.

Note that services for adapters with no configurable properties or runtime state, such as IDE and PCI adapters, are omitted.

sata

The sata service provides operations for configuring the virtual SATA adapters of a virtual machine.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/sata Adds a virtual SATA adapter to the virtual machine.
delete DELETE https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/sata/{adapter} Removes a virtual SATA adapter from the virtual machine.
get GET https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/sata/{adapter} Returns information about a virtual SATA adapter.
list GET https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/sata Returns commonly used information about the virtual SATA adapters belonging to the virtual machine.

scsi

The scsi service provides operations for configuring the virtual SCSI adapters of a virtual machine.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/scsi Adds a virtual SCSI adapter to the virtual machine.
delete DELETE https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/scsi/{adapter} Removes a virtual SCSI adapter from the virtual machine.
get GET https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/scsi/{adapter} Returns information about a virtual SCSI adapter.
list GET https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/scsi Returns commonly used information about the virtual SCSI adapters belonging to the virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/scsi/{adapter} Updates the configuration of a virtual SCSI adapter.

vcenter vm hardware boot

The vcenter.vm.hardware.boot API provides services for managing the virtual devices used to boot a virtual machine.

boot

The boot service provides operations for configuring the settings used when booting a virtual machine.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/hardware/boot Returns the boot-related settings of a virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/boot Updates the boot-related settings of a virtual machine.

device

The device service provides operations for configuring the device order used when booting a virtual machine.

The boot order may be specified using a mixture of device classes and device instances, chosen from among the following:

Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/hardware/boot/device Returns an ordered list of boot devices for the virtual machine. If the array is empty, the virtual machine uses a default boot sequence.
set PUT https://{server}/rest/vcenter/vm/{vm}/hardware/boot/device Sets the virtual devices that will be used to boot the virtual machine. The virtual machine will check the devices in order, attempting to boot from each, until the virtual machine boots successfully. If the array is empty, the virtual machine will use a default boot sequence. There should be no more than one instance of vcenter.vm.hardware.boot.device.entry for a given device type except ETHERNET in the array.

cdrom

The cdrom service provides operations for configuring the virtual CD-ROM devices of a virtual machine.
Operation HTTP request Description
connect POST https://{server}/rest/vcenter/vm/{vm}/hardware/cdrom/{cdrom}/connect Connects a virtual CD-ROM device of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system.

For a powered-off virtual machine, the update operation may be used to configure the virtual CD-ROM device to start in the connected state when the virtual machine is powered on.

create POST https://{server}/rest/vcenter/vm/{vm}/hardware/cdrom Adds a virtual CD-ROM device to the virtual machine.
delete DELETE https://{server}/rest/vcenter/vm/{vm}/hardware/cdrom/{cdrom} Removes a virtual CD-ROM device from the virtual machine.
disconnect POST https://{server}/rest/vcenter/vm/{vm}/hardware/cdrom/{cdrom}/disconnect Disconnects a virtual CD-ROM device of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the CD-ROM device is not connected to its backing resource.

For a powered-off virtual machine, the update operation may be used to configure the virtual CD-ROM device to start in the disconnected state when the virtual machine is powered on.

get GET https://{server}/rest/vcenter/vm/{vm}/hardware/cdrom/{cdrom} Returns information about a virtual CD-ROM device.
list GET https://{server}/rest/vcenter/vm/{vm}/hardware/cdrom Returns commonly used information about the virtual CD-ROM devices belonging to the virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/cdrom/{cdrom} Updates the configuration of a virtual CD-ROM device.

cpu

The cpu service provides operations for configuring the CPU settings of a virtual machine.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/hardware/cpu Returns the CPU-related settings of a virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/cpu Updates the CPU-related settings of a virtual machine.

disk

The disk service provides operations for configuring the virtual disks of a virtual machine. A virtual disk has a backing such as a VMDK file. The backing has an independent lifecycle from the virtual machine when it is detached from the virtual machine. The create operation provides the ability to create a new virtual disk. When creating a virtual disk, a new VMDK file may be created or an existing VMDK file may used as a backing. Once a VMDK file is associated with a virtual machine, its lifecycle will be bound to the virtual machine. In other words, it will be deleted when the virtual machine is deleted. The delete operation provides the ability to detach a VMDK file from the virtual machine. The delete operation does not delete the VMDK file that backs the virtual disk. Once detached, the VMDK file will not be destroyed when the virtual machine to which it was associated is deleted.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/vm/{vm}/hardware/disk Adds a virtual disk to the virtual machine. While adding the virtual disk, a new VMDK file may be created or an existing VMDK file may be used to back the virtual disk.
delete DELETE https://{server}/rest/vcenter/vm/{vm}/hardware/disk/{disk} Removes a virtual disk from the virtual machine. This operation does not destroy the VMDK file that backs the virtual disk. It only detaches the VMDK file from the virtual machine. Once detached, the VMDK file will not be destroyed when the virtual machine to which it was associated is deleted.
get GET https://{server}/rest/vcenter/vm/{vm}/hardware/disk/{disk} Returns information about a virtual disk.
list GET https://{server}/rest/vcenter/vm/{vm}/hardware/disk Returns commonly used information about the virtual disks belonging to the virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/disk/{disk} Updates the configuration of a virtual disk. An update operation can be used to detach the existing VMDK file and attach another VMDK file to the virtual machine.

ethernet

The ethernet service provides operations for configuring the virtual Ethernet adapters of a virtual machine.
Operation HTTP request Description
connect POST https://{server}/rest/vcenter/vm/{vm}/hardware/ethernet/{nic}/connect Connects a virtual Ethernet adapter of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system.

For a powered-off virtual machine, the update operation may be used to configure the virtual Ethernet adapter to start in the connected state when the virtual machine is powered on.

create POST https://{server}/rest/vcenter/vm/{vm}/hardware/ethernet Adds a virtual Ethernet adapter to the virtual machine.
delete DELETE https://{server}/rest/vcenter/vm/{vm}/hardware/ethernet/{nic} Removes a virtual Ethernet adapter from the virtual machine.
disconnect POST https://{server}/rest/vcenter/vm/{vm}/hardware/ethernet/{nic}/disconnect Disconnects a virtual Ethernet adapter of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the Ethernet adapter is not connected to its backing resource.

For a powered-off virtual machine, the update operation may be used to configure the virtual Ethernet adapter to start in the disconnected state when the virtual machine is powered on.

get GET https://{server}/rest/vcenter/vm/{vm}/hardware/ethernet/{nic} Returns information about a virtual Ethernet adapter.
list GET https://{server}/rest/vcenter/vm/{vm}/hardware/ethernet Returns commonly used information about the virtual Ethernet adapters belonging to the virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/ethernet/{nic} Updates the configuration of a virtual Ethernet adapter.

floppy

The floppy service provides operations for configuring the virtual floppy drives of a virtual machine.
Operation HTTP request Description
connect POST https://{server}/rest/vcenter/vm/{vm}/hardware/floppy/{floppy}/connect Connects a virtual floppy drive of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system.

For a powered-off virtual machine, the update operation may be used to configure the virtual floppy drive to start in the connected state when the virtual machine is powered on.

create POST https://{server}/rest/vcenter/vm/{vm}/hardware/floppy Adds a virtual floppy drive to the virtual machine.
delete DELETE https://{server}/rest/vcenter/vm/{vm}/hardware/floppy/{floppy} Removes a virtual floppy drive from the virtual machine.
disconnect POST https://{server}/rest/vcenter/vm/{vm}/hardware/floppy/{floppy}/disconnect Disconnects a virtual floppy drive of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the floppy drive is not connected to its backing resource.

For a powered-off virtual machine, the update operation may be used to configure the virtual floppy floppy to start in the disconnected state when the virtual machine is powered on.

get GET https://{server}/rest/vcenter/vm/{vm}/hardware/floppy/{floppy} Returns information about a virtual floppy drive.
list GET https://{server}/rest/vcenter/vm/{vm}/hardware/floppy Returns commonly used information about the virtual floppy drives belonging to the virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/floppy/{floppy} Updates the configuration of a virtual floppy drive.

memory

The memory service provides operations for configuring the memory settings of a virtual machine.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/hardware/memory Returns the memory-related settings of a virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/memory Updates the memory-related settings of a virtual machine.

parallel

The parallel service provides operations for configuring the virtual parallel ports of a virtual machine.
Operation HTTP request Description
connect POST https://{server}/rest/vcenter/vm/{vm}/hardware/parallel/{port}/connect Connects a virtual parallel port of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system.

For a powered-off virtual machine, the update operation may be used to configure the virtual parallel port to start in the connected state when the virtual machine is powered on.

create POST https://{server}/rest/vcenter/vm/{vm}/hardware/parallel Adds a virtual parallel port to the virtual machine.
delete DELETE https://{server}/rest/vcenter/vm/{vm}/hardware/parallel/{port} Removes a virtual parallel port from the virtual machine.
disconnect POST https://{server}/rest/vcenter/vm/{vm}/hardware/parallel/{port}/disconnect Disconnects a virtual parallel port of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the parallel port is not connected to its backing.

For a powered-off virtual machine, the update operation may be used to configure the virtual parallel port to start in the disconnected state when the virtual machine is powered on.

get GET https://{server}/rest/vcenter/vm/{vm}/hardware/parallel/{port} Returns information about a virtual parallel port.
list GET https://{server}/rest/vcenter/vm/{vm}/hardware/parallel Returns commonly used information about the virtual parallel ports belonging to the virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/parallel/{port} Updates the configuration of a virtual parallel port.

serial

The serial service provides operations for configuring the virtual serial ports of a virtual machine.
Operation HTTP request Description
connect POST https://{server}/rest/vcenter/vm/{vm}/hardware/serial/{port}/connect Connects a virtual serial port of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system.

For a powered-off virtual machine, the update operation may be used to configure the virtual serial port to start in the connected state when the virtual machine is powered on.

create POST https://{server}/rest/vcenter/vm/{vm}/hardware/serial Adds a virtual serial port to the virtual machine.
delete DELETE https://{server}/rest/vcenter/vm/{vm}/hardware/serial/{port} Removes a virtual serial port from the virtual machine.
disconnect POST https://{server}/rest/vcenter/vm/{vm}/hardware/serial/{port}/disconnect Disconnects a virtual serial port of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the serial port is not connected to its backing.

For a powered-off virtual machine, the update operation may be used to configure the virtual serial port to start in the disconnected state when the virtual machine is powered on.

get GET https://{server}/rest/vcenter/vm/{vm}/hardware/serial/{port} Returns information about a virtual serial port.
list GET https://{server}/rest/vcenter/vm/{vm}/hardware/serial Returns commonly used information about the virtual serial ports belonging to the virtual machine.
update PATCH https://{server}/rest/vcenter/vm/{vm}/hardware/serial/{port} Updates the configuration of a virtual serial port.

library item

The library_item service provides operations to identify virtual machines managed by Content Library. This service was added in vSphere API 6.9.1.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/library-item Returns the information about the library item associated with the virtual machine. This operation was added in vSphere API 6.9.1.

power

The power service provides operations for managing the power state of a virtual machine.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/power Returns the power state information of a virtual machine.
reset POST https://{server}/rest/vcenter/vm/{vm}/power/reset Resets a powered-on virtual machine.
start POST https://{server}/rest/vcenter/vm/{vm}/power/start Powers on a powered-off or suspended virtual machine.
stop POST https://{server}/rest/vcenter/vm/{vm}/power/stop Powers off a powered-on or suspended virtual machine.
suspend POST https://{server}/rest/vcenter/vm/{vm}/power/suspend Suspends a powered-on virtual machine.

vcenter vm storage

vcenter vm storage policy

policy

The policy service provides operations to configure the storage policies associated with the virtual machine home and/or its virtual disks. This service was added in vSphere API 6.7.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/storage/policy Returns Information about Storage Policy associated with a virtual machine's home directory and/or its virtual hard disks. This operation was added in vSphere API 6.7.
update PATCH https://{server}/rest/vcenter/vm/{vm}/storage/policy Updates the storage policy configuration of a virtual machine and/or its associated virtual hard disks. This operation was added in vSphere API 6.7.

compliance

The Compliance service provides operations that return the compliance status of virtual machine entities(virtual machine home directory and virtual disks) that specify storage policy requirements. This service was added in vSphere API 6.7.
Operation HTTP request Description
check POST https://{server}/rest/vcenter/vm/{vm}/storage/policy/compliance?action=check Returns the storage policy Compliance vcenter.vm.storage.policy.compliance.info of a virtual machine after explicitly re-computing compliance check. This operation was added in vSphere API 6.7.
get GET https://{server}/rest/vcenter/vm/{vm}/storage/policy/compliance Returns the cached storage policy compliance information of a virtual machine. This operation was added in vSphere API 6.7.

vcenter vm tools

The vcenter.vm API provides services for managing VMware Tools.

tools

The tools service provides operations for managing VMware Tools in the guest operating system. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
get GET https://{server}/rest/vcenter/vm/{vm}/tools Get the properties of VMware Tools. This operation was added in vSphere API 7.0.0.
update PATCH https://{server}/rest/vcenter/vm/{vm}/tools Update the properties of VMware Tools. This operation was added in vSphere API 7.0.0.
upgrade POST https://{server}/rest/vcenter/vm/{vm}/tools?action=upgrade Begins the Tools upgrade process. To monitor the status of the Tools upgrade, clients should check the Tools status by calling get and examining version_status and run_state. This operation was added in vSphere API 7.0.0.

installer

The installer (@term service} provides operations to install VMware Tools in the guest operating system. This service was added in vSphere API 7.0.0.
Operation HTTP request Description
connect POST https://{server}/rest/vcenter/vm/{vm}/tools/installer?action=connect Connects the VMware Tools CD installer as a CD-ROM for the guest operating system. On Windows guest operating systems with autorun, this should cause the installer to initiate the Tools installation which will need user input to complete. On other (non-Windows) guest operating systems this will make the Tools installation available, and a a user will need to do guest-specific actions. On Linux, this includes opening an archive and running the installer. To monitor the status of the Tools install, clients should check the version_status and run_state from get. This operation was added in vSphere API 7.0.0.
disconnect POST https://{server}/rest/vcenter/vm/{vm}/tools/installer?action=disconnect Disconnect the VMware Tools installer CD image. This operation was added in vSphere API 7.0.0.
get GET https://{server}/rest/vcenter/vm/{vm}/tools/installer Get information about the VMware Tools installer. This operation was added in vSphere API 7.0.0.

vcenter vm template

The vcenter.vm_template API provides structures and services that will let its client manage VMTX template in Content Library.

vcenter vm template library items

The vcenter.vm_template.library_items API provides structures and services for managing virtual machine template library items. This includes operations for checking out virtual machine template library items and querying previous versions of checked in virtual machines.

library items

The library_items service provides operations to deploy virtual machines from library items containing virtual machine templates, as well as operations to create library items containing virtual machine templates. The library_items service also provides an operation to retrieve information about the template contained in the library item. This service was added in vSphere API 6.8.
Operation HTTP request Description
create POST https://{server}/rest/vcenter/vm-template/library-items Creates a library item in content library from a virtual machine. This operation creates a library item in content library whose content is a virtual machine template created from the source virtual machine, using the supplied create specification. The virtual machine template is stored in a newly created library item. This operation was added in vSphere API 6.8.
deploy POST https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}?action=deploy Deploys a virtual machine as a copy of the source virtual machine template contained in the library item specified by template_library_item. It uses the deployment specification in spec. If vcenter.vm_template.library_items.deploy_spec.powered_on and/or vcenter.vm_template.library_items.deploy_spec.guest_customization are specified, the server triggers the power on and/or guest customization operations, which are executed asynchronously. This operation was added in vSphere API 6.8.
get GET https://{server}/rest/vcenter/vm-template/library-items/{template_library_item} Returns information about a virtual machine template contained in the library item specified by template_library_item. This operation was added in vSphere API 6.8.

check outs

The check_outs service provides operations for managing the checkouts of a library item containing a virtual machine template. This service provides operations to check out a library item to update the virtual machine template, and to check in the library item when the virtual machine changes are complete. This service was added in vSphere API 6.9.1.
Operation HTTP request Description
check_in POST https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}/check-outs/{vm}?action=check-in Checks in a virtual machine into the library item. This operation updates the library item to contain the virtual machine being checked in as a template. This template becomes the latest version of the library item. The previous virtual machine template contained in the library item is available as a backup and its information can be queried using the versions service. At most one previous version of a virtual machine template is retained in the library item. This operation was added in vSphere API 6.9.1.
check_out POST https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}/check-outs?action=check-out Checks out a library item containing a virtual machine template. This operation makes a copy of the source virtual machine template contained in the library item as a virtual machine. The virtual machine is copied with the same storage specification as the source virtual machine template. Changes to the checked out virtual machine do not affect the virtual machine template contained in the library item. To save these changes back into the library item, check_in the virtual machine. To discard the changes, delete the virtual machine. This operation was added in vSphere API 6.9.1.
delete DELETE https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}/check-outs/{vm} Deletes the checked out virtual machine. This operation was added in vSphere API 6.9.1.
get GET https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}/check-outs/{vm} Returns the information about a checked out virtual machine. This operation was added in vSphere API 6.9.1.
list GET https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}/check-outs Returns commonly used information about the virtual machines that are checked out of the library item. This operation was added in vSphere API 6.9.1.

versions

The versions service provides operations for managing the live versions of the virtual machine templates contained in a library item. Live versions include the latest and previous virtual machine templates that are available on disk. As new versions of virtual machine templates are checked in, old versions of virtual machine templates are automatically purged. Currently, at most one previous virtual machine template version is stored. This service was added in vSphere API 6.9.1.
Operation HTTP request Description
delete DELETE https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}/versions/{version} Deletes the virtual machine template contained in the library item at the specified version. This operation was added in vSphere API 6.9.1.
get GET https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}/versions/{version} Returns information about the live version of a library item containing a virtual machine template. This operation was added in vSphere API 6.9.1.
list GET https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}/versions Returns commonly used information about the live versions of a virtual machine template library item. This operation was added in vSphere API 6.9.1.
rollback POST https://{server}/rest/vcenter/vm-template/library-items/{template_library_item}/versions/{version}?action=rollback Rollbacks a library item containing a virtual machine template to a previous version. The virtual machine template at the specified version becomes the latest virtual machine template with a new version identifier. This operation was added in vSphere API 6.9.1.

vstats

The vstats component provides API services and types used in the vStats service.

acq specs

The acq_specs service provides operations to perform acquisition specification related operations. An acquisition specification defines the statistical data that should be collected at desired sampling rates from the underlying providers. It designates the resources and their counters which should be sampled, and a desired sampling rate. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
create POST https://{server}/api/stats/acq-specs Create a new acquisition specification record. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
delete DELETE https://{server}/api/stats/acq-specs/{id} Delete an acquisition specification. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
get GET https://{server}/api/stats/acq-specs/{id} Returns information about a specific acquisition specification. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
list GET https://{server}/api/stats/acq-specs Returns information about all acquisition specifications. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
update PATCH https://{server}/api/stats/acq-specs/{id} Update an existing acquisition specification. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

counter metadata

The counter_metadata service provides access to the different historical editions of counters. As computing platforms evolve over time the measurement units for different characteristics of the systems change. As such changes occur, counters will receive different editions reflected in a new metadata record. For example computer memory had changes from kilobytes through megabytes into gigabytes. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
get GET https://{server}/api/stats/counters/{cid}/metadata/{mid} Returns information about a specific CounterMetadata. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
get_default GET https://{server}/api/stats/counters/{cid}/metadata/default This operation returns the "default" CounterMetadata. A Counter has at least one related metadata object. Usually, stats providers (for example hosts) are in agreement about the default metadata. In this case the returned list has a single metadata object.

Sometimes, when providers are in "disagreement" about the default, then the returned list would include all the possible "defaults". This potential ambiguity isn't a real issue because consumers of the vStats API rarely need to specify the "mid" of metadata. Therefore, this API is used primarily for informational purposes.

. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
list GET https://{server}/api/stats/counters/{cid}/metadata Returns information about all counter metadata records for a specific Counter. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

counter sets

The counter_sets service provides operations for accessing groupings of counters. Counter-sets allow consumers to use groups of counters. The counters may relate to different resource types. When an vstats.acq_specs record refers to a counter-set, only the relevant counters apply. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
get GET https://{server}/api/stats/counter-sets/{counterSet} Returns information about a specific counter set. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
list GET https://{server}/api/stats/counter-sets Returns information about all the counter sets. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

counters

The counters service provides operations to perform various Counter related operations. Counter is derived from metric. It applies the metric to a particular class of a resource. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
get GET https://{server}/api/stats/counters/{cid} Returns information about a specific Counter. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
list GET https://{server}/api/stats/counters Returns information about all counters matching the filter parameters. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

data

The data service provides operations to query measurement and statistic data. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
query_data_points GET https://{server}/api/stats/data/dp Returns vstats.data.data_points_result matching the filter parameters.

/vstats/data/dp?types=VM&types=VCPU

/vstats/data/dp?rsrcs=type.HOST=host-16&rsrcs=type.VM=vm-31

. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

metrics

The metrics service provides operation to list metrics. A metric is a fundamental concept. It means a measurable aspect or property. For instance, temperature, count, velocity, data size, bandwidth. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
list GET https://{server}/api/stats/metrics Returns list of available Metrics as supplied by the discovered providers. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

providers

The providers service manages list of statistical data provider services that are currently used. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
list GET https://{server}/api/stats/providers Returns a list of stats providers. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

resource address schemas

The resource_address_schemas service manages inventory of resource addressing schemas used by vstats.counters. Each schema consists of a named list of resource identifiers of specific resource type. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
get GET https://{server}/api/stats/rsrc-addr-schemas/{id} Returns information about a specific resource address schema. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

resource addresses

The resource_addresses service provides operations to perform resource addressing queries. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
get GET https://{server}/api/stats/rsrc-addrs/{id} Returns information about a specific Resource Address. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
list GET https://{server}/api/stats/rsrc-addrs Returns the list of Resource Addresses matching the filter parameters. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.

resource types

The resource_types service provides list of resource types. Resource refers to any item or concept that could have measurable properties. It is a prerequisite that a resource can be identified.

Example resource types are virtual machine, virtual disk etc.

. Warning: This service is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.
Operation HTTP request Description
list GET https://{server}/api/stats/rsrc-types Returns a list of available resource types. Warning: This operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.