{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api.ilert.com/schemas/StatusPage",
  "title": "StatusPage",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "domain": {
      "type": "string"
    },
    "subdomain": {
      "type": "string"
    },
    "timezone": {
      "$ref": "#/components/schemas/TimeZone"
    },
    "faviconUrl": {
      "type": "string"
    },
    "logoUrl": {
      "type": "string"
    },
    "visibility": {
      "type": "string",
      "enum": [
        "PRIVATE",
        "PUBLIC"
      ]
    },
    "hiddenFromSearch": {
      "type": "boolean"
    },
    "showSubscribeAction": {
      "type": "boolean"
    },
    "showIncidentHistoryOption": {
      "type": "boolean"
    },
    "pageTitle": {
      "type": "string"
    },
    "pageDescription": {
      "type": "string"
    },
    "pageLayout": {
      "type": "string",
      "enum": [
        "SINGLE_COLUMN",
        "RESPONSIVE"
      ]
    },
    "logoRedirectUrl": {
      "type": "string"
    },
    "activated": {
      "type": "boolean"
    },
    "status": {
      "$ref": "#/components/schemas/ServiceStatus"
    },
    "teams": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TeamRel"
      }
    },
    "services": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ServiceUptimeOnly"
      }
    },
    "metrics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MetricNoIncludes"
      }
    },
    "ipWhitelist": {
      "type": "array",
      "description": "ipv4 or ipv6 addresses to give access to. Can only be set on 'PRIVATE' status pages",
      "items": {
        "type": "string"
      }
    },
    "structure": {
      "$ref": "#/components/schemas/StatusPageStructure"
    },
    "subscribed": {
      "type": "boolean",
      "description": "This is an include field, it is not available in the list resource",
      "readOnly": true
    },
    "groups": {
      "type": "array",
      "description": "This is an include field, it is not available in the list resource. Read-only, use the sub resource to manipulate groups.",
      "readOnly": true,
      "items": {
        "$ref": "#/components/schemas/StatusPageGroup"
      }
    },
    "appearance": {
      "type": "string",
      "enum": [
        "LIGHT",
        "DARK"
      ]
    },
    "announcement": {
      "type": "string",
      "description": "This is an include field, it is not available in the list resource"
    },
    "announcementOnPage": {
      "type": "boolean",
      "description": "If the announcement should be displayed on the status page"
    },
    "announcementInWidget": {
      "type": "boolean",
      "description": "If the announcement should be displayed in the popup widget"
    },
    "audienceSpecific": {
      "type": "boolean",
      "default": false,
      "description": "If a private status page should move into audience specific mode"
    }
  }
}