---
title: "Get Status Page Maintenance"
description: "Returns one scheduled maintenance with its pages, components and updates."
---

`GET /api/status-pages/maintenances/{id}`

`state` comes from the clock and is never stored: `scheduled` before `scheduledFor`, `in_progress` until `scheduledUntil`, then `completed`; `cancelled` once cancelled. The maintenance starts and ends by itself, no call is needed. While it is `in_progress` its components show `maintenance` on the public page (a worse state, such as an outage, stays), a maintenance without components shows the whole page as under maintenance.

## 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`.

## Example (cURL)

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

curl -X GET "$BASE_URL/api/status-pages/maintenances/12" \
  -H "Authorization: Bearer $TOKEN"
```

## Response

`200 OK`:

```json
{
  "id": 12,
  "publicId": "3f1c2a9e-5b7d-4c8e-9a1f-2b3c4d5e6f70",
  "organizationId": 4,
  "title": "Database upgrade",
  "description": "Checkout may be slow for a few minutes.",
  "scheduledFor": "2026-11-03T22:00:00.000Z",
  "scheduledUntil": "2026-11-03T23:00:00.000Z",
  "state": "scheduled",
  "notifyOnSchedule": true,
  "reminderMinutesBefore": 60,
  "notifyOnStart": false,
  "notifyOnComplete": true,
  "cancelledAt": null,
  "statusPageIds": [1],
  "componentIds": [7],
  "links": [
    {
      "statusPageId": 1,
      "statusPagePublicId": "0b6f3c1e-8d2a-4f5b-9c7e-1a2b3c4d5e6f",
      "statusPageName": "Acme Status",
      "componentId": 7,
      "componentPublicId": "5a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d",
      "componentName": "Checkout"
    }
  ],
  "updates": [],
  "createdAt": "2026-10-28T09:00:00.000Z",
  "updatedAt": "2026-10-28T09:00:00.000Z"
}
```

## 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` (`statusPageMaintenanceNotFound`) when the maintenance does not exist or belongs to another organization
