{"openapi":"3.0.3","info":{"title":"24Observe API","version":"1.0.0"},"components":{"schemas":{}},"paths":{"/health/live":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/health/ready":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/health":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/metrics":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/openapi.json":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/auth/register":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","maxLength":255},"password":{"type":"string","minLength":12,"maxLength":128},"organizationName":{"type":"string","minLength":1,"maxLength":255},"cfTurnstileToken":{"type":"string","minLength":1,"maxLength":2048}},"required":["email","password"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/v1/auth/login":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","maxLength":255},"password":{"type":"string","minLength":1,"maxLength":128}},"required":["email","password"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/v1/auth/logout":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/auth/forgot-password":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","maxLength":255},"cfTurnstileToken":{"type":"string","minLength":1,"maxLength":2048}},"required":["email"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/v1/auth/reset-password":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":20,"maxLength":200},"newPassword":{"type":"string","minLength":12,"maxLength":128}},"required":["token","newPassword"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/v1/auth/google/start":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/auth/google/callback":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/auth/github/start":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/auth/github/callback":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/oauth/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/oauth/google/start":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/oauth/google":{"delete":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/oauth/github/start":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/oauth/github":{"delete":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/webhook-secret":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/webhook-secret/rotate":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/members":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/members/{userId}":{"patch":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","enum":["owner","admin","member","viewer"]}},"required":["role"],"additionalProperties":false}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"userId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/change-password":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"currentPassword":{"type":"string","minLength":1},"newPassword":{"type":"string","minLength":12,"maxLength":256}},"required":["currentPassword","newPassword"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/v1/monitors/":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"url":{"type":"string","minLength":1,"maxLength":2048},"type":{"type":"string","enum":["http","https","tcp","ping","port","ssl","keyword","heartbeat","dns","smtp"]},"intervalSec":{"type":"number","enum":[30,60,300,900,1800,3600]},"timeoutMs":{"type":"integer","minimum":1000,"maximum":30000},"headers":{"type":"object","additionalProperties":{"type":"string","maxLength":2048}},"expectedStatusCode":{"type":"integer","minimum":100,"maximum":599},"degradedResponseTimeMs":{"type":"integer","minimum":100,"maximum":60000},"port":{"type":"integer","minimum":1,"maximum":65535},"keyword":{"type":"string","maxLength":1024},"keywordMatchType":{"type":"string","enum":["contains","not_contains"]},"alertEmail":{"type":"string","format":"email","maxLength":255},"alertWebhookUrl":{"type":"string","format":"uri","maxLength":2048},"alertSlackUrl":{"type":"string","format":"uri","maxLength":2048},"alertDiscordUrl":{"type":"string","format":"uri","maxLength":2048},"alertMsteamsUrl":{"type":"string","format":"uri","maxLength":2048},"alertTelegramBotToken":{"type":"string","maxLength":128},"alertTelegramChatId":{"type":"string","maxLength":64},"alertThreshold":{"type":"integer","minimum":1,"maximum":10},"paused":{"type":"boolean"},"heartbeatGraceSec":{"type":"integer","minimum":0,"maximum":86400},"uptimeTargetBp":{"type":"integer","minimum":1,"maximum":10000},"uptimeWindowDays":{"type":"integer","minimum":1,"maximum":365}},"required":["name","url","type","intervalSec","timeoutMs"],"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"organizationId":{"type":"integer"},"name":{"type":"string"},"url":{"type":"string"},"type":{"type":"string","enum":["http","https","tcp","ping","port","ssl","keyword","heartbeat","dns","smtp"]},"intervalSec":{"type":"integer"},"timeoutMs":{"type":"integer"},"expectedStatusCode":{"anyOf":[{"type":"integer"},{"type":"null"}]},"degradedResponseTimeMs":{"anyOf":[{"type":"integer"},{"type":"null"}]},"port":{"anyOf":[{"type":"integer"},{"type":"null"}]},"keyword":{"type":["null","string"]},"keywordMatchType":{"anyOf":[{"type":"string","enum":["contains","not_contains"]},{"type":"null"}]},"alertEmail":{"type":["null","string"]},"alertThreshold":{"type":"integer"},"consecutiveFailures":{"type":"integer"},"lastStatus":{"anyOf":[{"type":"string","enum":["up","down","degraded"]},{"type":"null"}]},"lastCheckedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"paused":{"type":"boolean"},"heartbeatGraceSec":{"type":"integer"},"heartbeatLastReceivedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"uptimeTargetBp":{"type":"integer"},"uptimeWindowDays":{"type":"integer"},"sloBreachOpen":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"hasAlertWebhook":{"type":"boolean"},"hasAlertSlack":{"type":"boolean"},"hasAlertDiscord":{"type":"boolean"},"hasAlertMsteams":{"type":"boolean"},"hasAlertTelegram":{"type":"boolean"},"hasHeaders":{"type":"boolean"}},"required":["id","organizationId","name","url","type","intervalSec","timeoutMs","expectedStatusCode","degradedResponseTimeMs","port","keyword","keywordMatchType","alertEmail","alertThreshold","consecutiveFailures","lastStatus","lastCheckedAt","paused","heartbeatGraceSec","heartbeatLastReceivedAt","uptimeTargetBp","uptimeWindowDays","sloBreachOpen","createdAt","hasAlertWebhook","hasAlertSlack","hasAlertDiscord","hasAlertMsteams","hasAlertTelegram","hasHeaders"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}},"get":{"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"organizationId":{"type":"integer"},"name":{"type":"string"},"url":{"type":"string"},"type":{"type":"string","enum":["http","https","tcp","ping","port","ssl","keyword","heartbeat","dns","smtp"]},"intervalSec":{"type":"integer"},"timeoutMs":{"type":"integer"},"expectedStatusCode":{"anyOf":[{"type":"integer"},{"type":"null"}]},"degradedResponseTimeMs":{"anyOf":[{"type":"integer"},{"type":"null"}]},"port":{"anyOf":[{"type":"integer"},{"type":"null"}]},"keyword":{"type":["null","string"]},"keywordMatchType":{"anyOf":[{"type":"string","enum":["contains","not_contains"]},{"type":"null"}]},"alertEmail":{"type":["null","string"]},"alertThreshold":{"type":"integer"},"consecutiveFailures":{"type":"integer"},"lastStatus":{"anyOf":[{"type":"string","enum":["up","down","degraded"]},{"type":"null"}]},"lastCheckedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"paused":{"type":"boolean"},"heartbeatGraceSec":{"type":"integer"},"heartbeatLastReceivedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"uptimeTargetBp":{"type":"integer"},"uptimeWindowDays":{"type":"integer"},"sloBreachOpen":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"hasAlertWebhook":{"type":"boolean"},"hasAlertSlack":{"type":"boolean"},"hasAlertDiscord":{"type":"boolean"},"hasAlertMsteams":{"type":"boolean"},"hasAlertTelegram":{"type":"boolean"},"hasHeaders":{"type":"boolean"}},"required":["id","organizationId","name","url","type","intervalSec","timeoutMs","expectedStatusCode","degradedResponseTimeMs","port","keyword","keywordMatchType","alertEmail","alertThreshold","consecutiveFailures","lastStatus","lastCheckedAt","paused","heartbeatGraceSec","heartbeatLastReceivedAt","uptimeTargetBp","uptimeWindowDays","sloBreachOpen","createdAt","hasAlertWebhook","hasAlertSlack","hasAlertDiscord","hasAlertMsteams","hasAlertTelegram","hasHeaders"],"additionalProperties":false}}}}}}}},"/api/v1/monitors/{id}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"organizationId":{"type":"integer"},"name":{"type":"string"},"url":{"type":"string"},"type":{"type":"string","enum":["http","https","tcp","ping","port","ssl","keyword","heartbeat","dns","smtp"]},"intervalSec":{"type":"integer"},"timeoutMs":{"type":"integer"},"expectedStatusCode":{"anyOf":[{"type":"integer"},{"type":"null"}]},"degradedResponseTimeMs":{"anyOf":[{"type":"integer"},{"type":"null"}]},"port":{"anyOf":[{"type":"integer"},{"type":"null"}]},"keyword":{"type":["null","string"]},"keywordMatchType":{"anyOf":[{"type":"string","enum":["contains","not_contains"]},{"type":"null"}]},"alertEmail":{"type":["null","string"]},"alertThreshold":{"type":"integer"},"consecutiveFailures":{"type":"integer"},"lastStatus":{"anyOf":[{"type":"string","enum":["up","down","degraded"]},{"type":"null"}]},"lastCheckedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"paused":{"type":"boolean"},"heartbeatGraceSec":{"type":"integer"},"heartbeatLastReceivedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"uptimeTargetBp":{"type":"integer"},"uptimeWindowDays":{"type":"integer"},"sloBreachOpen":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"hasAlertWebhook":{"type":"boolean"},"hasAlertSlack":{"type":"boolean"},"hasAlertDiscord":{"type":"boolean"},"hasAlertMsteams":{"type":"boolean"},"hasAlertTelegram":{"type":"boolean"},"hasHeaders":{"type":"boolean"}},"required":["id","organizationId","name","url","type","intervalSec","timeoutMs","expectedStatusCode","degradedResponseTimeMs","port","keyword","keywordMatchType","alertEmail","alertThreshold","consecutiveFailures","lastStatus","lastCheckedAt","paused","heartbeatGraceSec","heartbeatLastReceivedAt","uptimeTargetBp","uptimeWindowDays","sloBreachOpen","createdAt","hasAlertWebhook","hasAlertSlack","hasAlertDiscord","hasAlertMsteams","hasAlertTelegram","hasHeaders"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}},"patch":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"url":{"type":"string","minLength":1,"maxLength":2048},"type":{"type":"string","enum":["http","https","tcp","ping","port","ssl","keyword","heartbeat","dns","smtp"]},"intervalSec":{"type":"number","enum":[30,60,300,900,1800,3600]},"timeoutMs":{"type":"integer","minimum":1000,"maximum":30000},"headers":{"anyOf":[{"type":"object","additionalProperties":{"type":"string","maxLength":2048}},{"type":"null"}]},"expectedStatusCode":{"anyOf":[{"type":"integer","minimum":100,"maximum":599},{"type":"null"}]},"degradedResponseTimeMs":{"anyOf":[{"type":"integer","minimum":100,"maximum":60000},{"type":"null"}]},"port":{"anyOf":[{"type":"integer","minimum":1,"maximum":65535},{"type":"null"}]},"keyword":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]},"keywordMatchType":{"anyOf":[{"type":"string","enum":["contains","not_contains"]},{"type":"null"}]},"alertEmail":{"anyOf":[{"type":"string","format":"email","maxLength":255},{"type":"null"}]},"alertWebhookUrl":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"alertSlackUrl":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"alertDiscordUrl":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"alertMsteamsUrl":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"alertTelegramBotToken":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}]},"alertTelegramChatId":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"alertThreshold":{"type":"integer","minimum":1,"maximum":10},"paused":{"type":"boolean"},"heartbeatGraceSec":{"type":"integer","minimum":0,"maximum":86400},"uptimeTargetBp":{"type":"integer","minimum":1,"maximum":10000},"uptimeWindowDays":{"type":"integer","minimum":1,"maximum":365}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/monitors/{id}/secrets":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"alertWebhookUrl":{"type":["null","string"]},"alertSlackUrl":{"type":["null","string"]},"alertDiscordUrl":{"type":["null","string"]},"alertMsteamsUrl":{"type":["null","string"]},"alertTelegramBotToken":{"type":["null","string"]},"alertTelegramChatId":{"type":["null","string"]},"heartbeatToken":{"type":["null","string"],"description":"64-char hex plaintext for heartbeat monitors. Build the receive URL as `https://api.24observe.com/api/v1/heartbeats/<this>`. NULL for non-heartbeat monitors."}},"required":["id","alertWebhookUrl","alertSlackUrl","alertDiscordUrl","alertMsteamsUrl","alertTelegramBotToken","alertTelegramChatId","heartbeatToken"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}}},"/api/v1/monitors/{id}/rotate-heartbeat-token":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/incidents/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/incidents/{id}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/incidents/{id}/updates":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["investigating","identified","monitoring","resolved"]},"body":{"type":"string","minLength":1,"maxLength":4096}},"required":["status","body"],"additionalProperties":false}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/incidents/{id}/acknowledge":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/incidents/{id}/postmortem":{"put":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"postmortem":{"type":"string","maxLength":16384}},"required":["postmortem"],"additionalProperties":false}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/incidents/{id}/resolve":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/monitors/{id}/stats":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/monitors/{id}/timeline":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/monitors/{id}/checks":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/public/{slug}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/public/by-host/{host}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"host","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/public/{slug}/unlock":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/":{"get":{"responses":{"200":{"description":"Default Response"}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9-]+$"},"title":{"type":"string","minLength":1,"maxLength":255},"isPublic":{"type":"boolean","default":true},"customDomain":{"type":"string","maxLength":255},"logoUrl":{"type":"string","format":"uri","maxLength":2048},"accentColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["slug","title"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/{id}":{"patch":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9-]+$"},"title":{"type":"string","minLength":1,"maxLength":255},"isPublic":{"type":"boolean"},"customDomain":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}]},"logoUrl":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"accentColor":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}]},"footerLinks":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":60},"url":{"type":"string","format":"uri","maxLength":2048}},"required":["label","url"],"additionalProperties":false},"maxItems":8},{"type":"null"}]}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/{id}/password":{"put":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string","maxLength":256}},"required":["password"],"additionalProperties":false}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/{id}/components":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"monitorId":{"type":"number"},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"type":"string","maxLength":500},"groupName":{"type":"string","maxLength":100},"position":{"type":"integer","minimum":0,"default":0}},"required":["monitorId","name"],"additionalProperties":false}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/{id}/components/{cid}":{"patch":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"monitorId":{"type":"number"},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"type":"string","maxLength":500},"groupName":{"type":"string","maxLength":100},"position":{"type":"integer","minimum":0,"default":0}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"cid","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"cid","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/maintenance-windows/":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"monitorId":{"type":"number"},"startsAt":{"type":"string","format":"date-time"},"endsAt":{"type":"string","format":"date-time"}},"required":["startsAt","endsAt"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}},"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/maintenance-windows/{id}":{"patch":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"monitorId":{"type":["number","null"]},"startsAt":{"type":"string","format":"date-time"},"endsAt":{"type":"string","format":"date-time"}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/audit-logs/":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/tokens/":{"get":{"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"prefix":{"type":"string"},"lastUsedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"revokedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time"},"scopes":{"type":"array","items":{"type":"string"}},"dailyMutationLimit":{"anyOf":[{"type":"integer"},{"type":"null"}]},"dailyLogBytesLimit":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"required":["id","name","prefix","lastUsedAt","expiresAt","revokedAt","createdAt","scopes","dailyMutationLimit","dailyLogBytesLimit"],"additionalProperties":false}}}}}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"expiresAt":{"type":"string","format":"date-time"},"scopes":{"type":"array","items":{"type":"string","enum":["*","monitors:read","monitors:write","secrets:read","incidents:read","incidents:write","status-pages:read","status-pages:write","logs:read","logs:write","audit:read","tokens:write","maintenance:write"]},"minItems":1,"maxItems":13},"dailyMutationLimit":{"type":"integer","exclusiveMinimum":0,"maximum":1000000},"dailyLogBytesLimit":{"type":"integer","exclusiveMinimum":0,"maximum":1000000000000}},"required":["name"],"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"prefix":{"type":"string","description":"First 12 chars of the plaintext, safe to show in lists."},"token":{"type":"string","description":"Full plaintext (obs_<43-char base64url>). Only returned here; never readable again."},"expiresAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","prefix","token","expiresAt","createdAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}}},"/api/v1/me/tokens/{id}":{"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/monitors/{id}/test-alert":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/export/monitors.csv":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/badge/monitors/{id}.svg":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/public/{slug}/feed.xml":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/public/{slug}/subscribe":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","maxLength":255},"cfTurnstileToken":{"type":"string","minLength":1,"maxLength":2048}},"required":["email"],"additionalProperties":false}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/public/{slug}/subscribe/confirm":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/public/unsubscribe":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/{id}/subscribers":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/status-pages/{id}/subscribers/{sid}":{"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"sid","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/heartbeats/{token}":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"token","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/invites/":{"get":{"responses":{"200":{"description":"Default Response"}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","maxLength":255},"role":{"type":"string","enum":["admin","member","viewer"]}},"required":["email","role"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/v1/me/invites/{id}":{"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/invites/{token}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"token","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/invites/{token}/accept":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string","minLength":12,"maxLength":128}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"token","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/internal/probe-result":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/api/v1/logs/ingest":{"post":{"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"ts":{"anyOf":[{"type":"string","format":"date-time"},{"type":"integer","exclusiveMinimum":0}]},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"]},"service":{"type":"string","minLength":1,"maxLength":255},"source":{"type":"string","maxLength":255},"host":{"type":"string","maxLength":255},"message":{"type":"string","minLength":1,"maxLength":8192},"attrs":{"type":"object","additionalProperties":{}}},"required":["message"],"additionalProperties":false},{"type":"array","items":{"$ref":"#/anyOf/0"},"minItems":1,"maxItems":500}]}}}},"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"integer","minimum":0},"rejected":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer"},"reason":{"type":"string"}},"required":["index","reason"],"additionalProperties":false}},"bytesAccounted":{"type":"integer","minimum":0}},"required":["accepted","rejected","bytesAccounted"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}}},"/api/v1/logs/search":{"get":{"parameters":[{"schema":{"type":"string","maxLength":1024},"in":"query","name":"q","required":false},{"schema":{"type":"string","maxLength":255},"in":"query","name":"service","required":false},{"schema":{"type":"string","enum":["trace","debug","info","warn","error","fatal"]},"in":"query","name":"level","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time"},"in":"query","name":"to","required":false},{"schema":{"type":"integer","minimum":1,"maximum":1000},"in":"query","name":"limit","required":false},{"schema":{"type":"string","maxLength":64},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"ts":{"type":"string","format":"date-time"},"level":{"type":"string"},"service":{"type":"string"},"source":{"type":"string"},"host":{"type":"string"},"message":{"type":"string"},"attrs":{"type":"object","additionalProperties":{}}},"required":["ts","level","service","source","host","message","attrs"],"additionalProperties":false}},"nextCursor":{"type":["null","string"]},"tookMs":{"type":"integer","minimum":0}},"required":["events","nextCursor","tookMs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}}},"/api/v1/logs/tail":{"get":{"parameters":[{"schema":{"type":"string","maxLength":1024},"in":"query","name":"q","required":false},{"schema":{"type":"string","maxLength":255},"in":"query","name":"service","required":false},{"schema":{"type":"string","enum":["trace","debug","info","warn","error","fatal"]},"in":"query","name":"level","required":false},{"schema":{"type":"string","maxLength":128},"in":"query","name":"token","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/v1/log-alerts/":{"get":{"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"organizationId":{"type":"integer"},"name":{"type":"string"},"query":{"type":["null","string"]},"service":{"type":["null","string"]},"level":{"type":["null","string"]},"threshold":{"type":"integer"},"windowSec":{"type":"integer"},"openLatched":{"type":"boolean"},"enabled":{"type":"boolean"},"hasAlertEmail":{"type":"boolean"},"hasAlertWebhook":{"type":"boolean"},"hasAlertSlack":{"type":"boolean"},"hasAlertDiscord":{"type":"boolean"},"hasAlertMsteams":{"type":"boolean"},"hasAlertTelegram":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","name","query","service","level","threshold","windowSec","openLatched","enabled","hasAlertEmail","hasAlertWebhook","hasAlertSlack","hasAlertDiscord","hasAlertMsteams","hasAlertTelegram","createdAt","updatedAt"],"additionalProperties":false}}}}}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"query":{"type":"string","maxLength":1024},"service":{"type":"string","maxLength":255},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"]},"threshold":{"type":"integer","minimum":1,"maximum":1000000},"windowSec":{"type":"integer","minimum":30,"maximum":86400},"enabled":{"type":"boolean"},"alertEmail":{"type":"string","format":"email","maxLength":255},"alertWebhookUrl":{"type":"string","format":"uri","maxLength":2048},"alertSlackUrl":{"type":"string","format":"uri","maxLength":2048},"alertDiscordUrl":{"type":"string","format":"uri","maxLength":2048},"alertMsteamsUrl":{"type":"string","format":"uri","maxLength":2048},"alertTelegramBotToken":{"type":"string","maxLength":128},"alertTelegramChatId":{"type":"string","maxLength":64}},"required":["name"],"additionalProperties":false}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"organizationId":{"type":"integer"},"name":{"type":"string"},"query":{"type":["null","string"]},"service":{"type":["null","string"]},"level":{"type":["null","string"]},"threshold":{"type":"integer"},"windowSec":{"type":"integer"},"openLatched":{"type":"boolean"},"enabled":{"type":"boolean"},"hasAlertEmail":{"type":"boolean"},"hasAlertWebhook":{"type":"boolean"},"hasAlertSlack":{"type":"boolean"},"hasAlertDiscord":{"type":"boolean"},"hasAlertMsteams":{"type":"boolean"},"hasAlertTelegram":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","name","query","service","level","threshold","windowSec","openLatched","enabled","hasAlertEmail","hasAlertWebhook","hasAlertSlack","hasAlertDiscord","hasAlertMsteams","hasAlertTelegram","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}}},"/api/v1/log-alerts/{id}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"organizationId":{"type":"integer"},"name":{"type":"string"},"query":{"type":["null","string"]},"service":{"type":["null","string"]},"level":{"type":["null","string"]},"threshold":{"type":"integer"},"windowSec":{"type":"integer"},"openLatched":{"type":"boolean"},"enabled":{"type":"boolean"},"hasAlertEmail":{"type":"boolean"},"hasAlertWebhook":{"type":"boolean"},"hasAlertSlack":{"type":"boolean"},"hasAlertDiscord":{"type":"boolean"},"hasAlertMsteams":{"type":"boolean"},"hasAlertTelegram":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","name","query","service","level","threshold","windowSec","openLatched","enabled","hasAlertEmail","hasAlertWebhook","hasAlertSlack","hasAlertDiscord","hasAlertMsteams","hasAlertTelegram","createdAt","updatedAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}},"patch":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"query":{"type":"string","maxLength":1024},"service":{"type":"string","maxLength":255},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"]},"threshold":{"type":"integer","minimum":1,"maximum":1000000},"windowSec":{"type":"integer","minimum":30,"maximum":86400},"enabled":{"type":"boolean"},"alertEmail":{"type":"string","format":"email","maxLength":255},"alertWebhookUrl":{"type":"string","format":"uri","maxLength":2048},"alertSlackUrl":{"type":"string","format":"uri","maxLength":2048},"alertDiscordUrl":{"type":"string","format":"uri","maxLength":2048},"alertMsteamsUrl":{"type":"string","format":"uri","maxLength":2048},"alertTelegramBotToken":{"type":"string","maxLength":128},"alertTelegramChatId":{"type":"string","maxLength":64}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"organizationId":{"type":"integer"},"name":{"type":"string"},"query":{"type":["null","string"]},"service":{"type":["null","string"]},"level":{"type":["null","string"]},"threshold":{"type":"integer"},"windowSec":{"type":"integer"},"openLatched":{"type":"boolean"},"enabled":{"type":"boolean"},"hasAlertEmail":{"type":"boolean"},"hasAlertWebhook":{"type":"boolean"},"hasAlertSlack":{"type":"boolean"},"hasAlertDiscord":{"type":"boolean"},"hasAlertMsteams":{"type":"boolean"},"hasAlertTelegram":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","name","query","service","level","threshold","windowSec","openLatched","enabled","hasAlertEmail","hasAlertWebhook","hasAlertSlack","hasAlertDiscord","hasAlertMsteams","hasAlertTelegram","createdAt","updatedAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable message."},"code":{"type":"string","description":"Machine-readable code (PLAN_LIMIT_MONITORS, ALERT_URL_BLOCKED, VALIDATION_FAILED, IDEMPOTENCY_IN_PROGRESS, etc.)"},"fields":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["path","code","message"],"additionalProperties":false},"description":"Per-field issues. Present when code=VALIDATION_FAILED."}},"required":["error"],"additionalProperties":false}}}}}}}}}