hyperping
Uptime, API and server monitoring with outages, reporting, on-call and status pages.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (9)
- LOWin get_on_call_schedule
- LOWin get_escalation_policy
- LOWin list_team_members
- LOWin list_integrations
- LOWin get_integration
- LOWin list_status_pages
- LOWin add_status_page_incident_update
- LOWin edit_status_page_incident_update
- LOWin get_monitor_http_logs
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"hyperping": {
"url": "https://api.hyperping.io/v1/mcp"
}
}
}Remote-Endpunkte
https://api.hyperping.io/v1/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (49)
🟢list_monitors(status, page, limit)
Paginated monitors in the project. Optional status filter (up/down/paused/ssl_expiring).
Eingabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"up",
"down",
"paused",
"ssl_expiring"
],
"description": "Filter by state. \"ssl_expiring\" = SSL expires within 30 days."
},
"page": {
"type": "integer",
"minimum": 0,
"description": "Zero-indexed page. Default 0."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Rows per page. Default 50, max 200."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_monitor(uuid)
Fetch a single monitor by its UUID.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Monitor UUID (format \"mon_...\")"
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_monitor(name, url, protocol, port, http_method, ...)
Create a new monitor. Requires name+url; add "port" for port checks, "dns_*" for DNS checks.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 1024,
"description": "Human-readable monitor name."
},
"url": {
"type": "string",
"minLength": 2,
"maxLength": 1024,
"description": "Target URL (http) or hostname (icmp/port/dns)."
},
"protocol": {
"type": "string",
"enum": [
"http",
"icmp",
"port",
"dns"
],
"description": "Check protocol. Defaults to \"http\"."
},
"port": {
"type": "integer",
"minimum": 0,
"maximum": 65535,
"description": "TCP port — required when protocol is \"port\"."
},
"http_method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"HEAD",
"DELETE",
"PATCH",
"OPTIONS"
],
"description": "HTTP verb. Defaults to GET."
},
"regions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Probe region codes, e.g. [\"us-east\",\"eu-west\"]. Use [\"*\"] for all."
},
"check_frequency": {
"type": "number",
"description": "Check interval in seconds. Sub-30s requires a business plan."
},
"follow_redirects": {
"type": "boolean",
"description": "Follow 3xx redirects on http monitors."
},
"timeout": {
"type": "integer",
"minimum": 1,
"maximum": 60,
"description": "Request timeout in seconds (default 30)."
},
"expected_status_code": {
"type": [
"string",
"number"
],
"description": "Expected response status: number (200), \"2xx\", or \"1xx-3xx\"."
},
"request_body": {
"type": "string",
"maxLength": 512,
"description": "Body for http requests."
},
"request_headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Header name, e.g. \"Authorization\""
},
"value": {
"type": "string",
"description": "Header value"
}
},
"required": [
"name",
"value"
],
"additionalProperties": false
},
"description": "Custom request headers."
},
"required_keyword": {
"type": "string",
"maxLength": 1024,
"description": "Body must contain this keyword, else flagged down."
},
"paused": {
"type": "boolean",
"description": "Start the monitor in a paused state."
},
"alerts_wait": {
"type": "number",
"description": "Minutes to wait before alerting. -1 disables, 0 is immediate."
},
"dns_record_type": {
"type": "string",
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"NS",
"TXT",
"SOA",
"SRV",
"CAA",
"PTR"
],
"description": "DNS record type (protocol=\"dns\")."
},
"dns_nameserver": {
"type": "string",
"maxLength": 256,
"description": "Custom nameserver for DNS checks."
},
"dns_expected_answer": {
"type": "string",
"maxLength": 1024,
"description": "Expected DNS answer to assert against."
},
"escalation_policy": {
"type": "string",
"maxLength": 128,
"description": "UUID of an escalation policy to link."
},
"group_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Group to place the monitor in."
}
},
"required": [
"name",
"url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_monitor(uuid, name, url, protocol, port, ...)
Patch a monitor. Pass only fields you want to change; others are preserved.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "UUID of the monitor to update."
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 1024,
"description": "Human-readable monitor name."
},
"url": {
"type": "string",
"minLength": 2,
"maxLength": 1024,
"description": "Target URL (http) or hostname (icmp/port/dns)."
},
"protocol": {
"type": "string",
"enum": [
"http",
"icmp",
"port",
"dns"
],
"description": "Check protocol. Defaults to \"http\"."
},
"port": {
"type": "integer",
"minimum": 0,
"maximum": 65535,
"description": "TCP port — required when protocol is \"port\"."
},
"http_method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"HEAD",
"DELETE",
"PATCH",
"OPTIONS"
],
"description": "HTTP verb. Defaults to GET."
},
"regions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Probe region codes, e.g. [\"us-east\",\"eu-west\"]. Use [\"*\"] for all."
},
"check_frequency": {
"type": "number",
"description": "Check interval in seconds. Sub-30s requires a business plan."
},
"follow_redirects": {
"type": "boolean",
"description": "Follow 3xx redirects on http monitors."
},
"timeout": {
"type": "integer",
"minimum": 1,
"maximum": 60,
"description": "Request timeout in seconds (default 30)."
},
"expected_status_code": {
"type": [
"string",
"number"
],
"description": "Expected response status: number (200), \"2xx\", or \"1xx-3xx\"."
},
"request_body": {
"type": "string",
"maxLength": 512,
"description": "Body for http requests."
},
"request_headers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Header name, e.g. \"Authorization\""
},
"value": {
"type": "string",
"description": "Header value"
}
},
"required": [
"name",
"value"
],
"additionalProperties": false
},
"description": "Custom request headers."
},
"required_keyword": {
"type": "string",
"maxLength": 1024,
"description": "Body must contain this keyword, else flagged down."
},
"paused": {
"type": "boolean",
"description": "Start the monitor in a paused state."
},
"alerts_wait": {
"type": "number",
"description": "Minutes to wait before alerting. -1 disables, 0 is immediate."
},
"dns_record_type": {
"type": "string",
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"NS",
"TXT",
"SOA",
"SRV",
"CAA",
"PTR"
],
"description": "DNS record type (protocol=\"dns\")."
},
"dns_nameserver": {
"type": "string",
"maxLength": 256,
"description": "Custom nameserver for DNS checks."
},
"dns_expected_answer": {
"type": "string",
"maxLength": 1024,
"description": "Expected DNS answer to assert against."
},
"escalation_policy": {
"type": "string",
"maxLength": 128,
"description": "UUID of an escalation policy to link."
},
"group_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Group to place the monitor in."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡pause_monitor(uuid)
Pause a monitor — no checks run and no alerts fire. Same as update_monitor with paused=true.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "UUID of the monitor to pause."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡resume_monitor(uuid)
Resume a paused monitor. Same as update_monitor with paused=false.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "UUID of the monitor to resume."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_monitors_by_name(query)
Case-insensitive substring search across monitor names and URLs.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Case-insensitive substring matched against monitor names or URLs."
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_status_summary
Up/down/paused counts plus a list of currently down monitors with the timestamp they went down.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_outages(page, search, status, type)
Paginated list of outages in the project. Filter by status, type, or search term.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 0,
"description": "Zero-indexed page number, 20 outages per page."
},
"search": {
"type": "string",
"description": "Substring matched against monitor name/URL/domain or \"INC-123\"."
},
"status": {
"type": "string",
"enum": [
"all",
"ongoing",
"resolved"
],
"description": "Filter by status. Defaults to \"all\"."
},
"type": {
"type": "string",
"enum": [
"all",
"manual",
"monitor"
],
"description": "Filter by type. Defaults to \"all\"."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_outage(uuid)
Fetch a single outage by UUID, including acknowledgements, description, and root cause.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Outage UUID."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_outage_timeline(uuid)
Full activity timeline for an outage: detection, cross-region verification, alert dispatches, acknowledgement, resolution.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Outage UUID (format \"outage_...\" or \"INC-123\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_monitor_outages(monitor_uuid, page, status)
Paginated list of outages scoped to one monitor. Convenience wrapper around list_outages.
Eingabe-Schema
{
"type": "object",
"properties": {
"monitor_uuid": {
"type": "string",
"description": "Monitor UUID (format \"mon_...\") to filter by."
},
"page": {
"type": "integer",
"minimum": 0,
"description": "Zero-indexed page number, 20 per page."
},
"status": {
"type": "string",
"enum": [
"all",
"ongoing",
"resolved"
],
"description": "Filter by status. Defaults to \"all\"."
}
},
"required": [
"monitor_uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_outage(description, summary, severity, escalation_policy_uuid)
Declare an incident by hand, for a problem no monitor detects. It appears under Incident Management in the dashboard and, with an escalation policy, pages its on-call responders. Internal: nothing is published on a status page (create_status_page_incident does that).
Eingabe-Schema
{
"type": "object",
"properties": {
"description": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "What is wrong, e.g. \"Payments failing at checkout\". Shown as the incident title."
},
"summary": {
"type": "string",
"maxLength": 5000,
"description": "Details for the responders."
},
"severity": {
"type": "string",
"description": "Severity key: \"critical\", \"major\" or \"minor\" by default. Defaults to the least severe."
},
"escalation_policy_uuid": {
"type": "string",
"description": "Escalation policy whose on-call responders are paged (list_escalation_policies). Without one, nobody is paged."
}
},
"required": [
"description"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪acknowledge_outage(uuid)
Mark an ongoing outage as being handled: repeat alerts stop. Escalation steps still fire on schedule; resolve it or fix the cause to stop them.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Outage UUID from list_outages."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪escalate_outage(uuid)
Page the next step of the outage's escalation policy now instead of waiting for it. Each call moves one step further.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Outage UUID from list_outages."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡resolve_outage(uuid)
Resolve an incident declared by hand or a server incident, and send the recovery to the channels it paged. An outage detected on a monitor resolves itself when its checks pass again.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Outage UUID from list_outages."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_recent_alerts(from, to, resolution, monitor_uuids)
Alert notifications (up/down transitions) over a date range. Defaults to last 30 days.
Eingabe-Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "ISO start date. Default: 30 days ago."
},
"to": {
"type": "string",
"description": "ISO end date. Default: now."
},
"resolution": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month"
],
"description": "Time grouping. Default \"day\"."
},
"monitor_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to these monitor UUIDs."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_monitor_uptime(from, to, monitor_uuids, resolution)
Uptime percentage over a date window, aggregated and optionally per day/hour/week/month.
Eingabe-Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "ISO start date. Default: 30 days ago."
},
"to": {
"type": "string",
"description": "ISO end date. Default: now."
},
"monitor_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Monitor UUIDs to report on. Pass EVERY monitor you care about in a SINGLE call: the endpoint resolves them in one aggregate query and returns a per-monitor breakdown, so N monitors in one call costs about the same as one. Looping over monitors and calling this once each is roughly N times more expensive and will hit the rate limit. Omit to cover the whole project."
},
"resolution": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month"
],
"description": "Time grouping. Default \"day\"."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_monitor_response_time(from, to, monitor_uuids, resolution)
Response time latency trend over a date window. Returns a per-monitor breakdown — pass all monitors at once in monitor_uuids rather than calling this once per monitor.
Eingabe-Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "ISO start date. Default: 30 days ago."
},
"to": {
"type": "string",
"description": "ISO end date. Default: now."
},
"monitor_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Monitor UUIDs to report on. Pass EVERY monitor you care about in a SINGLE call: the endpoint resolves them in one aggregate query and returns a per-monitor breakdown, so N monitors in one call costs about the same as one. Looping over monitors and calling this once each is roughly N times more expensive and will hit the rate limit. Omit to cover the whole project."
},
"resolution": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month"
],
"description": "Time grouping. Default \"day\"."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_monitor_mttr(from, to, monitor_uuids)
Mean time to resolve (MTTR) per monitor over a date window, in seconds. Already per-monitor — pass all monitors at once in monitor_uuids rather than calling this once per monitor.
Eingabe-Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "ISO start date. Default: 30 days ago."
},
"to": {
"type": "string",
"description": "ISO end date. Default: now."
},
"monitor_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Monitor UUIDs to report on. Pass EVERY monitor you care about in a SINGLE call: the endpoint resolves them in one aggregate query and returns a per-monitor breakdown, so N monitors in one call costs about the same as one. Looping over monitors and calling this once each is roughly N times more expensive and will hit the rate limit. Omit to cover the whole project."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_monitor_mtta(from, to, monitor_uuids)
Mean time to acknowledge (MTTA) per monitor over a date window, in seconds. Already per-monitor — pass all monitors at once in monitor_uuids rather than calling this once per monitor.
Eingabe-Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "ISO start date. Default: 30 days ago."
},
"to": {
"type": "string",
"description": "ISO end date. Default: now."
},
"monitor_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Monitor UUIDs to report on. Pass EVERY monitor you care about in a SINGLE call: the endpoint resolves them in one aggregate query and returns a per-monitor breakdown, so N monitors in one call costs about the same as one. Looping over monitors and calling this once each is roughly N times more expensive and will hit the rate limit. Omit to cover the whole project."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_monitor_anomalies(uuid)
Anomaly-detection output for a single monitor (flapping, latency spikes, etc.).
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Monitor UUID (format \"mon_...\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_monitor_http_logs(uuid, page, limit, level)
Recent HTTP probe logs for a monitor, paginated. Useful to diagnose recent check failures.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Monitor UUID (format \"mon_...\")."
},
"page": {
"type": "integer",
"minimum": 0,
"description": "Zero-indexed page. Default 0."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Rows per page. Default 50, max 200."
},
"level": {
"type": "array",
"items": {
"type": "string",
"enum": [
"info",
"warn",
"error"
]
},
"description": "Filter by log level."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_on_call_schedules
All on-call schedules in the project. Each entry typically includes rotation config and current on-call.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_on_call_schedule(uuid)
One schedule by UUID with full rotation detail and the linked escalation policies.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Schedule UUID (format \"sch_...\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_escalation_policies
All escalation policies in the project. Use to find which monitors route alerts where.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_escalation_policy(uuid)
One policy by UUID. Reveals step sequence, linked schedules, and contact channels.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Escalation policy UUID (format \"esc_...\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_team_members
Users on the project, with names and emails. Use to resolve user IDs from schedules/policies.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_integrations
All notification integrations in the project (Slack, Telegram, Discord, PagerDuty, OpsGenie, Teams, webhook, etc.).
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_integration(uuid)
One integration by UUID, with its channel-specific config (channel name, webhook URL, routing, etc.).
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Integration UUID (format \"int_...\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_status_pages(page, search)
Status pages in the project, 20 per page: UUID, name, public URL, password protection.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 0,
"description": "Zero-indexed page, 20 per page."
},
"search": {
"type": "string",
"description": "Substring matched against name and hostname."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_status_page(uuid)
One status page with its settings (languages, subscriptions, access) and the services it shows, section by section, with their UUIDs.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Status page UUID (format \"sp_...\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_status_page(name, subdomain, description, website, language, ...)
Create a status page on a hyperping.app subdomain, with sections of monitors and components. It is public as soon as it exists: confirm the name, address and services with the user first. Password protection, SSO, a custom domain and a logo are set in the dashboard.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Name shown on the page, e.g. \"Acme Status\"."
},
"subdomain": {
"type": "string",
"pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.hyperping\\.app)?$",
"description": "Address on hyperping.app: \"acme\" publishes the page at acme.hyperping.app."
},
"description": {
"type": "string",
"maxLength": 2000,
"description": "Short text under the page status."
},
"website": {
"type": "string",
"maxLength": 1024,
"description": "Company website, linked from the page header."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}$",
"description": "Two-letter code of the page's language, e.g. \"fr\". Default \"en\"."
},
"theme": {
"type": "string",
"enum": [
"system",
"light",
"dark"
],
"description": "Default \"system\"."
},
"accent_color": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$",
"description": "Hex color, e.g. \"#36b27e\"."
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Section title, e.g. \"API\"."
},
"services": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 100,
"description": "Monitors (mon_...) and components (comp_...): UUIDs from list_monitors or get_status_page. Paused monitors are refused, as in the dashboard."
}
},
"required": [
"name",
"services"
],
"additionalProperties": false
},
"maxItems": 20,
"description": "Sections of services, in order."
},
"show_uptime": {
"type": "boolean",
"description": "Show the 90-day uptime bar of each service. Default true."
},
"show_response_times": {
"type": "boolean",
"description": "Show the response time chart of each monitor. Default false."
}
},
"required": [
"name",
"subdomain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_status_page(uuid, name, description, language, website, ...)
Change a status page's name, description, website, look or subscription button. Only the fields passed change. The page is public: confirm the change with the user first.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Status page UUID (format \"sp_...\")."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Name shown on the page."
},
"description": {
"type": "string",
"maxLength": 2000,
"description": "Short text under the page status. Empty string to remove it."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}$",
"description": "Two-letter code of the language the description is written in. Defaults to the page's default language; the other translations are kept."
},
"website": {
"type": "string",
"maxLength": 1024,
"description": "Company website, linked from the page header. Empty string to remove it."
},
"theme": {
"type": "string",
"enum": [
"system",
"light",
"dark"
]
},
"accent_color": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$",
"description": "Hex color, e.g. \"#36b27e\"."
},
"font": {
"type": "string",
"enum": [
"system-ui",
"Lato",
"Manrope",
"Inter",
"Open Sans",
"Montserrat",
"Poppins",
"Roboto",
"Raleway",
"Nunito",
"Merriweather",
"DM Sans",
"Work Sans"
]
},
"calendar": {
"type": "boolean",
"description": "Show the incident calendar."
},
"auto_refresh": {
"type": "boolean",
"description": "Reload the page every minute, for a wall screen."
},
"hide_from_search_engines": {
"type": "boolean"
},
"subscriptions": {
"type": "boolean",
"description": "Let visitors subscribe to updates."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡add_status_page_services(uuid, services, section, show_uptime, show_response_times)
Show monitors or components on a status page, in the section you name (created at the end if the page has none by that name) or the first one. Services already on the page stay where they are.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Status page UUID (format \"sp_...\")."
},
"services": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 100,
"description": "Monitors (mon_...) and components (comp_...): UUIDs from list_monitors or get_status_page. Paused monitors are refused, as in the dashboard."
},
"section": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Section to add them to, by title. Default: the first section."
},
"show_uptime": {
"type": "boolean",
"description": "Show the 90-day uptime bar of each service. Default true."
},
"show_response_times": {
"type": "boolean",
"description": "Show the response time chart of each monitor. Default false."
}
},
"required": [
"uuid",
"services"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴remove_status_page_services(uuid, services)
Take monitors or components off a status page, wherever they appear, groups included. Their settings on the page (display name, description) are lost.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Status page UUID (format \"sp_...\")."
},
"services": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 100,
"description": "Monitors (mon_...) and components (comp_...): UUIDs from list_monitors or get_status_page. Paused monitors are refused, as in the dashboard."
}
},
"required": [
"uuid",
"services"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_status_page_incidents(status_page_uuid, status, page)
Incidents published on status pages, newest first, each with its current stage and latest update. For downtime detected on monitors, use list_outages.
Eingabe-Schema
{
"type": "object",
"properties": {
"status_page_uuid": {
"type": "string",
"description": "Only incidents published on this status page."
},
"status": {
"type": "string",
"enum": [
"all",
"ongoing",
"resolved"
],
"description": "Default \"all\"."
},
"page": {
"type": "integer",
"minimum": 0,
"description": "Zero-indexed page, 20 per page, newest first."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_status_page_incident(uuid)
One status page incident with every update (newest first, with their UUIDs), its status pages and affected components.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Incident UUID (format \"inci_...\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_status_page_incident(title, message, status_pages, type, status, ...)
Publish an incident on status pages, with its first update. Public, and emailed to subscribers unless notify_subscribers is false: confirm the wording with the user first. To record an incident internally and page on-call instead, use create_outage.
Eingabe-Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"description": "Public headline, e.g. \"Elevated API error rates\"."
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Public text of the update, shown on the status page and sent to subscribers. Basic HTML allowed."
},
"status_pages": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "UUIDs of the status pages to publish on (list_status_pages)."
},
"type": {
"type": "string",
"enum": [
"incident",
"outage"
],
"description": "\"incident\" for degraded service, \"outage\" for services down. Default \"incident\"."
},
"status": {
"type": "string",
"enum": [
"investigating",
"identified",
"monitoring"
],
"description": "Stage of the first update. Default \"investigating\"."
},
"affected_components": {
"type": "array",
"items": {
"type": "string"
},
"description": "Services shown as affected: their UUIDs from get_status_page (mon_... or comp_...)."
},
"notify_subscribers": {
"type": "boolean",
"description": "Email/SMS/Slack/Teams the status page subscribers. Default true."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}$",
"description": "Two-letter code of the language the text is written in, e.g. \"fr\". Defaults to the status page's default language."
}
},
"required": [
"title",
"message",
"status_pages"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡add_status_page_incident_update(uuid, message, status, notify_subscribers, language)
Post an update on a status page incident (investigating, identified, update, monitoring, resolved). Public, and sent to subscribers unless notify_subscribers is false.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Incident UUID (format \"inci_...\")."
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Public text of the update, shown on the status page and sent to subscribers. Basic HTML allowed."
},
"status": {
"type": "string",
"enum": [
"investigating",
"identified",
"update",
"monitoring",
"resolved"
],
"description": "Stage this update moves the incident to. \"update\" keeps the current stage. Any stage but \"resolved\" reopens a resolved incident."
},
"notify_subscribers": {
"type": "boolean",
"description": "Email/SMS/Slack/Teams the status page subscribers. Default true."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}$",
"description": "Two-letter code of the language the text is written in. Defaults to the language of the incident title."
}
},
"required": [
"uuid",
"message",
"status"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡resolve_status_page_incident(uuid, message, notify_subscribers, language)
Close a status page incident with a final "resolved" update. Same as add_status_page_incident_update with status "resolved"; refuses an incident that is already resolved.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Incident UUID (format \"inci_...\")."
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Public closing note, e.g. \"A fix has been deployed and error rates are back to normal.\""
},
"notify_subscribers": {
"type": "boolean",
"description": "Email/SMS/Slack/Teams the status page subscribers. Default true."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}$",
"description": "Two-letter code of the language the text is written in. Defaults to the language of the incident title."
}
},
"required": [
"uuid",
"message"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_status_page_incident(uuid, title, language, type, add_status_pages, ...)
Change a status page incident's title, type, status pages or affected services. The pages show the change right away; subscribers are not notified. To tell them something, post an update.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Incident UUID (format \"inci_...\")."
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"description": "New public headline. All its translations together must fit in 255 characters."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}$",
"description": "Two-letter code of the language the new title is written in. Defaults to the language of the current title; its other translations are kept."
},
"type": {
"type": "string",
"enum": [
"incident",
"outage"
],
"description": "\"incident\" for degraded service, \"outage\" for services down."
},
"add_status_pages": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Status pages to also publish the incident on (list_status_pages)."
},
"remove_status_pages": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Status pages to take the incident off."
},
"add_components": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Services to mark as affected: their UUIDs from get_status_page (mon_... or comp_...)."
},
"remove_components": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Services no longer affected."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴edit_status_page_incident_update(uuid, update_uuid, message, status, language)
Correct the text or stage of an update already posted, e.g. a typo. The page shows the correction; subscribers are not notified again and its date is kept.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Incident UUID (format \"inci_...\")."
},
"update_uuid": {
"type": "string",
"description": "UUID of the update to edit, from get_status_page_incident."
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Corrected public text. Replaces the text in its language and keeps the translations."
},
"status": {
"type": "string",
"enum": [
"investigating",
"identified",
"update",
"monitoring",
"resolved"
],
"description": "Corrected stage. The latest update's stage is the incident's status."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}$",
"description": "Two-letter code of the language the corrected text is written in. Defaults to the language of the update."
}
},
"required": [
"uuid",
"update_uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_maintenance_windows(timeline, page)
Maintenance windows, 20 per page, with their monitors, status pages, updates and status (upcoming, inprogress, completed).
Eingabe-Schema
{
"type": "object",
"properties": {
"timeline": {
"type": "string",
"enum": [
"upcoming",
"ongoing",
"past"
],
"description": "Omit for all windows, newest first."
},
"page": {
"type": "integer",
"minimum": 0,
"description": "Zero-indexed page, 20 per page."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_maintenance_window(uuid)
One maintenance window with its updates and the state of its subscriber notification.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Maintenance window UUID (format \"mw_...\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_maintenance_window(name, title, message, start_date, end_date, ...)
Schedule a maintenance window: checks and alerts stop for its monitors during the window, and the status pages you pass announce it. Public once it has status pages: confirm with the user first.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 254,
"description": "Internal name, shown in the dashboard only."
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 1000,
"description": "Public title on the status pages. Defaults to name."
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Public description of the work, shown on the status pages and sent to subscribers."
},
"start_date": {
"type": "string",
"description": "Start, ISO 8601 with a timezone, e.g. \"2026-10-04T02:00:00Z\" or \"2026-10-04T04:00:00+02:00\"."
},
"end_date": {
"type": "string",
"description": "End, after start_date, ISO 8601 with a timezone, e.g. \"2026-10-04T02:00:00Z\" or \"2026-10-04T04:00:00+02:00\"."
},
"monitors": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Monitors (mon_...), components (comp_...) or servers (agt_...) under maintenance: their checks and alerts stop during the window."
},
"status_pages": {
"type": "array",
"items": {
"type": "string"
},
"description": "UUIDs of the status pages that announce the window."
},
"notify": {
"type": "string",
"enum": [
"none",
"immediate",
"scheduled"
],
"description": "Subscriber notification: now, \"scheduled\" before the start, or \"none\" (default)."
},
"notify_minutes_before": {
"type": "integer",
"minimum": 1,
"maximum": 10080,
"description": "With notify \"scheduled\": minutes before the start. Default 60."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}$",
"description": "Two-letter code of the language the text is written in, e.g. \"fr\". Defaults to the status page's default language."
}
},
"required": [
"name",
"start_date",
"end_date",
"monitors"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_maintenance_window(uuid, name, title, message, start_date, ...)
Reschedule a maintenance window, rename it, change its monitors or status pages, or post a public update on it. The pages show the change; subscribers are not notified.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Maintenance window UUID (format \"mw_...\")."
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 254,
"description": "New internal name."
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 1000,
"description": "New public title. Its translations in other languages are kept."
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Public update posted on the window now, e.g. \"The work is extended by 30 minutes.\" Earlier updates stay."
},
"start_date": {
"type": "string",
"description": "New start, ISO 8601 with a timezone, e.g. \"2026-10-04T02:00:00Z\" or \"2026-10-04T04:00:00+02:00\"."
},
"end_date": {
"type": "string",
"description": "New end, ISO 8601 with a timezone, e.g. \"2026-10-04T02:00:00Z\" or \"2026-10-04T04:00:00+02:00\"."
},
"add_monitors": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Monitors (mon_...), components (comp_...) or servers (agt_...) to add to the window."
},
"remove_monitors": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Monitors, components or servers to take out of the window. At least one must remain."
},
"add_status_pages": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Status pages that should also announce the window."
},
"remove_status_pages": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Status pages that should stop announcing it."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}$",
"description": "Two-letter code of the language the title or message is written in. Defaults to the language of the current title."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢complete_maintenance_window(uuid)
End a maintenance window in progress now: checks and alerts resume on its monitors and the status pages show it as completed.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Maintenance window UUID (format \"mw_...\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴cancel_maintenance_window(uuid)
Cancel a maintenance window that has not started: it is deleted and leaves the status pages. Subscribers already told about it are not told it is cancelled. To end one in progress, use complete_maintenance_window.
Eingabe-Schema
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "Maintenance window UUID (format \"mw_...\")."
}
},
"required": [
"uuid"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis