---
title: "Check Maintenance (Batch)"
description: "Batch-check multiple websites for active maintenance windows."
---

`POST /api/maintenance-windows/check/batch`

This endpoint requires authentication via browser session or API token.

## Request Body

```json
{ "websiteIds": [101, "cd11a84d-96a2-41aa-a957-b1db8ee01b72", 103] }
```

### Fields

- `websiteIds` ((number|string)[], required): numeric website IDs or `websitePublicId` UUIDs

## Example (cURL)

```bash
BASE_URL="https://uptimeify.io"
API_TOKEN="wsm_your_real_api_token"

curl -X POST "$BASE_URL/api/maintenance-windows/check/batch" \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"websiteIds":[101,"cd11a84d-96a2-41aa-a957-b1db8ee01b72",103]}'
```

## Example Response

```json
{
  "results": {
    "101": {
      "inMaintenance": true,
      "activeWindows": [
        {
          "id": 5,
          "name": "Weekly maintenance",
          "startTime": "2026-02-25T02:00:00.000Z",
          "endTime": "2026-02-25T04:00:00.000Z",
          "description": "Planned downtime"
        }
      ]
    },
    "cd11a84d-96a2-41aa-a957-b1db8ee01b72": { "inMaintenance": false, "activeWindows": [] }
  }
}
```

## Common errors

- `400 websiteIds array required` when `websiteIds` is missing/empty
- `400 All websiteIds must be valid identifiers` when any entry is neither a positive integer ID nor a UUID
- `401 Unauthorized` when no valid session or API token is sent
- `403 Forbidden` when at least one website is outside the allowed customer/organization scope
- `404 Website not found` when a provided `websitePublicId` does not resolve to a website

