---
title: "List Status Page Maintenance"
description: "Lists the scheduled maintenance of your status pages."
---

`GET /api/status-pages/maintenances`

## Access

Organization `admin`, `editor` and `readonly`. A customer-scoped user or API token only sees maintenance whose status pages all belong to a customer in its scope. Maintenance of another organization answers `404` (`statusPageMaintenanceNotFound`). Path ids take the numeric id or the `publicId`.

## Query Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `statusPageId` | number\|string | - | Only maintenance shown on this status page (id or `publicId`). |
| `state` | string | - | Comma-separated: `scheduled`, `in_progress`, `completed`, `cancelled`. |
| `page` | number | `1` | |
| `perPage` | number | `50` | Capped at 200. |

## Example (cURL)

```bash
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"

curl -X GET "$BASE_URL/api/status-pages/maintenances?state=scheduled,in_progress" \
  -H "Authorization: Bearer $TOKEN"
```

## Response

`200 OK`, newest start first. Each item has the same shape as [Get Status Page Maintenance](/api/status-pages/get-status-page-maintenance):

```json
{
  "items": [ { "id": 12, "title": "Database upgrade", "state": "scheduled", "...": "..." } ],
  "total": 1,
  "page": 1,
  "perPage": 50
}
```

## Common errors

- `400 Bad Request` (`invalidIdentifier`) when an id is neither a number nor a UUID
- `401 Unauthorized` when you are not logged in
- `403 Forbidden` (`forbidden`) when your role may not do this, or for a customer-scoped caller on a page without a customer or of another customer
- `403 Forbidden` (`statusPagesModuleDisabled`) when the status pages module is not activated
- `404 Not Found` (`statusPageNotFound`) when a status page does not exist or belongs to another organization
- `400 Bad Request` (`invalidRequestBody`) when `state`, `page` or `perPage` is not valid
