Maintenance Windows
A fixed start/end time range during which incident tracking is suppressed for a monitor or an entire project — so a planned deploy or upstream migration doesn't page anyone.
Windows don’t repeat — there’s no recurrence/cron field. For a recurring maintenance schedule, create a new window each time (e.g. from a cron job on your own side calling Create Maintenance Window).
GET
List Maintenance Windows/maintenance-windowsA fixed time range during which incidents are suppressed for a monitor or an entire project. No recurrence — one-off ranges only.
Example Request
curl -X GET "https://api.exitprobe.com/api/v1/maintenance-windows" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"Example Response
{
"success": true,
"data": {
"maintenance_windows": [
{ "id": 9, "project_id": 3, "monitor_id": null, "note": "Scheduled upstream migration", "starts_at": "2026-09-27T02:00:00Z", "ends_at": "2026-09-27T04:00:00Z", "project": { "id": 3, "name": "Default Project" }, "monitor": null }
]
}
}POST
Create Maintenance Window/maintenance-windowsScope to exactly one of project_id or monitor_id. A project-scoped window suppresses incidents for every monitor in that project; a monitor-scoped one suppresses just that monitor.
Request Body
| project_id | integer | Required if monitor_id is omitted. |
| monitor_id | integer | Required if project_id is omitted. |
| note | string | Max 500 chars. |
| starts_at* | string | Any parseable date. |
| ends_at* | string | Must be after starts_at. |
Notes
- •422 "Select a project or a specific server monitor to scope this maintenance window to." if both project_id and monitor_id are omitted.
- •While a window is active, a status flap produces no incident record at all — not even a suppressed/hidden one.
Example Request
curl -X POST "https://api.exitprobe.com/api/v1/maintenance-windows" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "My Monitor"
}'Example Response
{ "success": true, "message": "Maintenance window scheduled.", "data": { "maintenance_window": { "id": 9, "starts_at": "2026-09-27T02:00:00Z", "ends_at": "2026-09-27T04:00:00Z" } } }DELETE
Delete Maintenance Window/maintenance-windows/{id}Example Request
curl -X DELETE "https://api.exitprobe.com/api/v1/maintenance-windows/{id}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"Example Response
{ "success": true, "message": "Maintenance window removed." }