Skip to content
Uptizm
Start free
Sign in

Language

Menu
View as Markdown

API reference

Status pages

Public status pages, their monitors, logos and subscribers.

GET /status-pages status_pages:read #

List status pages

The team's status pages, newest 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 StatusPageResource required
    • id string required
    • team_id string required
    • name string required
    • slug string required
    • domain_mode string, one of "path", "subdomain", "custom" required

      How the page is addressed, as a string: path or subdomain.

    • custom_domain string or null required
    • brand_color string required
    • logo_url string or null required

      A signed URL for the logo image.

    • dark_logo_url string or null required

      A signed URL for the dark logo image; null means there is no dark logo.

    • logo_text string or null required
    • default_theme string, one of "system", "light", "dark" required

      The theme the page shows by default.

    • logo_alignment string, one of "left", "center" required
    • description string or null required
    • locale string or null required

      The language the public page publishes in, null for the deployment default.

    • public_url string or null required

      The URL the page is actually served at, resolved from the route itself.

    • is_public boolean required
    • subscriptions_enabled boolean required
    • monitors array of string
    • preview_image_url string or null

      The URL of the page preview image.

    • preview_rendered_at string or null required
    • preview_render_status string or null, one of "rendering", "completed", "failed", null required

      Null means never rendered.

    • 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/status-pages" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/status-pages', {
  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/status-pages');

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/status-pages",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.json())
POST /status-pages status_pages:write #

Create a status page

Creates a public status page. The plan caps the count; an unclaimed anonymous workspace can create none.

Parameters

NameInTypeRequiredDescription
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • name string, max length 200 required
  • slug string, max length 100 required
  • domain_mode string, one of "path", "subdomain"

    How the page is addressed: path (the default) or subdomain.

  • custom_domain string or null, max length 255
  • brand_color string or null, max length 7

    Strictly #rrggbb: the client never sends an alpha channel.

  • logo_text string or null, max length 8
  • description string or null, max length 500
  • locale string or null, one of "en", "tr", null

    The language this page publishes in: its own copy, its banner label and its incident titles.

  • default_theme StatusPageTheme: string, one of "system", "light", "dark"

    Colour scheme a public status page opens in before the visitor chooses one.

  • logo_alignment LogoAlignment: string, one of "left", "center"

    Where the brand logo sits in a public status page's header.

  • is_public boolean
  • subscriptions_enabled boolean

Response 201 application/json

  • data StatusPageResource required
    • id string required
    • team_id string required
    • name string required
    • slug string required
    • domain_mode string, one of "path", "subdomain", "custom" required

      How the page is addressed, as a string: path or subdomain.

    • custom_domain string or null required
    • brand_color string required
    • logo_url string or null required

      A signed URL for the logo image.

    • dark_logo_url string or null required

      A signed URL for the dark logo image; null means there is no dark logo.

    • logo_text string or null required
    • default_theme string, one of "system", "light", "dark" required

      The theme the page shows by default.

    • logo_alignment string, one of "left", "center" required
    • description string or null required
    • locale string or null required

      The language the public page publishes in, null for the deployment default.

    • public_url string or null required

      The URL the page is actually served at, resolved from the route itself.

    • is_public boolean required
    • subscriptions_enabled boolean required
    • monitors array of string
    • preview_image_url string or null

      The URL of the page preview image.

    • preview_rendered_at string or null required
    • preview_render_status string or null, one of "rendering", "completed", "failed", null required

      Null means never rendered.

    • 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/status-pages" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "name": "string",
    "slug": "string"
}'
const payload = {
    "name": "string",
    "slug": "string"
};

