You want to create maintenance windows using the Maintenance API rather than the user interface (UI). While the UI allows you to match alarms based on specific criteria such as 'Message contains ####' , the DX O2 API documentation does not define how to perform this specific filtering.
The current API documentation for Global Maintenance APIs does not explicitly detail the functionality for matching alarms by message content.
You can match alarms in the Maintenance API by message content using the same logic applied in the UI.
Broadcom is currently updating the technical documentation to include these missing details (Defect # DE677830), targeted to be fixed in a future documentation release.
If you require assistance with the specific JSON syntax for these filters before the documentation update is published, find below an example template
...
"description": "_alarms_milk_and_coffe",
"excludedMembers": [],
"includeSubservices": true,
"members": [],
"metricPathFilter": {
"and": {
"expressions": [
{
"or": {
"empty": false,
"expressions": [
{
"condition": "contains",
"field": "message",
"fieldDescription": "Message",
"value": "milk"
},
{
"condition": "contains",
"field": "message",
"fieldDescription": "Message",
"value": "coffe"
}
]
}
}
]
},
"empty": false
},
"muteOldAlarms": false,
"name": "_alarms_milk_and_coffe",
"restrictSLOOnMaintenance": true,
"schedule": {
"duration": 1440,
"recurrenceDayOfTheMonth": "",
"recurrenceDaysOfTheWeek": "",
"recurrencePattern": 1,
"recurrencePeriod": 1,
"startTime": "2026-06-09 09:02:28",
"timeZone": "America/Danmarkshavn"
},
"selectAllAgents": false,
"selectAllDevices": false,
"selectAllGroups": false,
"selectAllServices": false
}
For more information and examples on Maintenance APIs, refers to Techdocs DX O2 - Maintenance APIs