{
  "components": {
    "schemas": {
      "api.HierarchyItemSummary": {
        "properties": {
          "abbreviated_name": {
            "type": "string"
          },
          "depth": {
            "type": "integer"
          },
          "hierarchy_path": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "depth",
          "status"
        ],
        "type": "object"
      },
      "api.IncidentLifecycleStageResource": {
        "properties": {
          "color": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "display_order": {
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "is_default": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "color",
          "display_order",
          "is_default"
        ],
        "type": "object"
      },
      "api.IncidentUpdateResource": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "is_resolution": {
            "type": "boolean"
          },
          "lifecycle_stage": {
            "$ref": "#/components/schemas/api.IncidentLifecycleStageResource"
          },
          "lifecycle_stage_id": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "previous_status": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "message",
          "status",
          "is_resolution",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "api.ItemMetricsResponse": {
        "properties": {
          "calculation_method": {
            "type": "string"
          },
          "component_id": {
            "type": "integer"
          },
          "component_name": {
            "type": "string"
          },
          "current_status": {
            "type": "string"
          },
          "data_gap_reason": {
            "type": "string"
          },
          "end_time": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "history_complete": {
            "type": "boolean"
          },
          "operational_status_key": {
            "type": "string"
          },
          "period_days": {
            "type": "integer"
          },
          "start_time": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "uptime_by_status": {
            "additionalProperties": {
              "type": "number"
            },
            "type": "object"
          },
          "uptime_state": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "api.MaintenanceLifecycleStageResource": {
        "properties": {
          "color": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "display_order": {
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "is_default": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "color",
          "display_order",
          "is_default"
        ],
        "type": "object"
      },
      "api.MaintenanceUpdateResource": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "lifecycle_stage": {
            "$ref": "#/components/schemas/api.MaintenanceLifecycleStageResource"
          },
          "lifecycle_stage_id": {
            "type": "integer"
          },
          "maintenance_id": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "maintenance_id",
          "message",
          "status",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "api.PublicCustomViewResolution": {
        "properties": {
          "access_message": {
            "type": "string"
          },
          "access_mode": {
            "type": "string"
          },
          "public_slug": {
            "type": "string"
          },
          "requires_auth": {
            "type": "boolean"
          },
          "visibility": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "api.PublicHierarchyItem": {
        "properties": {
          "abbreviated_name": {
            "type": "string"
          },
          "children": {
            "items": {
              "$ref": "#/components/schemas/api.PublicHierarchyItem"
            },
            "type": "array"
          },
          "depth": {
            "type": "integer"
          },
          "description": {
            "type": "string"
          },
          "display_order": {
            "type": "integer"
          },
          "hierarchy_path": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "integer"
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "api.PublicHierarchyLevel": {
        "properties": {
          "depth": {
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "plural_name": {
            "type": "string"
          },
          "singular_name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "api.PublicIncident": {
        "properties": {
          "acknowledged_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "affected_items": {
            "items": {
              "$ref": "#/components/schemas/api.HierarchyItemSummary"
            },
            "type": "array"
          },
          "affected_items_freetext": {
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "has_post_incident_report": {
            "type": "boolean"
          },
          "id": {
            "type": "integer"
          },
          "impact": {
            "type": "string"
          },
          "initial_status": {
            "type": "string"
          },
          "lifecycle_stage": {
            "$ref": "#/components/schemas/api.IncidentLifecycleStageResource"
          },
          "lifecycle_stage_id": {
            "type": "integer"
          },
          "post_incident_report": {
            "$ref": "#/components/schemas/api.PublicPostIncidentReport"
          },
          "resolved_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "started_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "updates": {
            "items": {
              "$ref": "#/components/schemas/api.IncidentUpdateResource"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "status",
          "title",
          "description",
          "started_at",
          "has_post_incident_report",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "api.PublicIncidentLifecycleStage": {
        "properties": {
          "color": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "display_order": {
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "is_default": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "api.PublicMaintenance": {
        "properties": {
          "affected_items": {
            "items": {
              "$ref": "#/components/schemas/api.HierarchyItemSummary"
            },
            "type": "array"
          },
          "created_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "impact": {
            "type": "string"
          },
          "lifecycle_stage": {
            "$ref": "#/components/schemas/api.MaintenanceLifecycleStageResource"
          },
          "lifecycle_stage_id": {
            "type": "integer"
          },
          "scheduled_end_time": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "scheduled_start_time": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "updates": {
            "items": {
              "$ref": "#/components/schemas/api.MaintenanceUpdateResource"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "status",
          "title",
          "description",
          "scheduled_start_time",
          "scheduled_end_time",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "api.PublicMaintenanceLifecycleStage": {
        "properties": {
          "color": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "display_order": {
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "is_default": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "api.PublicPostIncidentReport": {
        "properties": {
          "id": {
            "type": "integer"
          },
          "incident_id": {
            "type": "integer"
          },
          "published_at": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "rendered_content_html": {
            "type": "string"
          },
          "state": {
            "enum": [
              "published"
            ],
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "incident_id",
          "state"
        ],
        "type": "object"
      },
      "api.PublicStatusDefinition": {
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "color": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "display_order": {
            "type": "integer"
          },
          "icon": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "is_operational": {
            "type": "boolean"
          },
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "api.PublicStatusPageDiscovery": {
        "properties": {
          "canonical_url": {
            "type": "string"
          },
          "public_slug": {
            "type": "string"
          },
          "public_url": {
            "type": "string"
          },
          "viewer_auth_mode": {
            "type": "string"
          },
          "viewer_password_configured": {
            "type": "boolean"
          },
          "visibility": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "handlers.ErrorResponse": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "handlers.PublicHierarchyComponentResponse": {
        "properties": {
          "child_count": {
            "type": "integer"
          },
          "depth": {
            "type": "integer"
          },
          "display_order": {
            "type": "integer"
          },
          "hierarchy_path": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "is_leaf": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "parent_id": {
            "type": "integer"
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/models.StatusType"
          }
        },
        "type": "object"
      },
      "handlers.publicIncidentSummaryResponse": {
        "properties": {
          "affected_items_count": {
            "type": "integer"
          },
          "has_post_incident_report": {
            "type": "boolean"
          },
          "id": {
            "type": "integer"
          },
          "resolved_at": {
            "format": "date-time",
            "type": "string"
          },
          "started_at": {
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/models.StatusType"
          },
          "title": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "handlers.publicMaintenanceSummaryResponse": {
        "properties": {
          "affected_items_count": {
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "recurrence_end_time": {
            "format": "date-time",
            "type": "string"
          },
          "recurrence_rule": {
            "type": "string"
          },
          "recurrence_timezone": {
            "type": "string"
          },
          "scheduled_end_time": {
            "format": "date-time",
            "type": "string"
          },
          "scheduled_start_time": {
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/models.MaintenanceStatus"
          },
          "title": {
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "handlers.publicSettingsResponse": {
        "properties": {
          "allow_password_login_when_sso_enabled": {
            "type": "boolean"
          },
          "allow_password_reset_emails": {
            "type": "boolean"
          },
          "body_font_preset": {
            "type": "string"
          },
          "body_font_url": {
            "type": "string"
          },
          "brand_color_dark": {
            "type": "string"
          },
          "brand_color_light": {
            "type": "string"
          },
          "custom_body_script_url": {
            "type": "string"
          },
          "custom_css": {
            "type": "string"
          },
          "custom_head_script_url": {
            "type": "string"
          },
          "datetime_locale": {
            "type": "string"
          },
          "default_component_item_id": {
            "type": "integer"
          },
          "document_locale": {
            "type": "string"
          },
          "embed_badge_enabled": {
            "type": "boolean"
          },
          "embed_badge_label": {
            "type": "string"
          },
          "embed_launcher_button_color": {
            "type": "string"
          },
          "embed_launcher_button_color_dark": {
            "type": "string"
          },
          "embed_launcher_button_display": {
            "type": "string"
          },
          "embed_launcher_button_text_color": {
            "type": "string"
          },
          "embed_launcher_component_ids": {
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "embed_launcher_draggable": {
            "type": "boolean"
          },
          "embed_launcher_enabled": {
            "type": "boolean"
          },
          "embed_launcher_label": {
            "type": "string"
          },
          "embed_launcher_maintenance_days": {
            "type": "integer"
          },
          "embed_launcher_position": {
            "type": "string"
          },
          "embed_launcher_show_incidents": {
            "type": "boolean"
          },
          "embed_launcher_show_informational": {
            "type": "boolean"
          },
          "embed_launcher_show_maintenances": {
            "type": "boolean"
          },
          "embed_widget_enabled": {
            "type": "boolean"
          },
          "embed_widget_eyebrow": {
            "type": "string"
          },
          "embed_widget_title": {
            "type": "string"
          },
          "enable_basic_view_on_homepage": {
            "type": "boolean"
          },
          "enable_tree_view_on_homepage": {
            "type": "boolean"
          },
          "favicon_url": {
            "type": "string"
          },
          "footer_navigation_links": {
            "$ref": "#/components/schemas/models.PublicNavigationLinks"
          },
          "footer_text": {
            "type": "string"
          },
          "header_action_style": {
            "type": "string"
          },
          "header_background_url": {
            "type": "string"
          },
          "header_identity_mode": {
            "type": "string"
          },
          "header_layout": {
            "type": "string"
          },
          "header_navigation_links": {
            "$ref": "#/components/schemas/models.PublicNavigationLinks"
          },
          "header_show_admin_login": {
            "type": "boolean"
          },
          "header_show_subscribe": {
            "type": "boolean"
          },
          "header_show_theme_toggle": {
            "type": "boolean"
          },
          "header_show_timezone": {
            "type": "boolean"
          },
          "heading_font_preset": {
            "type": "string"
          },
          "heading_font_url": {
            "type": "string"
          },
          "homepage_current_activity_row_display": {
            "type": "string"
          },
          "homepage_current_activity_view_mode": {
            "type": "string"
          },
          "homepage_default_collapsed_sections": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "homepage_default_incident_group_by": {
            "type": "string"
          },
          "homepage_hidden_sections": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "homepage_hierarchy_view_mode": {
            "type": "string"
          },
          "homepage_history_bars_days": {
            "type": "integer"
          },
          "homepage_section_order": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "homepage_upcoming_maintenance_days": {
            "type": "integer"
          },
          "incident_primary_message_mode": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          },
          "logo_url_dark": {
            "type": "string"
          },
          "multilingual_enabled": {
            "type": "boolean"
          },
          "multilingual_public_ready": {
            "type": "boolean"
          },
          "page_background_mode": {
            "type": "string"
          },
          "page_background_url": {
            "type": "string"
          },
          "page_layout": {
            "type": "string"
          },
          "public_theme_profile": {
            "$ref": "#/components/schemas/models.PublicThemeProfile"
          },
          "show_component_by_default": {
            "type": "boolean"
          },
          "show_history_bars_on_homepage": {
            "type": "boolean"
          },
          "show_incident_affected_summary": {
            "type": "boolean"
          },
          "show_incident_impact_in_collapsed": {
            "type": "boolean"
          },
          "show_incident_last_updated_at": {
            "type": "boolean"
          },
          "show_incident_started_at": {
            "type": "boolean"
          },
          "show_incident_view_details_link": {
            "type": "boolean"
          },
          "show_site_title": {
            "type": "boolean"
          },
          "site_subtitle": {
            "type": "string"
          },
          "site_title": {
            "type": "string"
          },
          "sso_enabled": {
            "type": "boolean"
          },
          "supported_locales": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "handlers.recordPageViewRequest": {
        "properties": {
          "surface": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "handlers.viewerAccessStatusResponse": {
        "properties": {
          "authenticated": {
            "type": "boolean"
          },
          "password_enabled": {
            "type": "boolean"
          },
          "public_slug": {
            "type": "string"
          },
          "requires_auth": {
            "type": "boolean"
          },
          "sso_enabled": {
            "type": "boolean"
          },
          "sso_provider_source": {
            "type": "string"
          },
          "viewer_auth_mode": {
            "type": "string"
          },
          "visibility": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "handlers.viewerLogoutRequest": {
        "properties": {
          "page_id": {
            "type": "integer"
          },
          "public_slug": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "handlers.viewerLogoutResponse": {
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "handlers.viewerPasswordLoginRequest": {
        "properties": {
          "page_id": {
            "type": "integer"
          },
          "password": {
            "type": "string"
          },
          "public_slug": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "handlers.viewerSSOLoginResponse": {
        "properties": {
          "auth_url": {
            "type": "string"
          },
          "protocol": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "models.MaintenanceStatus": {
        "enum": [
          "scheduled",
          "in_progress",
          "completed",
          "cancelled"
        ],
        "type": "string"
      },
      "models.PublicNavigationLink": {
        "properties": {
          "label": {
            "type": "string"
          },
          "open_in_new_tab": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "models.PublicNavigationLinks": {
        "items": {
          "$ref": "#/components/schemas/models.PublicNavigationLink"
        },
        "type": "array"
      },
      "models.PublicThemeModeColors": {
        "properties": {
          "canvas": {
            "type": "string"
          },
          "mode": {
            "type": "string"
          },
          "surface": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "models.PublicThemeProfile": {
        "properties": {
          "character": {
            "type": "string"
          },
          "content_width": {
            "type": "string"
          },
          "corners": {
            "type": "string"
          },
          "dark": {
            "$ref": "#/components/schemas/models.PublicThemeModeColors"
          },
          "density": {
            "type": "string"
          },
          "depth": {
            "type": "string"
          },
          "header_scrim": {
            "type": "string"
          },
          "header_tone": {
            "type": "string"
          },
          "light": {
            "$ref": "#/components/schemas/models.PublicThemeModeColors"
          },
          "preset": {
            "type": "string"
          },
          "section_tone": {
            "type": "string"
          },
          "status_style": {
            "type": "string"
          },
          "version": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "models.StatusType": {
        "enum": [
          "operational",
          "degraded",
          "partial",
          "outage",
          "maintenance"
        ],
        "type": "string"
      }
    },
    "securitySchemes": {
      "ViewerSession": {
        "description": "Browser viewer session used to access a private status page.",
        "in": "cookie",
        "name": "statuspage_viewer_session",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "contact": {
      "name": "StatiBeat support"
    },
    "description": "Unauthenticated visitor-facing status, incident, maintenance, subscription, feed, view, and viewer-authentication APIs.",
    "license": {
      "name": "Proprietary"
    },
    "title": "StatiBeat Public API",
    "version": "1.0.0"
  },
  "openapi": "3.0.3",
  "paths": {
    "/api/v1/analytics/page-view": {
      "post": {
        "description": "Authentication: none.",
        "operationId": "analytics_RecordPageView_post_analytics_page_view",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "surface": "incident_detail"
              },
              "schema": {
                "$ref": "#/components/schemas/handlers.recordPageViewRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Record Page View",
        "tags": [
          "analytics"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/hierarchy/items/slug/{slug}": {
      "get": {
        "description": "Authentication: none. Get a specific hierarchy item by identifier",
        "operationId": "hierarchy_GetItemBySlug_get_hierarchy_items_slug_slug",
        "parameters": [
          {
            "description": "Item identifier",
            "in": "path",
            "name": "slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api.PublicHierarchyItem"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get item by identifier",
        "tags": [
          "hierarchy-items"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/hierarchy/items/{id}": {
      "get": {
        "description": "Authentication: none. Get a specific hierarchy item by ID",
        "operationId": "hierarchy_GetItemByID_get_hierarchy_items_id",
        "parameters": [
          {
            "description": "Item ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api.PublicHierarchyItem"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get item by ID",
        "tags": [
          "hierarchy-items"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/hierarchy/items/{id}/metrics": {
      "get": {
        "description": "Authentication: none. Get uptime metrics broken down by status type for a specific hierarchy item",
        "operationId": "hierarchy_GetItemMetrics_get_hierarchy_items_id_metrics",
        "parameters": [
          {
            "description": "Item ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Number of days (default 30)",
            "in": "query",
            "name": "days",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api.ItemMetricsResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get metrics for a hierarchy item",
        "tags": [
          "hierarchy-items"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/hierarchy/levels": {
      "get": {
        "description": "Authentication: none. Get all configured hierarchy levels",
        "operationId": "hierarchy_GetAllLevels_get_hierarchy_levels",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/api.PublicHierarchyLevel"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get all hierarchy levels",
        "tags": [
          "hierarchy-config"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/hierarchy/tree": {
      "get": {
        "description": "Authentication: none. Get the complete hierarchy tree starting from root items",
        "operationId": "hierarchy_GetItemTree_get_hierarchy_tree",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/api.PublicHierarchyItem"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get full hierarchy tree",
        "tags": [
          "hierarchy-items"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/incidents": {
      "get": {
        "description": "Authentication: none. List public incidents for the page resolved from the current request host. The default response is a compact summary; append `?view=full` to the URL for nested updates and affected-item details.",
        "operationId": "incident_GetIncidents_get_incidents",
        "parameters": [
          {
            "description": "Incident status filter (active|resolved)",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page size (active/resolved only; max 100)",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Page offset (active/resolved only)",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "List payload shape. Defaults to `summary`. Append `?view=full` to the URL when you want nested updates and affected-item objects.",
            "example": "full",
            "in": "query",
            "name": "view",
            "required": false,
            "schema": {
              "default": "summary",
              "enum": [
                "summary",
                "full"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "affected_items_count": 1,
                    "has_post_incident_report": false,
                    "id": 42,
                    "started_at": "2026-03-22T08:15:00Z",
                    "status": "degraded",
                    "title": "Elevated API latency",
                    "updated_at": "2026-03-22T08:20:00Z"
                  }
                ],
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/handlers.publicIncidentSummaryResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK",
            "headers": {
              "X-Result-View": {
                "description": "Payload shape returned for the list response.",
                "schema": {
                  "type": "string"
                }
              },
              "X-Total-Count": {
                "description": "Total number of matching incidents for paged active/resolved queries.",
                "schema": {
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List public incidents",
        "tags": [
          "incidents"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/incidents/{id}": {
      "get": {
        "description": "Authentication: none. Return one public incident by ID for the current host.",
        "operationId": "incident_GetIncident_get_incidents_id",
        "parameters": [
          {
            "description": "Incident ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api.PublicIncident"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get public incident",
        "tags": [
          "incidents"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/lifecycle/stages": {
      "get": {
        "description": "Authentication: none. Get all incident lifecycle stages ordered by display_order",
        "operationId": "lifecycle_GetAllStages_get_lifecycle_stages",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/api.PublicIncidentLifecycleStage"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get all lifecycle stages",
        "tags": [
          "lifecycle"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/maintenance-lifecycle/stages": {
      "get": {
        "description": "Authentication: none. Get all maintenance lifecycle stages ordered by display_order.",
        "operationId": "maintenanceLifecycle_GetAllStages_get_maintenance_lifecycle_stages",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/api.PublicMaintenanceLifecycleStage"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get all maintenance lifecycle stages",
        "tags": [
          "maintenance-lifecycle"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/maintenances": {
      "get": {
        "description": "Authentication: none. List maintenance windows for the page resolved from the current request host. The default response is a compact summary; append `?view=full` to the URL for the full maintenance document.",
        "operationId": "maintenance_GetMaintenances_get_maintenances",
        "parameters": [
          {
            "description": "Time-window filter (upcoming|active|past|scheduled)",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by maintenance lifecycle stage ID",
            "in": "query",
            "name": "lifecycle_stage_id",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Filter by maintenance lifecycle stage name (case-insensitive)",
            "in": "query",
            "name": "lifecycle_stage_name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "List payload shape. Defaults to `summary`. Append `?view=full` to the URL when you want affected-item objects, updates, and the full maintenance document.",
            "example": "full",
            "in": "query",
            "name": "view",
            "required": false,
            "schema": {
              "default": "summary",
              "enum": [
                "summary",
                "full"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "affected_items_count": 1,
                    "id": 88,
                    "scheduled_end_time": "2026-03-25T21:45:00Z",
                    "scheduled_start_time": "2026-03-25T21:00:00Z",
                    "status": "scheduled",
                    "title": "API maintenance",
                    "updated_at": "2026-03-24T14:30:00Z"
                  }
                ],
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/handlers.publicMaintenanceSummaryResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK",
            "headers": {
              "X-Result-View": {
                "description": "Payload shape returned for the list response.",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List maintenance windows",
        "tags": [
          "maintenances"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/maintenances/{id}": {
      "get": {
        "description": "Authentication: none. Return one maintenance window by ID for the current host.",
        "operationId": "maintenance_GetMaintenance_get_maintenances_id",
        "parameters": [
          {
            "description": "Maintenance ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api.PublicMaintenance"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get maintenance window",
        "tags": [
          "maintenances"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/pages/public/current-host": {
      "get": {
        "description": "Authentication: none. Return public page metadata for the page resolved from the current request host.",
        "operationId": "statusPage_GetStatusPageForCurrentHost_get_pages_public_current_host",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api.PublicStatusPageDiscovery"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get current-host page metadata",
        "tags": [
          "public-page"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/pages/public/{public_slug}": {
      "get": {
        "description": "Authentication: none.",
        "operationId": "statusPage_GetStatusPageByPublicSlug_get_pages_public_public_slug",
        "parameters": [
          {
            "description": "Public status page URL prefix",
            "in": "path",
            "name": "public_slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api.PublicStatusPageDiscovery"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get Status Page By Public Slug",
        "tags": [
          "status-pages"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/pages/public/{public_slug}/components": {
      "get": {
        "description": "Authentication: none. Returns a flattened component list for a public status page URL prefix, with optional filtering for non-operational components.",
        "operationId": "hierarchy_ListComponents_get_pages_public_public_slug_components",
        "parameters": [
          {
            "description": "Public page URL prefix",
            "in": "path",
            "name": "public_slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by state: all, non_operational, or a specific status key",
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "When true, only return leaf components (default true)",
            "in": "query",
            "name": "leaf_only",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/handlers.PublicHierarchyComponentResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List public page components",
        "tags": [
          "hierarchy-items"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/settings": {
      "get": {
        "description": "Authentication: none. Return the public page settings for the current host, including branding, homepage sections, and presentation defaults.",
        "operationId": "settings_GetSettings_get_settings",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.publicSettingsResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get public page settings",
        "tags": [
          "public-page"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/status-definitions": {
      "get": {
        "description": "Authentication: none.",
        "operationId": "statusDef_GetAll_get_status_definitions",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/api.PublicStatusDefinition"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get All",
        "tags": [
          "status-definitions"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/viewer-auth/login/password": {
      "post": {
        "description": "Authentication: none. Validates a private status page password, creates an HTTP-only viewer session cookie, and returns the resulting access status.",
        "operationId": "viewerAccess_LoginWithPassword_post_viewer_auth_login_password",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/handlers.viewerPasswordLoginRequest"
              }
            }
          },
          "description": "Viewer password login",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.viewerAccessStatusResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Create a viewer session with a page password",
        "tags": [
          "viewer-auth"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/viewer-auth/logout": {
      "post": {
        "description": "Authentication: viewer session cookie required. Revokes the viewer session for the selected page and clears its HTTP-only cookie.",
        "operationId": "viewerAccess_Logout_post_viewer_auth_logout",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/handlers.viewerLogoutRequest"
              }
            }
          },
          "description": "Viewer logout request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.viewerLogoutResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "ViewerSession": []
          }
        ],
        "summary": "Revoke a viewer session",
        "tags": [
          "viewer-auth"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "viewer-session",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/viewer-auth/sso/login": {
      "get": {
        "description": "Authentication: none. Creates the short-lived browser state required for viewer SSO and returns the identity provider authorization URL.",
        "operationId": "viewerAccess_GetSSOLoginURL_get_viewer_auth_sso_login",
        "parameters": [
          {
            "description": "Deprecated status page identifier",
            "in": "query",
            "name": "page_id",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Public status page slug",
            "in": "query",
            "name": "public_slug",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Safe relative path to return to after authentication",
            "in": "query",
            "name": "redirect",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.viewerSSOLoginResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Start viewer SSO",
        "tags": [
          "viewer-auth"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/viewer-auth/status": {
      "get": {
        "description": "Authentication: none. Returns whether the selected status page requires viewer authentication and whether the current browser has a valid viewer session.",
        "operationId": "viewerAccess_GetStatus_get_viewer_auth_status",
        "parameters": [
          {
            "description": "Deprecated status page identifier",
            "in": "query",
            "name": "page_id",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Public status page slug",
            "in": "query",
            "name": "public_slug",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.viewerAccessStatusResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Not Found"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get viewer access status",
        "tags": [
          "viewer-auth"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    },
    "/api/v1/views/public/{code}": {
      "get": {
        "description": "Authentication: none.",
        "operationId": "customView_ResolvePublicView_get_views_public_code",
        "parameters": [
          {
            "description": "code",
            "in": "path",
            "name": "code",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/api.PublicCustomViewResolution"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Too Many Requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/handlers.ErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Resolve Public View",
        "tags": [
          "views"
        ],
        "x-statibeat-audience": "visitor",
        "x-statibeat-auth": "none",
        "x-statibeat-compatibility": false,
        "x-statibeat-stability": "stable",
        "x-statibeat-surface": "public"
      }
    }
  },
  "servers": [
    {
      "description": "Live read-only demo host for visitor examples. Replace it with your own page host for production use.",
      "url": "https://demo.statibeat.com"
    }
  ],
  "tags": [
    {
      "description": "Operations for the analytics capability.",
      "name": "analytics"
    },
    {
      "description": "Operations for the hierarchy config capability.",
      "name": "hierarchy-config"
    },
    {
      "description": "Read and administer status-page component hierarchy items.",
      "name": "hierarchy-items"
    },
    {
      "description": "Read, create, update, and resolve incidents.",
      "name": "incidents"
    },
    {
      "description": "Operations for the lifecycle capability.",
      "name": "lifecycle"
    },
    {
      "description": "Operations for the maintenance lifecycle capability.",
      "name": "maintenance-lifecycle"
    },
    {
      "description": "Read, schedule, update, and complete maintenance windows.",
      "name": "maintenances"
    },
    {
      "description": "Resolve visitor-facing status page information.",
      "name": "public-page"
    },
    {
      "description": "Read and administer the status definitions used by a page.",
      "name": "status-definitions"
    },
    {
      "description": "Operations for the status pages capability.",
      "name": "status-pages"
    },
    {
      "description": "Authenticate visitors to private status pages.",
      "name": "viewer-auth"
    },
    {
      "description": "Create and manage custom visitor views.",
      "name": "views"
    }
  ],
  "x-tagGroups": [
    {
      "name": "Visitor API",
      "tags": [
        "analytics",
        "hierarchy-config",
        "hierarchy-items",
        "incidents",
        "lifecycle",
        "maintenance-lifecycle",
        "maintenances",
        "public-page",
        "status-definitions",
        "status-pages",
        "viewer-auth",
        "views"
      ]
    }
  ]
}
