List Maintenance Windows
Returns maintenance windows scoped to your organization by default.
GET /api/maintenance-windows
You can filter by a specific target (e.g. websiteId) or by customer/organization.
Authentication
Requires a valid session.
- Header:
Authorization: Bearer <token>
Query Parameters
websiteId(optional)customerId(optional)organizationId(optional, defaults to your session organization)activeOnly(optional): set totrueto only return active windows- Target filters (optional, exactly one is typically used when narrowing down):
icmpMonitorId,smtpMonitorId,sshMonitorId,ftpMonitorId,imapPopMonitorId
Note: When websiteId is provided, access is enforced for that website.
Note (API token scope): If you use a customer-scoped API token, results are restricted to that customer. Providing a different customerId returns 403.
Example (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"
curl -X GET \
"$BASE_URL/api/maintenance-windows?websiteId=101" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"Example Response
[
{
"id": 5,
"websiteId": 101,
"icmpMonitorId": null,
"smtpMonitorId": null,
"sshMonitorId": null,
"ftpMonitorId": null,
"imapPopMonitorId": null,
"customerId": 12,
"customerName": "Acme Corp",
"name": "Weekly maintenance",
"description": "Planned downtime",
"startTime": "2026-02-25T02:00:00.000Z",
"endTime": "2026-02-25T04:00:00.000Z",
"isRecurring": true,
"recurrencePattern": {
"frequency": "weekly",
"interval": 1,
"daysOfWeek": [1]
},
"isActive": true,
"timezone": "UTC",
"createdBy": "<user-id>",
"createdAt": "2026-02-20T10:00:00.000Z",
"updatedAt": "2026-02-20T10:00:00.000Z",
"website": {
"id": 101,
"url": "https://deinkunde.com"
}
}
]Note: The list endpoint only includes the website relation (when websiteId is set). It does not include nested customer objects or monitor relations. A lightweight top-level customerName is included for display/filtering.
Visibility
Which windows come back depends on who is reading, not only on the query parameters:
- An unrestricted reader (organization admin, global admin, and an organization-bound agent token) receives every window of the organization: the customer-anchored ones and the organization-wide ones (
customerId: null). - A customer-scoped reader (a
readonlyuser assigned to one or more customers, and the agent token minted for such a user) receives the windows of their own customers plus the organization-wide ones. Windows belonging to another customer are never returned. - A customer-scoped API token is pinned to the customer it was issued for and receives that customer's windows only.
Passing customerId explicitly narrows the result further. A readonly user may only name a customer they are assigned to; any other customer answers 403 Forbidden.
Common Errors
401 Unauthorizedif you are not authenticated403 Forbiddenif you do not have access