object host.create(object/array hosts)
This method allows to create new hosts.
(object/array) Hosts to create.
Additionally to the standard host properties, the method accepts the following parameters.
| Parameter | Type | Description | 
|---|---|---|
| groups (required) | object/array | Host groups to add the host to. The host groups must have the groupidproperty defined. | 
| interfaces (required) | object/array | Interfaces to be created for the host. | 
| tags | object/array | Host tags. | 
| templates | object/array | Templates to be linked to the host. The templates must have the templateidproperty defined. | 
| macros | object/array | User macros to be created for the host. | 
| inventory | object | Host inventory properties. | 
(object) Returns an object containing the IDs of the created hosts under the hostids property. The order of the returned IDs matches the order of the passed hosts.
Create a host called "Linux server" with an IP interface and tags, add it to a group, link a template to it and set the MAC addresses in the host inventory.
Request:
{
           "jsonrpc": "2.0",
           "method": "host.create",
           "params": {
               "host": "Linux server",
               "interfaces": [
                   {
                       "type": 1,
                       "main": 1,
                       "useip": 1,
                       "ip": "192.168.3.1",
                       "dns": "",
                       "port": "10050"
                   }
               ],
               "groups": [
                   {
                       "groupid": "50"
                   }
               ],
               "tags": [
                   {
                       "tag": "Host name",
                       "value": "Linux server"
                   }
               ],
               "templates": [
                   {
                       "templateid": "20045"
                   }
               ],
               "macros": [
                   {
                       "macro": "{$USER_ID}",
                       "value": "123321"
                   },
                   {
                       "macro": "{$USER_LOCATION}",
                       "value": "0:0:0",
                       "description": "latitude, longitude and altitude coordinates"
                   }
               ],
               "inventory_mode": 0,
               "inventory": {
                   "macaddress_a": "01234",
                   "macaddress_b": "56768"
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }Response:
CHost::create() in frontends/php/include/classes/api/services/CHost.php.