# AddMonitor APIs - Servers
This section explains how to use the AddMonitor API to add monitors of the category type **Servers**. The following servers are supported:
- [AIX](https://www.manageengine.com/products/applications_manager/help/servers.html#aix)
- [IBM i](https://www.manageengine.com/products/applications_manager/help/servers.html#as400)
- [FreeBSD/OpenBSD](https://www.manageengine.com/products/applications_manager/help/servers.html#freebsd)
- [HP-UX/Tru64](https://www.manageengine.com/products/applications_manager/help/servers.html#hpux)
- [Linux](https://www.manageengine.com/products/applications_manager/help/servers.html#linux)
- [Mac OS](https://www.manageengine.com/products/applications_manager/help/servers.html#macos)
- [Novell](https://www.manageengine.com/products/applications_manager/help/servers.html#novell)
- [Sun Solaris](https://www.manageengine.com/products/applications_manager/help/servers.html#sunsolaris)
- [Windows](https://www.manageengine.com/products/applications_manager/help/servers.html#windows)
- [Windows Clusters](https://www.manageengine.com/products/applications_manager/help/servers.html#windowsclusters)
**Supported HTTP methods:** POST
**Allowed roles:** Administrator
## AIX
### Discovery via Telnet
**Syntax:**
```
https://[HOST]:[PORT]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&os=[OS]&username=[USERNAME]&mode=[MODE]&snmptelnetport=[SNMPTELNETPORT]&password=[PASSWORD]&prompt=[PROMPT]&timeout=[TIMEOUT]&addgivenname=[true/false]
```
**Sample Request:**
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaabbbbbbccccccddddddeeeeee&type=servers&displayname=apmaix&host=adventaix&os=AIX&username=admin&mode=TELNET&snmptelnetport=23&password=appman&prompt=#&timeout=30&addgivenname=false
```
### Discovery via SSH
**Syntax:**
```
https://[HOST]:[PORT]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&os=[OS]&username=[USERNAME]&mode=[MODE]&snmptelnetport=[SNMPTELNETPORT]&password=[PASSWORD]&prompt=[PROMPT]&timeout=[TIMEOUT]&addgivenname=[true/false]
```
**Sample Request:**
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaaaaabbbbbbbbbbbbbbbbccccc&mode=SSH&password=T05t%25jq&os=AIX&snmptelnetport=22&displayname=AIXSSH&host=aix-host3-2k23&type=servers&prompt=$&timeout=10&username=test&addgivenname=false
```
### Request Parameters
Also refer to the [list of common Request Parameters](https://www.manageengine.com/products/applications_manager/help/addmonitor-api.html#requestparameters).
| Field | Description |
|---|---|
| type | The category type of monitor you want to add. The value should be 'servers'. |
| host | The name of the host where the AIX server is running. |
| os | The operating system of the server. Value is 'AIX'. |
| username | The username of the AIX server. |
| mode | The mode of monitoring the AIX server. Value should be either TELNET or SSH. |
| snmptelnetport | The port number where Telnet service is running. Default value is 23. |
| password | The password of the AIX server. |
| timeout | The time out value in seconds. |
| prompt | The command prompt value. Value is '$' |
| forceadd | This parameter is used to force Applications Manager to bypass availability and other authentication-related checks and add the monitor. Possible values are:
- true - It force-adds the monitor
- false - It does not force-add the monitor.
|
| addgivenname | Specifies if you want to set the host name of the monitor as the Host Name / IP Address that you have configured in the API. (true or false) |
| passphrase | Specify a Passphrase if the private key is protected with one for SSH Authentication. |
## IBM i
**Syntax:**
```
https://[HOST]:[PORT]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&subnet=[SUBNET]&pollInterval=[POLLINTERVAL]&sslenabled=[TRUE/FALSE]&os=[OS]&username=[USERNAME]&password=[PASSWORD]&timeout=[TIMEOUT]&addgivenname=[true/false]
```
**Sample Request:**
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaabbbbbbccccccddddddeeeeee&type=servers&displayname=apmas400&host=pub1.rzkh.de&subnet=255.255.255.0&pollInterval=5&sslenabled=true&os=AS400/iSeries&username=admin&password=appman&timeout=30&addgivenname=false
```
### Request Parameters
Also refer to the [list of common Request Parameters](https://www.manageengine.com/products/applications_manager/help/addmonitor-api.html#requestparameters).
| Field | Description |
|---|---|
| type | The category type of the monitor you want to add. Value should be 'servers'. |
| host | The name of the host where the IBM i server is running. |
| subnet | The subnet mask value |
| pollInterval | The polling interval for the monitor. |
| sslenabled | Indicates whether the monitored connection uses SSL (Secure Sockets Layer) for secure communication between the monitoring tool and the IBM resource. Value is true/false. |
| os | The operating system of the server. Value is 'AS400/iSeries'. |
| username | The username of the IBM i server. |
| timeout | The time out value in seconds. |
| password | The password of the IBM i server. |
| forceadd | This parameter is used to force Applications Manager to bypass availability and other authentication-related checks and add the monitor. Possible values are:
- true - It force-adds the monitor
- false - It does not force-add the monitor.
|
| addgivenname | Specifies if you want to set the host name of the monitor as the Host Name / IP Address that you have configured in the API. (true or false) |
| passphrase | Specify a Passphrase if the private key is protected with one for SSH Authentication. |
## FreeBSD
### Discovery via Telnet
**Syntax:**
```
https://[HOST]:[PORT]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&os=[OS]&username=[USERNAME]&mode=[MODE]&snmptelnetport=[TELNETPORT]&password=[PASSWORD]&prompt=[PROMPT]&timeout=[TIMEOUT]&addgivenname=[true/false]
```
Sample Request:
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaaaaabbbbbbbbbbbbbbbbccccc&type=servers&displayname=apmfreebsd&host=freebsd-host1-2k23&subnet=255.255.255.0&pollInterval=5&os=FreeBSD&username=admin&password=appman&mode=TELNET&snmptelnetport=23&prompt=$&timeout=30&addgivenname=false
```
### Discovery via SSH
**Syntax:**
```
https://[HOST]:[PORT]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&os=[OS]&username=[USERNAME]&mode=[MODE]&snmptelnetport=[TELNETPORT]&password=[PASSWORD]&prompt=[PROMPT]&timeout=[TIMEOUT]&addgivenname=[true/false]
```
Sample Request:
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaaaaabbbbbbbbbbbbbbbbccccc&mode=SSH&subnet=255.255.255.0&password=r10baleM%252oo2&os=FreeBSD&snmptelnetport=22&displayname=APMFreeBSDSSH&host=freebsd-host2-2k23&type=servers&prompt=%24&timeout=30&username=test&addgivenname=false
```
### Discovery via SNMP
**Syntax:**
**V1/V2**
```
https://[HOST]:[PORT]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&snmpPort=[SNMPPORT]&os=[OS]&mode=[MODE]&timeout=[TIMEOUT]&snmpCommunityString=[snmpCommunityString]&snmpVersionValue=[snmpVersion]&addgivenname=[true/false]
```
**V3**
```
https://[HOST]:[PORT]/AppManager/xml/AddMonitor?apikey=[APIKEY]&type=[TYPE]&displayname=[DISPLAYNAME]&host=[HOST]&port=[PORT]&snmpCommunityString=[SNMPCOMMUNITYSTRING]&timeout=[TIMEOUT]&os=[OS]&mode=[MODE]&snmpSecurityLevel=[SNMPSECURITYLEVEL]&snmpUserName=[SNMPUSERNAME]&snmpAuthPassword=[SNMPAUTHPASSWORD]&snmpAuthProtocol=[SNMPAUTHPROTOCOL]&snmpPrivPassword=[SNMPPRIVPASSWORD]&snmpPrivProtocol=[SNMPPRIVPROTOCOL]&snmpVersionValue=[SNMPVERSIONVALUE]&snmpContextName=[SNMPCONTEXTNAME]&addgivenname=[true/false]
```
**Sample Request:**
**V1/V2**
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaaaaabbbbbbbbbbbbbbbbccccc&type=servers&displayname=apmsnmpserverv1v2&host=apmsnmp-host-1&snmpPort=161&os=FreeBSD&mode=SNMP&timeout=5&snmpCommunityString=public&snmpVersionValue=v1v2&addgivenname=false
```
**V3**
```
https://apm-prod-server:8443/AppManager/xml/AddMonitor?apikey=aaaaaaaaabbbbbbbbbbbbbbbbccccc&type=servers&displayname=apmsnmpserverv3&host=apmsnmp-host-1&snmpPort=161&os=FreeBSD&mode=SNMP&timeout=5&snmpSecurityLevel=AUTHPRIV&snmpUserName=SHA256AES128&snmpAuthPassword=********&snmpAuthProtocol=SHA_256&snmpPrivPassword=*******&snmpPrivProtocol=AES_128&snmpVersionValue=v3&snmpContextName=&addgivenname=false
```
### Request Parameters
Also refer to the [list of common Request Parameters](https://www.manageengine.com/products/applications_manager/help/addmonitor-api.html#requestparameters).
| Field | Description |
|---|---|
| type | The category type of the monitor you want to add. Value should be 'servers'. |
| host | The name of the host where the FreeBSD server is running. |
| subnet | The subnet mask value |
| pollInterval | The polling interval for the monitor. |
| os | The operating system of the server. Value is 'FreeBSD'. |
| username | The username of the FreeBSD server. |
| password | The password of the FreeBSD server. |
| mode | The mode of monitoring. Value should be either SNMP, TELNET or SSH. |
| snmpCommunityString | The SNMP community string required for read-only access of SNMP data on the Server. Mandatory when using SNMP mode. The default value is 'public'. |
| snmptelnetport | The port where Telnet service is running. Default value is 23. |
| timeout | The time out value in seconds. |
| prompt | The command prompt value. Value is $. |
| forceadd | This parameter is used to force Applications Manager to bypass availability and other authentication-related checks and add the monitor. Possible values are:
- true - It force-adds the monitor
- false - It does not force-add the monitor.
|
| addgivenname | Specifies if you want to set the host name of the monitor as the Host Name / IP Address that you have configured in the API. (true or false) |
| passphrase | Specify a Passphrase if the private key is protected with one for SSH Authentication. |
*Note: Due to length constraints, the remaining sections (HP-UX/Tru64, Linux, Mac OS, Novell, Sun Solaris, Windows, and Windows Clusters) follow the same structure as above with their respective syntax blocks, sample requests, and detailed parameter tables exactly as provided in the source content.*