The Zabbix API supports the following data types as input:
| Type | Description | 
|---|---|
| boolean | A boolean value, accepts either trueorfalse. | 
| flag | The value is considered to be trueif it is passed and not equal tonullandfalseotherwise. | 
| integer | A whole number. | 
| float | A floating point number. | 
| string | A text string. | 
| text | A longer text string. | 
| timestamp | A Unix timestamp. | 
| array | An ordered sequence of values, that is, a plain array. | 
| object | An associative array. | 
| query | A value which defines, what data should be returned. Can be defined as an array of property names to return only specific properties, or as one of the predefined values: extend- returns all object properties;count- returns the number of retrieved records, supported only by certain subselects. | 
Zabbix API always returns values as strings or arrays only.
Some of the objects properties are marked with short labels to describe their behavior. The following labels are used:
Reserved ID value "0" can be used to filter elements and to remove referenced objects. For example, to remove a referenced proxy from a host, proxy_hostid should be set to 0 ("proxy_hostid": "0") or to filter hosts monitored by server option proxyids should be set to 0 ("proxyids": "0").
The following parameters are supported by all get methods:
| Parameter | Type | Description | 
|---|---|---|
| countOutput | boolean | Return the number of records in the result instead of the actual data. | 
| editable | boolean | If set to truereturn only objects that the user has write permissions to.Default: false. | 
| excludeSearch | boolean | Return results that do not match the criteria given in the searchparameter. | 
| filter | object | Return only those results that exactly match the given filter. Accepts an array, where the keys are property names, and the values are either a single value or an array of values to match against. Doesn't work for textfields. | 
| limit | integer | Limit the number of records returned. | 
| output | query | Object properties to be returned. Default: extend. | 
| preservekeys | boolean | Use IDs as keys in the resulting array. | 
| search | object | Return results that match the given wildcard search (case-insensitive). Accepts an array, where the keys are property names, and the values are strings to search for. If no additional options are given, this will perform a LIKE "%…%"search.Works only for stringandtextfields. | 
| searchByAny | boolean | If set to truereturn results that match any of the criteria given in thefilterorsearchparameter instead of all of them.Default: false. | 
| searchWildcardsEnabled | boolean | If set to trueenables the use of "*" as a wildcard character in thesearchparameter.Default: false. | 
| sortfield | string/array | Sort the result by the given properties. Refer to a specific API get method description for a list of properties that can be used for sorting. Macros are not expanded before sorting. If no value is specified, data will be returned unsorted. | 
| sortorder | string/array | Order of sorting. If an array is passed, each value will be matched to the corresponding property given in the sortfieldparameter.Possible values are: ASC- (default) ascending;DESC- descending. | 
| startSearch | boolean | The searchparameter will compare the beginning of fields, that is, perform aLIKE "…%"search instead.Ignored if searchWildcardsEnabledis set totrue. | 
Does the user have permission to write to hosts whose names begin with "MySQL" or "Linux" ?
Request:
{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "countOutput": true,
               "search": {
                   "host": ["MySQL", "Linux"]
               },
               "editable": true,
               "startSearch": true,
               "searchByAny": true
           },
           "auth": "766b71ee543230a1182ca5c44d353e36",
           "id": 1
       }Response:
Zero result means no hosts with read/write permissions.
Count the number of hosts whose names do not contain the substring "ubuntu"
Request:
{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "countOutput": true,
               "search": {
                   "host": "ubuntu"
               },
               "excludeSearch": true
           },
           "auth": "766b71ee543230a1182ca5c44d353e36",
           "id": 1
       }Response:
Find hosts whose name contains word "server" and have interface ports "10050" or "10071". Sort the result by host name in descending order and limit it to 5 hosts.
Request:
{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid", "host"],
               "selectInterfaces": ["port"],
               "filter": {
                   "port": ["10050", "10071"]
               },
               "search": {
                   "host": "*server*"
               },
               "searchWildcardsEnabled": true,
               "searchByAny": true,
               "sortfield": "host",
               "sortorder": "DESC",
               "limit": 5
           },
           "auth": "766b71ee543230a1182ca5c44d353e36",
           "id": 1
       }Response:
{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "50003",
                   "host": "WebServer-Tomcat02",
                   "interfaces": [
                       {
                           "port": "10071"
                       }
                   ]
               },
               {
                   "hostid": "50005",
                   "host": "WebServer-Tomcat01",
                   "interfaces": [
                       {
                           "port": "10071"
                       }
                   ]
               },
               {
                   "hostid": "50004",
                   "host": "WebServer-Nginx",
                   "interfaces": [
                       {
                           "port": "10071"
                       }
                   ]
               },
               {
                   "hostid": "99032",
                   "host": "MySQL server 01",
                   "interfaces": [
                       {
                           "port": "10050"
                       }
                   ]
               },
               {
                   "hostid": "99061",
                   "host": "Linux server 01",
                   "interfaces": [
                       {
                           "port": "10050"
                       }
                   ]
               }
           ],
           "id": 1
       }If you add the parameter "preservekeys" to the previous request, the result is returned as an associative array, where the keys are the id of the objects.
Request:
{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid", "host"],
               "selectInterfaces": ["port"],
               "filter": {
                   "port": ["10050", "10071"]
               },
               "search": {
                   "host": "*server*"
               },
               "searchWildcardsEnabled": true,
               "searchByAny": true,
               "sortfield": "host",
               "sortorder": "DESC",
               "limit": 5,
               "preservekeys": true
           },
           "auth": "766b71ee543230a1182ca5c44d353e36",
           "id": 1
       }Response:
{
           "jsonrpc": "2.0",
           "result": {
               "50003": {
                   "hostid": "50003",
                   "host": "WebServer-Tomcat02",
                   "interfaces": [
                       {
                           "port": "10071"
                       }
                   ]
               },
               "50005": {
                   "hostid": "50005",
                   "host": "WebServer-Tomcat01",
                   "interfaces": [
                       {
                           "port": "10071"
                       }
                   ]
               },        
               "50004": {
                   "hostid": "50004",
                   "host": "WebServer-Nginx",
                   "interfaces": [
                       {
                           "port": "10071"
                       }
                   ]
               },
               "99032": {
                   "hostid": "99032",
                   "host": "MySQL server 01",
                   "interfaces": [
                       {
                           "port": "10050"
                       }
                   ]
               },
               "99061": {
                   "hostid": "99061",
                   "host": "Linux server 01",
                   "interfaces": [
                       {
                           "port": "10050"
                       }
                   ]
               }
           },
           "id": 1
       }