triggerprototype_get
Retrieve trigger prototypes to inspect LLD-generated trigger definitions, expressions, filters, and status for hosts, templates, or discovery rules.
Instructions
Retrieve trigger prototypes. Trigger prototypes are used by LLD rules to create real triggers for each discovered entity. Their expressions reference item prototypes and use LLD macros. The expression comes in the form the update tool takes, functions written out and user macros kept ('avg(/host/key,10m)>{$MAX}'; Zabbix 5.4 and later, before that Zabbix's own expansion). extra_params expandExpression: true asks Zabbix for its own expansion instead, with every user macro replaced by its current value: for reading, never for sending back (the trigger would lose its macros); false returns the stored form with function IDs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return. | |
| filter | No | Return only results whose properties exactly match the given values (a single value or a list of values per key). Example: {"status": 0} or {"status": [0, 1]}. Keys: correlation_mode, correlation_tag, description, discover, event_name (6.0+), expression, flags (7.4+), manual_close, opdata, priority, recovery_expression, recovery_mode, status, templateid, triggerid, type, url, url_name (6.4+), uuid (6.0+). Text properties cannot be filtered; use 'search' for them. | |
| output | No | Properties of the triggerprototype object to return. Pass 'extend' for all, 'count' for the number of matches only, or a list of property names. Default when omitted: triggerid, description, priority, status. Properties: comments, correlation_mode, correlation_tag, description, discover, error (removed in 8.0), event_name (6.0+), expression, flags (7.4+), lastchange (removed in 8.0), manual_close, opdata, priority, recovery_expression, recovery_mode, state (removed in 8.0), status, templateid, triggerid, type, url, url_name (6.4+), uuid (6.0+), value (removed in 8.0). | |
| search | No | Return results whose string properties contain the given pattern (case-insensitive; '*' is a wildcard when searchWildcardsEnabled is true). Example: {"name": "web"}. Keys: comments, correlation_tag, description, event_name (6.0+), expression, opdata, recovery_expression, url, url_name (6.4+), uuid (6.0+). | |
| server | No | Target Zabbix server. Available: default. Defaults to 'default' if omitted. | |
| hostids | No | Return only trigger prototypes that belong to the given hosts. | |
| raw_json | No | Strips the security disclaimer preamble from the response so it is pure JSON. Default: false. Requires the bearer token to have 'allow_raw_json' explicitly enabled by an operator in the admin portal - tokens without that policy receive a PolicyError instead. WARNING: setting true bypasses the prompt-injection mitigation marker that wraps untrusted Zabbix data (host names, item descriptions, problem text). LLM clients (Claude, GPT, Cursor, ...) should leave this false; only programmatic non-LLM consumers (Python scripts, n8n workflows that json.loads the result) should set true. | |
| sortfield | No | Sort by one or more of: triggerid, description, status, priority, discover (a list for several; pair with 'sortorder'). No other property is sortable. | |
| sortorder | No | Sort order: 'ASC' (ascending) or 'DESC' (descending). | |
| triggerids | No | Return only trigger prototypes with the given IDs. | |
| countOutput | No | Return the count of matching results instead of the actual data. | |
| searchByAny | No | If true, return results matching ANY search field (OR). Default is ALL fields (AND). | |
| templateids | No | Return only trigger prototypes that belong to the given templates. | |
| discoveryids | No | Return only trigger prototypes belonging to the given LLD rules. | |
| extra_params | No | Other native triggerprototype.get parameters, merged into the request as-is. Parameters: active, expandExpression, functions, group, groupCount, groupids, host, inherited, itemids, limitSelects, maintenance, min_severity, monitored, templated. Switches (true turns one on, false is the same as leaving it out): active, expandExpression, groupCount, monitored. groupCount goes with output='count': the count is then split by the ID filters the method groups by (hostids, groupids ...), one row per ID with 'rowscount'; a single row without such a filter. Sub-object selects (value 'extend', 'count' or a list of property names): selectDependencies, selectDiscoveryData (7.4+), selectDiscoveryRule, selectDiscoveryRulePrototype (7.4+), selectFunctions, selectGroups (removed in 7.2), selectHostGroups (6.2+), selectHosts, selectInheritedTags (8.0+), selectItems, selectTags, selectTemplateGroups (6.2+). Any other key is refused here, because Zabbix would silently ignore it. For a parameter you are sure exists on your release but is not listed, use zabbix_raw_api_call. | |
| searchWildcardsEnabled | No | If true, enable * and ? wildcards in search patterns. |