List Maintenance Windows

GET /api/maintenance-windows

List Maintenance Windows

GET /api/maintenance-windows

Returns maintenance windows scoped to your organization by default.

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 to true to 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,
  "createdBy": "<user-id>",
  "createdAt": "2026-02-20T10:00:00.000Z",
  "updatedAt": "2026-02-20T10:00:00.000Z",
  "website": {
   "id": 101,
    "url": "https://example.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.

Common Errors

  • 401 Unauthorized if you are not authenticated
  • 403 Forbidden if you do not have access