const response = await fetch('https://api.uptizm.com/v1/status-pages', {
  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/status-pages');

$payload = <<<'JSON'
{
    "name": "string",
    "slug": "string"
}
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/status-pages",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{
    "name": "string",
    "slug": "string"
}''',
)

print(response.json())
GET /status-pages/{statusPage} status_pages:read #

Get a status page

One status page with its components (attached monitors).

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page ID

Response 200 application/json

  • data StatusPageResource and object required
    • id string required
    • team_id string required
    • name string required
    • slug string required
    • domain_mode string, one of "path", "subdomain", "custom" required

      How the page is addressed, as a string: path or subdomain.

    • custom_domain string or null required
    • brand_color string required
    • logo_url string or null required

      A signed URL for the logo image.

    • dark_logo_url string or null required

      A signed URL for the dark logo image; null means there is no dark logo.

    • logo_text string or null required
    • default_theme string, one of "system", "light", "dark" required

      The theme the page shows by default.

    • logo_alignment string, one of "left", "center" required
    • description string or null required
    • locale string or null required

      The language the public page publishes in, null for the deployment default.

    • public_url string or null required

      The URL the page is actually served at, resolved from the route itself.

    • is_public boolean required
    • subscriptions_enabled boolean required
    • monitors array of string required
    • preview_image_url string or null

      The URL of the page preview image.

    • preview_rendered_at string or null required
    • preview_render_status string or null, one of "rendering", "completed", "failed", null required

      Null means never rendered.

    • 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/status-pages/STATUS_PAGE" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/status-pages/STATUS_PAGE', {
  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/status-pages/STATUS_PAGE');

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/status-pages/STATUS_PAGE",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.json())
PUT /status-pages/{statusPage} status_pages:write #

Update a status page

Updates the page's settings.

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page ID

Request body application/json

  • name string, max length 200
  • slug string, max length 100
  • domain_mode string, one of "path", "subdomain"
  • custom_domain string or null, max length 255
  • brand_color string or null, max length 7
  • logo_text string or null, max length 8
  • description string or null, max length 500
  • locale string or null, one of "en", "tr", null
  • default_theme StatusPageTheme: string, one of "system", "light", "dark"

    Colour scheme a public status page opens in before the visitor chooses one.

  • logo_alignment LogoAlignment: string, one of "left", "center"

    Where the brand logo sits in a public status page's header.

  • is_public boolean
  • subscriptions_enabled boolean

Response 200 application/json

  • data StatusPageResource and object required
    • id string required
    • team_id string required
    • name string required
    • slug string required
    • domain_mode string, one of "path", "subdomain", "custom" required

      How the page is addressed, as a string: path or subdomain.

    • custom_domain string or null required
    • brand_color string required
    • logo_url string or null required

      A signed URL for the logo image.

    • dark_logo_url string or null required

      A signed URL for the dark logo image; null means there is no dark logo.

    • logo_text string or null required
    • default_theme string, one of "system", "light", "dark" required

      The theme the page shows by default.

    • logo_alignment string, one of "left", "center" required
    • description string or null required
    • locale string or null required

      The language the public page publishes in, null for the deployment default.

    • public_url string or null required

      The URL the page is actually served at, resolved from the route itself.

    • is_public boolean required
    • subscriptions_enabled boolean required
    • monitors array of string required
    • preview_image_url string or null

      The URL of the page preview image.

    • preview_rendered_at string or null required
    • preview_render_status string or null, one of "rendering", "completed", "failed", null required

      Null means never rendered.

    • 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/status-pages/STATUS_PAGE" \
  -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/status-pages/STATUS_PAGE', {
  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/status-pages/STATUS_PAGE');

$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/status-pages/STATUS_PAGE",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
    },
    data=r'''{}''',
)

print(response.json())
DELETE /status-pages/{statusPage} status_pages:write #

Delete a status page

Deletes the page.

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page 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/status-pages/STATUS_PAGE" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/status-pages/STATUS_PAGE', {
  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/status-pages/STATUS_PAGE');

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/status-pages/STATUS_PAGE",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.status_code)
PATCH /status-pages/{statusPage}/monitors/reorder status_pages:write #

Reorder a page's monitors

Sets display_order for the monitors attached to the page.

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page ID

Request body application/json

  • order array of object required
    • id string required
    • display_order integer, min 0 required

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
  • 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 PATCH "https://api.uptizm.com/v1/status-pages/STATUS_PAGE/monitors/reorder" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "order": [
        {
            "id": "string",
            "display_order": 0
        }
    ]
}'
const payload = {
    "order": [
        {
            "id": "string",
            "display_order": 0
        }
    ]
};

const response = await fetch('https://api.uptizm.com/v1/status-pages/STATUS_PAGE/monitors/reorder', {
  method: 'PATCH',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(payload),
});

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

$curl = curl_init('https://api.uptizm.com/v1/status-pages/STATUS_PAGE/monitors/reorder');

$payload = <<<'JSON'
{
    "order": [
        {
            "id": "string",
            "display_order": 0
        }
    ]
}
JSON;

curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'PATCH',
    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.patch(
    "https://api.uptizm.com/v1/status-pages/STATUS_PAGE/monitors/reorder",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
    },
    data=r'''{
    "order": [
        {
            "id": "string",
            "display_order": 0
        }
    ]
}''',
)

print(response.status_code)
POST /status-pages/{statusPage}/monitors status_pages:write #

Attach a monitor to a page

Adds one of the team's monitors to the page, or updates its display fields when it is already attached.

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • monitor_id string required
  • display_order integer, min 0
  • custom_label string or null, max length 255

Response 200 application/json

  • data StatusPageResource and object required
    • id string required
    • team_id string required
    • name string required
    • slug string required
    • domain_mode string, one of "path", "subdomain", "custom" required

      How the page is addressed, as a string: path or subdomain.

    • custom_domain string or null required
    • brand_color string required
    • logo_url string or null required

      A signed URL for the logo image.

    • dark_logo_url string or null required

      A signed URL for the dark logo image; null means there is no dark logo.

    • logo_text string or null required
    • default_theme string, one of "system", "light", "dark" required

      The theme the page shows by default.

    • logo_alignment string, one of "left", "center" required
    • description string or null required
    • locale string or null required

      The language the public page publishes in, null for the deployment default.

    • public_url string or null required

      The URL the page is actually served at, resolved from the route itself.

    • is_public boolean required
    • subscriptions_enabled boolean required
    • monitors array of string required
    • preview_image_url string or null

      The URL of the page preview image.

    • preview_rendered_at string or null required
    • preview_render_status string or null, one of "rendering", "completed", "failed", null required

      Null means never rendered.

    • 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 POST "https://api.uptizm.com/v1/status-pages/STATUS_PAGE/monitors" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "monitor_id": "string"
}'
const payload = {
    "monitor_id": "string"
};

const response = await fetch('https://api.uptizm.com/v1/status-pages/STATUS_PAGE/monitors', {
  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/status-pages/STATUS_PAGE/monitors');

$payload = <<<'JSON'
{
    "monitor_id": "string"
}
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/status-pages/STATUS_PAGE/monitors",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{
    "monitor_id": "string"
}''',
)

