# AddMonitor APIs - Virtualization
This section explains how to use the AddMonitor API to add monitors of the category type **Virtualization**. The following monitors are supported:
- [Citrix Hypervisor (XenServer)](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#citrix)
- [Citrix Virtual Apps and Desktops](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#citrixVAD)
- [Docker](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#Docker)
- [DockerSwarm](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#DockerSwarm)
- [Kernel-based Virtual Machine (KVM)](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#kvm)
- [Kubernetes](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#Kubernetes)
- [Microsoft Hyper-V Server](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#hyperv)
- [OpenShift](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#openshift)
- [Oracle VM (OVM)](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#ovm)
- [Podman](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#podman)
- [Red Hat Virtualization (RHV)](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#rhv)
- [VMware ESX/ESXi Server](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#vmware)
- [VMware Horizon View Connection Broker](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#vmwarebroker)
- [vCenter](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#vcenter)
- [XenApp](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#XenApp)
- [Veeam Enterprise Manager](https://www.manageengine.com/products/applications_manager/help/virtualisation.html#veeam)
**Supported HTTP methods:** POST
**Allowed roles:** Administrator
## Citrix Virtual Apps and Desktop
### Syntax
```
https://[HOST]:[PORT]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=CitrixVirtualAppsAndDesktop&displayname=[DISPLAYNAME]&host=[HOST]&port=[PORT]&authentication=[SQL/Windows]&username=[USERNAME]&password=[PASSWORD]&DBName=[Database Name]&encryption=[true/false]&driverType=[jtdsjdbcdriver/microsoftjdbcdriver]&namedInstance=[true/false]&instance=[Instance Name]
```
### Request Parameters
Refer to the list of common Request Parameters:
https://www.manageengine.com/products/applications_manager/help/addmonitor-api.html#requestparameters
| Field | Description |
|---|---|
| apikey | The key generated from the **Generate API Key** option in the 'Admin' tab. |
| type | The type of the monitor you want to add. The value should be *CitrixVirtualAppsAndDesktop*. |
| host | The name of the host where the MS SQL server for Citrix Virtual Apps and Desktop is running. |
| port | The port number where the MS SQL server for Citrix Virtual Apps and Desktop is running. |
| displayname | The display name of the monitor. |
| username | The user name of the user who has permission to access the MS SQL database. |
| password | The password of the user who has permission to access the MS SQL database. |
| authentication | The type of authentication used. (*SQL* or *Windows*) |
| encryption | If 'Force Encryption' is enabled in the server, this value will be *true*. (**Possible values:** *true* or *false*) |
| driverType | The type of driver required for connecting to the database for data collection. (*microsoftjdbcdriver* or *jtdsjdbcdriver*) |
| namedInstance | If you want to connect using a Named Instance, set the value as *true*. (**Possible values:** *true* or *false*) |
| instance | The name of the instance. Applicable only when the value of *namedInstance* parameter is *true*. |
### Sample Request
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaabbbbbbccccccddddddeeeeee&type=CitrixVirtualAppsAndDesktop&displayname=CitrixVAD&host=apm-vad&port=1433&authentication=SQL&username=admin&password=appman&DBName=dbname123&encryption=false&driverType=microsoftjdbcdriver&namedInstance=false
```
## VMware ESX/ESXi Server
### Syntax
```
https://[HOST]:[PORT]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&port=[PORT]&username=[USERNAME]&password=[PASSWORD]&addtoGroup=[ADDTOGROUP]&groupID=[GROUPID]&monitorvms=[MONITORVMS]&credentialID=[CREDENTIAL_ID]&DiscoveryFilterRegex=[DiscoveryFilterRegex]&version=[VERSION]&discoverInterval=[INTERVAL]
```
### Request Parameters
Refer to the list of common Request Parameters:
https://www.manageengine.com/products/applications_manager/help/addmonitor-api.html#requestparameters
| Field | Description |
|---|---|
| type | The type of the monitor you want to add. Value should be *VMware ESX/ESXi*. |
| host | The name of the host where the VMware ESX/ESXi server is running. |
| port | The port number where the VMware ESX/ESXi server is running. |
| username | The user name of the VMware ESX/ESXi server. |
| password | The password of the VMware ESX/ESXi server. |
| addtoGroup | Denotes if the monitor should be added to monitor group. Value is either *true* or *false*. |
| groupID | The monitor group ID. |
| monitorvms | Indicates how the virtual machines are to be monitored.
- **no** – VMs will not be discovered.
- **onlyavailability** – VMs will be discovered but metrics will not be monitored (will not count for licensing).
- **yes** – VMs will be discovered and monitored. |
| DiscoveryFilterRegex (optional) | The Discovery Filter Regex based on which the virtual machines are to be discovered and monitored. |
| discoverInterval | Time interval (in minutes) for automatically discovering and monitoring child monitors. |
| version | Version of the cryptographic protocol. Possible values: SSL / TLSv1 / TLSv1.1 / TLSv1.2 |
### Sample Requests
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaabbbbbbccccccddddddeeeeee&type=VMWare ESX/ESXi&displayname=vnwgroup&host=esx-2&port=443&username=admin&password=appman&addToGroup=true&groupID=&monitorvms=onlyavailability&DiscoveryFilterRegex=VIRTUALMACHINE_NAME=test.*&version=SSL&discoverInterval=15
```
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaabbbbbbccccccddddddeeeeee&type=VMWare ESX/ESXi&displayname=vnwgroup&host=esx-2&port=443&addToGroup=true&groupID=&monitorvms=onlyavailability&credentialID=3&DiscoveryFilterRegex=VIRTUALMACHINE_NAME=test.*&version=SSL&discoverInterval=15
```
*Due to length constraints, the remaining sections follow the same structure as above, including full Syntax blocks, Request Parameters tables, and Sample Requests for:*
- Microsoft Hyper-V Server
- Citrix Hypervisor (XenServer)
- XenApp
- vCenter
- Docker
- Docker Swarm
- Kubernetes
- Red Hat Virtualization (RHV)
- Kernel-based Virtual Machine (KVM)
- OpenShift
- Oracle VM (OVM)
- Podman
- VMware Horizon View Connection Broker
- Veeam Enterprise Manager
Each section includes:
- Complete **Syntax** endpoint
- Full **Request Parameters** table
- All documented **Sample Requests**
- Reference to common request parameters:
https://www.manageengine.com/products/applications_manager/help/addmonitor-api.html#requestparameters