---
title: "Get Public Status Page"
method: GET
path: "/api/status-pages/public/{slug}"
tags: ["Status Pages"]
---

# Get Public Status Page

`GET /api/status-pages/public/{slug}`

## Request

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

GET /api/status-pages/public/:slug

## Path parameters

- `slug` string, required

## Query parameters

- `previewLayout` string
- `previewHistoryDays` string

## Response `200`

Successful response

- object
  - `statusPage` object, required
    - `id` 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
    - `designConfig` object, required
      - `layout` 'classic' | 'cards' | 'minimal' | 'sleek' | 'board' | 'split' | 'timeline' | 'compact' | 'statusboard', required
      - `colorScheme` 'light' | 'dark' | 'auto', required
      - `accentColor` string, required
      - `headerStyle` 'simple' | 'centered' | 'hero', required
      - `fontFamily` 'system' | 'mono', required
      - `cardRadius` 'none' | 'md' | 'xl', required
      - `pageWidth` 'sm' | 'md' | 'lg' | 'xl', required
      - `customTitle` string, required
      - `seoTitle` string, required: Overrides <title> and og:title only; not settable through the API yet.
      - `customSubtitle` string, required
      - `showPoweredBy` boolean, required
      - `showUptimeStats` boolean, required
      - `showServiceUrls` boolean, required
      - `showLastChecked` boolean, required
      - `showHistory` boolean, required
      - `historyDays` integer, required
      - `showIncidents` boolean, required
      - `incidentLimit` integer, required
      - `incidentDays` integer, required
      - `showMaintenance` boolean, required
      - `maintenanceLimit` integer, required
      - `maintenanceDays` integer, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `overallState` 'operational' | 'maintenance' | 'warning' | 'degraded', required: A manual override wins over the monitor-derived state.
    - `overrideMessage` string, nullable, required
    - `subscriptionsEnabled` boolean, required
    - `productName` string, nullable, required: White-label product name; null when hidden.
  - `websites` object[], required: Every monitor of the customer except the hidden ones.
    - `id` integer, required
    - `name` string, required
    - `url` string, nullable, required: null unless the design shows service URLs.
    - `status` string, required: Monitor status: active, inactive, maintenance or paused.
    - `state` 'operational' | 'maintenance' | 'warning' | 'degraded', required
    - `inMaintenance` boolean, required
    - `openIncidents` integer, required
    - `lastCheckedAt` string, date-time, nullable, required
    - `kind` 'http' | 'dns' | 'icmp' | 'smtp' | 'ssh' | 'tcp' | 'ftp' | 'imap_pop', required
    - `createdAt` string, date-time, nullable, required
    - `uptimeDays` object[], required: Statusboard layout only; empty otherwise.
      - `date` string, date, required
      - `status` 'nodata' | 'operational' | 'partial' | 'major', required
      - `uptimePct` number, nullable, required: null on a day without data.
      - `downtimeMs` integer, required
    - `availability` number, nullable, required: Statusboard layout only.
  - `maintenanceHistory` object[], required
    - `id` integer, required
    - `websiteId` integer, required
    - `websiteName` string, required
    - `name` string, required
    - `description` string, nullable, required
    - `startTime` string, date-time, required
    - `endTime` string, date-time, required
    - `status` 'scheduled' | 'active' | 'completed', required
  - `incidentHistory` object[], required
    - `id` integer, required
    - `websiteId` integer, required: Monitor id (any type); 0 for a manual incident.
    - `websiteName` string, required: Monitor name; the title for a manual incident.
    - `type` string, required
    - `status` string, required: open, acknowledged or resolved.
    - `startedAt` string, date-time, required
    - `resolvedAt` string, date-time, nullable, required
    - `title` string, nullable, required
    - `severity` string, nullable, required
    - `source` string, required: monitor or manual.
    - `updates` object[], required: Statusboard layout only.
      - `status` string, required
      - `body` string, required
      - `createdAt` string, date-time, required
      - `authorName` string, nullable, required: First name and initial.
  - `platform` object: Platform availability; only on the Uptimeify platform status page.
    - `windowDays` integer, required
    - `measuredSinceMs` number, nullable, required
    - `checkDelivery` object, required
      - `pct` number, nullable, required
      - `coveragePct` number, nullable, required
      - `announcedMaintenanceMinutes` number, required
      - `insufficientData` boolean, required
      - `publishableFromMs` number, nullable, required
    - `alertDelivery` object, required
      - `pct` number, nullable, required
      - `sampleSize` integer, required
      - `endpointFailures` integer, required
      - `latencyP90Ms` number, nullable, required
      - `latencySampleSize` integer, required
      - `insufficientData` boolean, required
      - `latencyInsufficientData` boolean, required
    - `components` object[], required
      - `key` string, required
      - `displayName` string, required
      - `state` 'operational' | 'degraded' | 'down' | 'unknown', required
      - `bar` object, required
        - `days` object[], required
          - `date` string, date, required
          - `status` 'nodata' | 'operational' | 'partial' | 'major', required
          - `uptimePct` number, nullable, required: null on a day without data.
          - `downtimeMs` integer, required
        - `availability` number, nullable, required
        - `coveragePct` number, nullable, required
      - `coveragePct` number, nullable, required

## Other responses

- `400`: Invalid or missing parameters.
- `401`: Missing, invalid or expired API token.
- `404`: No such resource, or not visible to this 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)
