[comment]: # ({8c711e69-8c711e69})
# maintenance.update

[comment]: # ({/8c711e69-8c711e69})

[comment]: # ({292dcffa-292dcffa})
### Description

`object maintenance.update(object/array maintenances)`

This method allows to update existing maintenances.

::: noteclassic
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](/manual/web_interface/frontend_sections/administration/user_roles)
for more information.
:::

[comment]: # ({/292dcffa-292dcffa})

[comment]: # ({dc6b3fa2-dc6b3fa2})
### Parameters

`(object/array)` Maintenance properties to be updated.

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

Additionally to the [standard maintenance
properties](object#maintenance), the method accepts the following
parameters.

|Parameter|[Type](/manual/api/reference_commentary#data_types)|Description|
|---------|---------------------------------------------------|-----------|
|groupids|array|IDs of the host groups to replace the current groups.|
|hostids|array|IDs of the hosts to replace the current hosts.|
|timeperiods|array|Maintenance [time periods](/manual/api/reference/maintenance/object#time_period) to replace the current periods.|
|tags|array|[Problem tags](/manual/api/reference/maintenance/object#problem_tag).|

::: noteimportant
At least one host or host group must be defined
for each maintenance.
:::

[comment]: # ({/dc6b3fa2-dc6b3fa2})

[comment]: # ({b9ffa219-b9ffa219})
### Return values

`(object)` Returns an object containing the IDs of the updated
maintenances under the `maintenanceids` property.

[comment]: # ({/b9ffa219-b9ffa219})

[comment]: # ({b41637d2-b41637d2})
### Examples

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({3f6d58a5-3f6d58a5})
#### Assigning different hosts

Replace the hosts currently assigned to maintenance "3" with two
different ones.

Request:

``` {.java}
{
    "jsonrpc": "2.0",
    "method": "maintenance.update",
    "params": {
        "maintenanceid": "3",
        "hostids": [
            "10085",
            "10084"
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Response:

``` {.java}
{
    "jsonrpc": "2.0",
    "result": {
        "maintenanceids": [
            "3"
        ]
    },
    "id": 1
}
```

[comment]: # ({/3f6d58a5-3f6d58a5})

[comment]: # ({82b3ef0e-82b3ef0e})
### See also

-   [Time period](object#time_period)

[comment]: # ({/82b3ef0e-82b3ef0e})

[comment]: # ({63ad1661-63ad1661})
### Source

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

[comment]: # ({/63ad1661-63ad1661})