print(response.json())
DELETE /status-pages/{statusPage}/monitors/{monitor} status_pages:write #

Detach a monitor from a page

Removes a monitor from the page.

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page ID
monitorpathstringYesThe monitor 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/status-pages/STATUS_PAGE/monitors/MONITOR" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/status-pages/STATUS_PAGE/monitors/MONITOR', {
  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/status-pages/STATUS_PAGE/monitors/MONITOR');

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/status-pages/STATUS_PAGE/monitors/MONITOR",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.status_code)
POST /status-pages/{statusPage}/preview status_pages:write #

Re-render the page preview

Queues a new render of the page's preview image.

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Response 202

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 POST "https://api.uptizm.com/v1/status-pages/STATUS_PAGE/preview" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: $(uuidgen)"
const response = await fetch('https://api.uptizm.com/v1/status-pages/STATUS_PAGE/preview', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
    'Accept': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
});

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

$curl = curl_init('https://api.uptizm.com/v1/status-pages/STATUS_PAGE/preview');

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

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

import requests

response = requests.post(
    "https://api.uptizm.com/v1/status-pages/STATUS_PAGE/preview",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
)

print(response.status_code)
GET /status-pages/{statusPage}/subscribers status_pages:read #

List page subscribers

The page's subscribers, newest first.

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page ID

Response 200 application/json

  • data array of StatusPageSubscriberResource required
    • id string required
    • email string required
    • subscribed_at string or null required
    • confirmed boolean required
    • newsletter_opt_in boolean 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/status-pages/STATUS_PAGE/subscribers" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/status-pages/STATUS_PAGE/subscribers', {
  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/status-pages/STATUS_PAGE/subscribers');

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/status-pages/STATUS_PAGE/subscribers",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.json())
POST /status-pages/{statusPage}/subscribers status_pages:write #

Add a page subscriber

Adds a subscriber by email. They receive a confirmation mail and get updates only after confirming.

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page ID
Idempotency-KeyheaderstringNoAny unique string per logical request.

Request body application/json

  • email string, email, max length 254 required

Response 200 application/json

  • data StatusPageSubscriberResource required
    • id string required
    • email string required
    • subscribed_at string or null required
    • confirmed boolean required
    • newsletter_opt_in boolean required

Response 201 application/json

  • data StatusPageSubscriberResource required
    • id string required
    • email string required
    • subscribed_at string or null required
    • confirmed boolean required
    • newsletter_opt_in boolean 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 POST "https://api.uptizm.com/v1/status-pages/STATUS_PAGE/subscribers" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "email": "string"
}'
const payload = {
    "email": "string"
};

const response = await fetch('https://api.uptizm.com/v1/status-pages/STATUS_PAGE/subscribers', {
  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/status-pages/STATUS_PAGE/subscribers');

$payload = <<<'JSON'
{
    "email": "string"
}
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/status-pages/STATUS_PAGE/subscribers",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    data=r'''{
    "email": "string"
}''',
)

print(response.json())
DELETE /status-pages/{statusPage}/subscribers/{subscriber} status_pages:write #

Remove a page subscriber

Removes a subscriber from the page.

Parameters

NameInTypeRequiredDescription
statusPagepathstringYesThe status page ID
subscriberpathstringYesThe subscriber 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/status-pages/STATUS_PAGE/subscribers/SUBSCRIBER" \
  -H "Authorization: Bearer $UPTIZM_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/status-pages/STATUS_PAGE/subscribers/SUBSCRIBER', {
  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/status-pages/STATUS_PAGE/subscribers/SUBSCRIBER');

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/status-pages/STATUS_PAGE/subscribers/SUBSCRIBER",
    headers={
        "Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
        "Accept": "application/json",
    },
)

print(response.status_code)

Type to search the guides, resources and endpoints.