---
title: "Schedule a maintenance window against one of the account's own status pages"
method: POST
path: "/maintenance"
tags: ["Maintenance"]
---

# Schedule a maintenance window against one of the account's own status pages

`POST /maintenance`

## Request

- Base URL: `https://realuptime.io/api/v1`
- URL: `https://realuptime.io/api/v1/maintenance`
- Auth: HTTP bearer

## Request body

- object
  - `statusPageId` string, uuid, required
  - `title` string, required
  - `body` string, required
  - `startsAt` string
  - `endsAt` string
  - `durationMinutes` integer
  - `componentIds` string[]
  - `noDowntime` boolean

## Response `201`

The created window. Suppresses alerts for its scope without pausing checks, and notifies the status page's confirmed subscribers by email, the same as scheduling it in the dashboard.

- object
  - `window` object, required
    - `id` string, required
    - `status_page_id` string, required
    - `title` string, required
    - `body` string, required
    - `starts_at` string, required
    - `ends_at` string, required
    - `created_at` string, required
    - `no_downtime` boolean, required

## Other responses

- `400`: Malformed body, or neither/both of endsAt and durationMinutes given. - `RU-5013` Invalid maintenance window request: https://realuptime.io/kb/errors/ru-5013
- `401`: Missing, invalid, or revoked API key. - `RU-1001` Missing API credentials: https://realuptime.io/kb/errors/ru-1001 - `RU-1002` Invalid or revoked API key: https://realuptime.io/kb/errors/ru-1002
- `403`: This key is read-only, or this key is IP-restricted and the request came from outside its allowlist. - `RU-1004` API key is read-only: https://realuptime.io/kb/errors/ru-1004 - `RU-1007` API key is restricted to an IP allowlist: https://realuptime.io/kb/errors/ru-1007
- `404`: statusPageId, or one of componentIds, doesn't belong to the account. - `RU-5014` Maintenance window not found or not creatable: https://realuptime.io/kb/errors/ru-5014
- `429`: Per-key rate limit exceeded, a Free account's per-account request budget exceeded, or too many failed authentication attempts. - `RU-2003` API write rate limit exceeded: https://realuptime.io/kb/errors/ru-2003 - `RU-2001` Too many failed authentication attempts: https://realuptime.io/kb/errors/ru-2001
- `503`: noDowntime was requested before this server's database supports it. Retry after the next release.

---

[API](https://skmtc.dev/realuptime/apis/realuptime-api-v1.md) · [All operations](https://skmtc.dev/realuptime/apis/realuptime-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/realuptime/apis/realuptime-api-v1/revisions/51e481084700?raw)
