Better Uptime · Schema

Better Stack Status Page

A status page resource in the Better Stack Uptime API following JSON:API conventions.

Uptime MonitoringIncident ManagementStatus PagesOn-Call SchedulingObservabilityDevOps

Properties

Name Type Description
data object
View JSON Schema on GitHub

JSON Schema

betteruptime-status-page-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/betteruptime/main/json-schema/betteruptime-status-page-schema.json",
  "title": "Better Stack Status Page",
  "description": "A status page resource in the Better Stack Uptime API following JSON:API conventions.",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "required": ["id", "type", "attributes"],
      "properties": {
        "id": {
          "type": "string",
          "description": "Status page identifier"
        },
        "type": {
          "type": "string",
          "const": "status_page"
        },
        "attributes": {
          "type": "object",
          "required": ["company_name", "subdomain"],
          "properties": {
            "company_name": {
              "type": "string"
            },
            "company_url": {
              "type": "string",
              "format": "uri"
            },
            "subdomain": {
              "type": "string",
              "description": "Subdomain for the status page (e.g. mycompany.betteruptime.com)"
            },
            "custom_domain": {
              "type": ["string", "null"],
              "description": "Custom domain for the status page"
            },
            "timezone": {
              "type": "string"
            },
            "theme": {
              "type": "string",
              "enum": ["light", "dark"]
            },
            "layout": {
              "type": "string",
              "enum": ["vertical", "horizontal"]
            },
            "aggregate_state": {
              "type": "string",
              "enum": ["operational", "degraded_performance", "partial_outage", "major_outage"],
              "readOnly": true
            },
            "subscribable": {
              "type": "boolean",
              "description": "Allow visitors to subscribe to status updates"
            },
            "password_enabled": {
              "type": "boolean",
              "description": "Protect the status page with a password"
            },
            "ip_allowlist": {
              "type": "array",
              "items": { "type": "string" },
              "description": "IP addresses allowed to view the status page"
            },
            "history": {
              "type": "integer",
              "description": "Incident history retention in days"
            },
            "created_at": {
              "type": "string",
              "format": "date-time",
              "readOnly": true
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "readOnly": true
            }
          }
        }
      }
    }
  }
}