---
title: "Create Status Page"
method: POST
path: "/api/status-pages"
tags: ["Status Pages"]
---

# Create Status Page

`POST /api/status-pages`

## Request

- Base URL: `https://uptimeify.io`
- URL: `https://uptimeify.io/api/status-pages`
- Auth: HTTP bearer

POST /api/status-pages

## Request body

- object
  - `customerId` integer, required
  - `name` string, required
  - `slug` string: Derived from name when omitted; a numeric suffix is added on collision.
  - `description` string
  - `visibility` 'public' | 'customer_members_only' | 'password_protected': Default public.
  - `accessPassword` string: Required with visibility password_protected.
  - `isPublished` boolean: Default true.
  - `showRecentIncidents` boolean
  - `showRecentMaintenance` boolean
  - `subscriptionsEnabled` boolean
  - `subscriptionDelayMinutes` integer
  - `customDomainHostname` string: Creates a pending custom domain; the answer carries the DNS TXT record to publish.
  - `hiddenMonitors` object[]
    - `type` 'http' | 'dns' | 'icmp' | 'smtp' | 'ssh' | 'tcp' | 'ftp' | 'imap_pop', required
    - `id` integer, required

## Response `200`

Successful response

- object
  - `statusPage` object, required
    - `id` integer, required
    - `publicId` string, uuid, required
    - `organizationId` integer, required
    - `customerId` integer, required
    - `name` string, required
    - `slug` string, required
    - `description` string, nullable, required
    - `visibility` 'public' | 'customer_members_only' | 'password_protected', required
    - `isPublished` boolean, required
    - `showRecentIncidents` boolean, required
    - `showRecentMaintenance` boolean, required
    - `subscriptionsEnabled` boolean, required
    - `subscriptionDelayMinutes` integer, required
    - `hiddenMonitors` object[], required: Monitors of the customer that the page does not show.
      - `type` 'http' | 'dns' | 'icmp' | 'smtp' | 'ssh' | 'tcp' | 'ftp' | 'imap_pop', required
      - `id` integer, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `customDomainId` integer, nullable, required
  - `dns` object, nullable, required: DNS TXT record that proves control of the hostname.
    - `txtName` string, required: Name of the TXT record to publish.
    - `txtValue` string, required

## Other responses

- `400`: Invalid or missing parameters.
- `401`: Missing, invalid or expired API token.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/uptimeify/apis/uptimeify-rest-api.md) · [All operations](https://skmtc.dev/uptimeify/apis/uptimeify-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/uptimeify/apis/uptimeify-rest-api/revisions/2129a771ee7e?raw)
