# triggerprototype.update

### Description

`object triggerprototype.update(object/array triggerPrototypes)`

This method allows to update existing trigger prototypes.

### Parameters

`(object/array)` [Trigger prototype
properties](object#trigger_prototype) to be updated.

The `triggerid` property must be defined for each trigger prototype, all
other properties are optional. Only the passed properties will be
updated, all others will remain unchanged.

In addition to the [standard trigger prototype
properties](object#trigger_prototype) this method accepts the following
parameters:

|Parameter|[Type](/manual/api/reference_commentary#data_types)|Description|
|---------|---------------------------------------------------|-----------|
|dependencies|array|Triggers and trigger prototypes that the trigger prototype is dependent on.<br><br>The triggers must have the `triggerid` property defined.|

::: noteimportant
The trigger expression has to be given in its
expanded form and must contain at least one item prototype.
:::

### Return values

`(object)` Returns an object containing the IDs of the updated trigger
prototypes under the `triggerids` property.

### Examples

#### Enabling a trigger prototype

Enable a trigger prototype, that is, set its status to 0.

Request:

``` {.java}
{
    "jsonrpc": "2.0",
    "method": "triggerprototype.update",
    "params": {
        "triggerid": "13938",
        "status": 0
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Response:

``` {.java}
{
    "jsonrpc": "2.0",
    "result": {
        "triggerids": [
            "13938"
        ]
    },
    "id": 1
}
```

### Source

CTriggerPrototype::update() in
*frontends/php/include/classes/api/services/CTriggerPrototype.php*.
