Skip to content
Uptizm
Start free
Sign in

Language

Menu
View as Markdown

API reference

Maintenance

Scheduled maintenance windows announced on status pages.

GET /scheduled-maintenances maintenance:read #

List maintenance windows

The team's maintenance windows, newest window first, cursor-paginated.

Parameters

NameInTypeRequiredDescription
per_pagequeryinteger, min 1, max 200NoPage size, clamped to 1 and the endpoint's maximum (200 on most lists).
cursorquerystringNoThe meta.next_cursor of the previous page.

Response 200 application/json

  • data array of ScheduledMaintenanceResource required
    • id string required
    • team_id string required
    • status_page_id string required
    • title string required
    • description string or null required
    • suppress_alerts boolean required
    • starts_at string required
    • ends_at string required
    • announced_at string or null required
    • monitors array of object
      • monitor_id string required
      • name string required
    • created_at string or null required
    • updated_at string or null required
  • links object required
    • first string or null required
    • last string or null required
    • prev string or null required
    • next string or null required
  • meta object required
    • path string or null required

      Base path for paginator generated URLs.

    • per_page integer, min 0 required

      Number of items shown per page.

    • next_cursor string or null required

      The "cursor" that points to the next set of items.

    • prev_cursor string or null required

      The "cursor" that points to the previous set of items.

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X GET "https://api.uptizm.com/v1/scheduled-maintenances" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/scheduled-maintenances', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/scheduled-maintenances');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
    ],
]);

$response = curl_exec($curl);
import os

import requests

response = requests.get(
    "https://api.uptizm.com/v1/scheduled-maintenances",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.json())
POST /scheduled-maintenances maintenance:write #

Plan a maintenance window

Plans a window on a status page and announces it to the page's confirmed subscribers. While a window is open, incidents on its monitors are held back.

Parameters

NameInTypeRequiredDescription
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • status_page_id string, uuid required
  • title string, max length 200 required
  • description string or null, max length 2000
  • suppress_alerts boolean
  • starts_at string, date-time required
  • ends_at string, date-time required
  • monitor_ids array of string, uuid

Response 201 application/json

  • data ScheduledMaintenanceResource and object required
    • id string required
    • team_id string required
    • status_page_id string required
    • title string required
    • description string or null required
    • suppress_alerts boolean required
    • starts_at string required
    • ends_at string required
    • announced_at string or null required
    • monitors array of object required
      • monitor_id string required
      • name string required
    • created_at string or null required
    • updated_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X POST "https://api.uptizm.com/v1/scheduled-maintenances" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "status_page_id": "00000000-0000-4000-8000-000000000000",
    "title": "string",
    "starts_at": "2026-01-01T00:00:00Z",
    "ends_at": "2026-01-01T00:00:00Z"
}'
const payload = {
    "status_page_id": "00000000-0000-4000-8000-000000000000",
    "title": "string",
    "starts_at": "2026-01-01T00:00:00Z",
    "ends_at": "2026-01-01T00:00:00Z"
};

const response = await fetch('https://api.uptizm.com/v1/scheduled-maintenances', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/scheduled-maintenances');

$payload = <<<'JSON'
{
    "status_page_id": "00000000-0000-4000-8000-000000000000",
    "title": "string",
    "starts_at": "2026-01-01T00:00:00Z",
    "ends_at": "2026-01-01T00:00:00Z"
}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
        'Idempotency-Key: '.uniqid('', true),
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os
import uuid

import requests

response = requests.post(
    "https://api.uptizm.com/v1/scheduled-maintenances",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{
    "status_page_id": "00000000-0000-4000-8000-000000000000",
    "title": "string",
    "starts_at": "2026-01-01T00:00:00Z",
    "ends_at": "2026-01-01T00:00:00Z"
}''',
)

print(response.json())
GET /scheduled-maintenances/{maintenance} maintenance:read #

Get a maintenance window

One window with its affected components.

Parameters

NameInTypeRequiredDescription
maintenancepathstringYesThe maintenance ID

Response 200 application/json

  • data ScheduledMaintenanceResource and object required
    • id string required
    • team_id string required
    • status_page_id string required
    • title string required
    • description string or null required
    • suppress_alerts boolean required
    • starts_at string required
    • ends_at string required
    • announced_at string or null required
    • monitors array of object required
      • monitor_id string required
      • name string required
    • created_at string or null required
    • updated_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X GET "https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
  },
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
    ],
]);

$response = curl_exec($curl);
import os

import requests

response = requests.get(
    "https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.json())
PUT /scheduled-maintenances/{maintenance} maintenance:write #

Update a maintenance window

Updates the window.

Parameters

NameInTypeRequiredDescription
maintenancepathstringYesThe maintenance ID

Request body application/json

  • status_page_id string, uuid
  • title string, max length 200
  • description string or null, max length 2000
  • suppress_alerts boolean
  • starts_at string, date-time
  • ends_at string, date-time
  • monitor_ids array of string, uuid

Response 200 application/json

  • data ScheduledMaintenanceResource and object required
    • id string required
    • team_id string required
    • status_page_id string required
    • title string required
    • description string or null required
    • suppress_alerts boolean required
    • starts_at string required
    • ends_at string required
    • announced_at string or null required
    • monitors array of object required
      • monitor_id string required
      • name string required
    • created_at string or null required
    • updated_at string or null required

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 422 Validation error
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X PUT "https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}'
const payload = {};

const response = await fetch('https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE', {
  method: 'PUT',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
<?php

$curl = curl_init('https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE');

$payload = <<<'JSON'
{}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'PUT',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => $payload,
]);

$response = curl_exec($curl);
import os

import requests

response = requests.put(
    "https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
    },
    data=r'''{}''',
)

print(response.json())
DELETE /scheduled-maintenances/{maintenance} maintenance:write #

Delete a maintenance window

Deletes the window.

Parameters

NameInTypeRequiredDescription
maintenancepathstringYesThe maintenance ID

Response 204

No body.

Errors

  • 401 Unauthenticated
  • 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
  • 404 Not found
  • 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.

Code samples

curl -X DELETE "https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE', {
  method: 'DELETE',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
  },
});

console.log(response.status);
<?php

$curl = curl_init('https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE');

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
        'Accept: application/json',
    ],
]);

$response = curl_exec($curl);
import os

import requests

response = requests.delete(
    "https://api.uptizm.com/v1/scheduled-maintenances/MAINTENANCE",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.status_code)

Type to search the guides, resources and endpoints.