---
title: "Add status page"
method: POST
path: "/status-page"
tags: ["Status page"]
---

# Add status page

`POST /status-page`

## Request

- Base URL: `https://api.pulsetic.com/api/public`
- URL: `https://api.pulsetic.com/api/public/status-page`
- Auth: API key in header `Authorization`

## Request body

- StatusPageUpsertInput
  - `title` string, required
  - `domain` string
  - `meta_title` string
  - `site_key` string
  - `secret_key` string
  - `uptime_threshold` number
  - `remove_branding` boolean
  - `subscribe_to_updates` boolean
  - `private` boolean
  - `password` string
  - `uptime_percentage_style` boolean
  - `show_location_tooltip` boolean
  - `monitors` integer[]

## Response `200`

successful operation

- StatusPage
  - `id` integer
  - `slug` string
  - `title` string
  - `logo` string
  - `timezone` string
  - `domain` string
  - `uptime_threshold` number
  - `remove_branding` 0 | 1
  - `subscribe_to_updates` 0 | 1
  - `statusPageSubscriptions` StatusPageSubscription[]
    - `id` integer
    - `email` string
    - `status_page_id` integer
    - `paused` 0 | 1
    - `email_verified_at` string, date-time
    - `hash` string
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `private` 0 | 1
  - `uptime_percentage_style` 0 | 1
  - `show_location_tooltip` 0 | 1
  - `site_key` string
  - `secret_key` string
  - `meta_title` string
  - `no_index` 0 | 1
  - `status_pages_style` StatusPagesStyle
    - `id` integer
    - `status_page_id` integer
    - `logo` string
    - `header_image` string
    - `favicon` string
    - `darken_header_image` 0 | 1
    - `logo_sizes` string
    - `logo_link` string
    - `custom_css` string
    - `status_icons_style` string
    - `updates_button_style` string
    - `font_style` string
    - `color_style` string
    - `links_color_style` string
    - `text_style` string
    - `status_text_style` string
    - `uptime_states_color_style` string
    - `uptime_text_style` string
    - `status_frame_style` string
    - `uptime_style` string
    - `incidents_frame_style` string
    - `incidents_state_style` string
    - `upload_logo` string
    - `upload_header_image` string
    - `upload_favicon_image` string
  - `status_pages_language` string
  - `live_maintenance` StatusPageMaintenance
    - `id` integer
    - `name` string
    - `description` string
    - `status_page_id` integer
    - `monitors` string
    - `start` string: Local wall-clock start time, formatted "Y-m-d H:i:s" in the timezone given by `timezone.utc[0]` - not UTC and not ISO-8601, despite the field looking like a timestamp.
    - `end` string: Local wall-clock end time, formatted "Y-m-d H:i:s" in the timezone given by `timezone.utc[0]` - not UTC and not ISO-8601.
    - `timezone` StatusPageMaintenanceTimezone: The timezone `date`/`time` are expressed in. Only `utc[0]` is used to resolve the window - the other fields are optional display metadata the dashboard's timezone picker sends, kept for convenience when re-rendering the picker's selection.
      - `value` string: Display-only picker value (e.g. a Windows timezone name). Not used for scheduling.
      - `abbr` string: Display-only abbreviation. Not used for scheduling.
      - `offset` number: Display-only UTC offset in hours. Not used for scheduling.
      - `isdst` boolean: Display-only DST flag. Not used for scheduling.
      - `title` string: Display-only picker label. Not used for scheduling.
      - `utc` string[], required: IANA timezone ids. Only index 0 is used to resolve `date`/`time` into an actual instant; it must be a value PHP's DateTimeZone accepts (including backward-compatible aliases such as `America/Godthab`).
    - `status` string
    - `hide_from_list` 0 | 1
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `date` string
  - `upcoming_maintenances` StatusPageMaintenance[]
    - `id` integer
    - `name` string
    - `description` string
    - `status_page_id` integer
    - `monitors` string
    - `start` string: Local wall-clock start time, formatted "Y-m-d H:i:s" in the timezone given by `timezone.utc[0]` - not UTC and not ISO-8601, despite the field looking like a timestamp.
    - `end` string: Local wall-clock end time, formatted "Y-m-d H:i:s" in the timezone given by `timezone.utc[0]` - not UTC and not ISO-8601.
    - `timezone` StatusPageMaintenanceTimezone: The timezone `date`/`time` are expressed in. Only `utc[0]` is used to resolve the window - the other fields are optional display metadata the dashboard's timezone picker sends, kept for convenience when re-rendering the picker's selection.
      - `value` string: Display-only picker value (e.g. a Windows timezone name). Not used for scheduling.
      - `abbr` string: Display-only abbreviation. Not used for scheduling.
      - `offset` number: Display-only UTC offset in hours. Not used for scheduling.
      - `isdst` boolean: Display-only DST flag. Not used for scheduling.
      - `title` string: Display-only picker label. Not used for scheduling.
      - `utc` string[], required: IANA timezone ids. Only index 0 is used to resolve `date`/`time` into an actual instant; it must be a value PHP's DateTimeZone accepts (including backward-compatible aliases such as `America/Godthab`).
    - `status` string
    - `hide_from_list` 0 | 1
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `date` string

---

[API](https://skmtc.dev/pulsetic/apis/pulsetic-api-implementation.md) · [All operations](https://skmtc.dev/pulsetic/apis/pulsetic-api-implementation/llms.txt) · [OpenAPI document](https://skmtc.dev/pulsetic/apis/pulsetic-api-implementation/revisions/8e0c010eb8ed?raw)
