The following objects are directly related to the hostprototype API.
The host prototype object has the following properties.
| Property | Type | Description | 
|---|---|---|
| hostid | string | (readonly) ID of the host prototype. | 
| host (required) | string | Technical name of the host prototype. | 
| name | string | Visible name of the host prototype. Default: hostproperty value. | 
| status | integer | Status of the host prototype. Possible values are: 0 - (default) monitored host; 1 - unmonitored host. | 
| inventory_mode | integer | Host inventory population mode. Possible values are: -1 - (default) disabled; 0 - manual; 1 - automatic. | 
| templateid | string | (readonly) ID of the parent template host prototype. | 
| discover | integer | Host prototype discovery status. Possible values: 0 - (default) new hosts will be discovered; 1 - new hosts will not be discovered and existing hosts will be marked as lost. | 
| custom_interfaces | integer | Source of interfaces for hosts created by the host prototype. Possible values: 0 - (default) inherit interfaces from parent host; 1 - use host prototypes custom interfaces. | 
| uuid | string | Universal unique identifier, used for linking imported host prototypes to already existing ones. Used only for host prototypes on templates. Auto-generated, if not given. | 
Note that for some methods (update, delete) the required/optional parameter combination is different.
The group link object links a host prototype with a host group and has the following properties.
| Property | Type | Description | 
|---|---|---|
| groupid (required) | string | ID of the host group. | 
The group prototype object defines a group that will be created for a discovered host and has the following properties.
| Property | Type | Description | 
|---|---|---|
| name (required) | string | Name of the group prototype. | 
The host prototype tag object has the following properties.
| Property | Type | Description | 
|---|---|---|
| tag (required) | string | Host prototype tag name. | 
| value | string | Host prototype tag value. | 
The custom interface object has the following properties.
| Property | Type | Description | 
|---|---|---|
| dns | string | DNS name used by the interface. Required if the connection is made via DNS. Can contain macros. | 
| ip | string | IP address used by the interface. Required if the connection is made via IP. Can contain macros. | 
| main (required) | integer | Whether the interface is used as default on the host. Only one interface of some type can be set as default on a host. Possible values are: 0 - not default; 1 - default. | 
| port (required) | string | Port number used by the interface. Can contain user and LLD macros. | 
| type (required) | integer | Interface type. Possible values are: 1 - agent; 2 - SNMP; 3 - IPMI; 4 - JMX. | 
| useip (required) | integer | Whether the connection should be made via IP. Possible values are: 0 - connect using host DNS name; 1 - connect using host IP address for this host interface. | 
| details | array | Additional object for interface. Required if interface 'type' is SNMP. | 
The details object has the following properties.
| Property | Type | Description | 
|---|---|---|
| version (required) | integer | SNMP interface version. Possible values are: 1 - SNMPv1; 2 - SNMPv2c; 3 - SNMPv3 | 
| bulk | integer | Whether to use bulk SNMP requests. Possible values are: 0 - don't use bulk requests; 1 - (default) - use bulk requests. | 
| community | string | SNMP community. Used only by SNMPv1 and SNMPv2 interfaces. | 
| securityname | string | SNMPv3 security name. Used only by SNMPv3 interfaces. | 
| securitylevel | integer | SNMPv3 security level. Used only by SNMPv3 interfaces. Possible values are: 0 - (default) - noAuthNoPriv; 1 - authNoPriv; 2 - authPriv. | 
| authpassphrase | string | SNMPv3 authentication passphrase. Used only by SNMPv3 interfaces. | 
| privpassphrase | string | SNMPv3 privacy passphrase. Used only by SNMPv3 interfaces. | 
| authprotocol | integer | SNMPv3 authentication protocol. Used only by SNMPv3 interfaces. Possible values are: 0 - (default) - MD5; 1 - SHA1; 2 - SHA224; 3 - SHA256; 4 - SHA384; 5 - SHA512. | 
| privprotocol | integer | SNMPv3 privacy protocol. Used only by SNMPv3 interfaces. Possible values are: 0 - (default) - DES; 1 - AES128; 2 - AES192; 3 - AES256; 4 - AES192C; 5 - AES256C. | 
| contextname | string | SNMPv3 context name. Used only by SNMPv3 interfaces. |