This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

usermacro.update

Description

object usermacro.update(object/array hostMacros)

This method allows to update existing host macros.

This method is only available to Admin and Super admin user types. Permissions to call the method can be revoked in user role settings. See User roles for more information.

Parameters

(object/array) Host macro properties to be updated.

The hostmacroid property must be defined for each host macro, all other properties are optional. Only the passed properties will be updated, all others will remain unchanged.

Return values

(object) Returns an object containing the IDs of the updated host macros under the hostmacroids property.

Examples

Changing the value of a host macro

Change the value of a host macro to "public".

Request:

{
           "jsonrpc": "2.0",
           "method": "usermacro.update",
           "params": {
               "hostmacroid": "1",
               "value": "public"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "hostmacroids": [
                   "1"
               ]
           },
           "id": 1
       }

Change macro value that was created by discovery rule

Convert discovery rule created "automatic" macro to "manual" and change its value to "new-value".

Request:

{
           "jsonrpc": "2.0",
           "method": "usermacro.update",
           "params": {
               "hostmacroid": "1",
               "value": "new-value",
               "automatic": "0"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "hostmacroids": [
                   "1"
               ]
           },
           "id": 1
       }

Source

CUserMacro::update() in ui/include/classes/api/services/CUserMacro.php.