-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenapi.json
More file actions
1 lines (1 loc) · 77 KB
/
openapi.json
File metadata and controls
1 lines (1 loc) · 77 KB
1
{"openapi":"3.1.0","info":{"title":"Notifier","description":"Internal alerting service for Watchdog","version":"0.0.4"},"paths":{"/internal/v1/api/alertmanager/alerts":{"get":{"tags":["alertmanager"],"summary":"List Alerts","description":"Lists alertmanager alerts with optional state and label filtering for the current user scope.","operationId":"list_alerts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},{"name":"silenced","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Silenced"}},{"name":"inhibited","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inhibited"}},{"name":"filter_labels","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter Labels"}},{"name":"show_hidden","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Show Hidden"}}],"responses":{"200":{"description":"The alerts visible to the current caller.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Alert-Output"},"title":"Response List Alerts"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["alertmanager"],"summary":"Create Alerts","description":"Submits one or more alerts to alertmanager for processing.","operationId":"create_alerts","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Alert-Input"},"title":"Alerts"}}}},"responses":{"200":{"description":"The submission result including the number of alerts accepted.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Alerts"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["alertmanager"],"summary":"Delete Alerts","description":"Deletes alerts in alertmanager that match the provided label filter set.","operationId":"delete_alerts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"filter_labels","in":"query","required":true,"schema":{"type":"string","title":"Filter Labels"}}],"responses":{"200":{"description":"The deletion result for the matched alerts.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Alerts"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/alerts/groups":{"get":{"tags":["alertmanager"],"summary":"List Alert Groups","description":"Lists grouped alerts from alertmanager with optional label filtering.","operationId":"list_alert_groups","security":[{"HTTPBearer":[]}],"parameters":[{"name":"filter_labels","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter Labels"}}],"responses":{"200":{"description":"Grouped alerts returned by alertmanager.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlertGroup"},"title":"Response List Alert Groups"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/access/group-shares/prune":{"post":{"tags":["alertmanager"],"summary":"Prune Group Shares","description":"Removes stale shared-group visibility references for users that were removed from a group.","operationId":"prune_group_shares","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSharePruneRequest"}}},"required":true},"responses":{"200":{"description":"The counts of updated records and pruned silences.","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Prune Group Shares"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/integrations/channel-types":{"get":{"tags":["alertmanager"],"summary":"List Allowed Channel Types","description":"Lists notification channel types that are currently enabled for alertmanager integrations.","operationId":"list_channel_types","responses":{"200":{"description":"The channel types allowed by integration policy.","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Channel Types"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"}},"security":[{"HTTPBearer":[]}]}},"/internal/v1/api/alertmanager/silences":{"get":{"tags":["alertmanager-silences"],"summary":"List Silences","description":"Lists silences visible to the current user with optional label and expiration filtering.","operationId":"list_silences","security":[{"HTTPBearer":[]}],"parameters":[{"name":"filter_labels","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter Labels"}},{"name":"include_expired","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Expired"}},{"name":"show_hidden","in":"query","required":false,"schema":{"type":"string","pattern":"^(true|false)$","default":"false","title":"Show Hidden"}}],"responses":{"200":{"description":"The silences visible to the current caller.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Silence"},"title":"Response List Silences"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["alertmanager-silences"],"summary":"Create Silence","description":"Creates a new silence in alertmanager for the current user scope.","operationId":"create_silence","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SilenceCreateRequest"}}}},"responses":{"200":{"description":"The created silence identifier and operation result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Create Silence"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/silences/{silence_id}":{"get":{"tags":["alertmanager-silences"],"summary":"Get Silence","description":"Returns a single silence when it exists and is visible to the current user.","operationId":"get_silence","security":[{"HTTPBearer":[]}],"parameters":[{"name":"silence_id","in":"path","required":true,"schema":{"type":"string","title":"Silence Id"}},{"name":"show_hidden","in":"query","required":false,"schema":{"type":"string","pattern":"^(true|false)$","default":"false","title":"Show Hidden"}}],"responses":{"200":{"description":"The requested silence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Silence"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["alertmanager-silences"],"summary":"Update Silence","description":"Updates an existing silence when the caller owns it and still has access.","operationId":"update_silence","security":[{"HTTPBearer":[]}],"parameters":[{"name":"silence_id","in":"path","required":true,"schema":{"type":"string","title":"Silence Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SilenceCreateRequest"}}}},"responses":{"200":{"description":"The updated silence identifier and operation result.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Update Silence"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["alertmanager-silences"],"summary":"Delete Silence","description":"Deletes an existing silence when the caller owns it and still has access.","operationId":"delete_silence","security":[{"HTTPBearer":[]}],"parameters":[{"name":"silence_id","in":"path","required":true,"schema":{"type":"string","title":"Silence Id"}}],"responses":{"200":{"description":"The deletion result for the specified silence.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Silence"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/silences/{silence_id}/hide":{"post":{"tags":["alertmanager-silences"],"summary":"Hide Silence","description":"Toggles whether a shared silence is hidden for the current user.","operationId":"hide_silence","security":[{"HTTPBearer":[]}],"parameters":[{"name":"silence_id","in":"path","required":true,"schema":{"type":"string","title":"Silence Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/routers__observability__alerts__shared__HideTogglePayload"}}}},"responses":{"200":{"description":"The hide state applied to the silence.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Hide Silence"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/status":{"get":{"tags":["alertmanager"],"summary":"Get Alertmanager Status","description":"Returns alertmanager runtime status and cluster metadata.","operationId":"get_alertmanager_status","responses":{"200":{"description":"The current alertmanager status payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertManagerStatus"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"}},"security":[{"HTTPBearer":[]}]}},"/internal/v1/api/alertmanager/receivers":{"get":{"tags":["alertmanager"],"summary":"List Receivers","description":"Lists alertmanager receiver names available for routing and inspection.","operationId":"list_receivers","responses":{"200":{"description":"The configured alertmanager receiver names.","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response List Receivers"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"}},"security":[{"HTTPBearer":[]}]}},"/internal/v1/api/alertmanager/rules/import":{"post":{"tags":["alertmanager-rules"],"summary":"Import Alert Rules","description":"Imports alert rules from YAML, optionally previewing the parsed rules without persisting them.","operationId":"import_rules","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleImportRequest"}}},"required":true},"responses":{"200":{"description":"The imported or previewed rule set with creation and update counts.","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Import Rules"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/internal/v1/api/alertmanager/rules":{"get":{"tags":["alertmanager-rules"],"summary":"List Alert Rules","description":"Lists alert rules visible to the current user with pagination support.","operationId":"list_rules","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"show_hidden","in":"query","required":false,"schema":{"type":"string","pattern":"^(true|false)$","default":"false","title":"Show Hidden"}}],"responses":{"200":{"description":"The alert rules visible to the current caller.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlertRule"},"title":"Response List Rules"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["alertmanager-rules"],"summary":"Create Alert Rule","description":"Creates a new alert rule and synchronizes it to the backing Mimir rule set.","operationId":"create_rule","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertRuleCreate"}}}},"responses":{"201":{"description":"The newly created alert rule.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertRule"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/public/rules":{"get":{"tags":["alertmanager-rules"],"summary":"List Public Alert Rules","description":"Lists public alert rules for the default tenant after public endpoint protections are enforced.","operationId":"list_public_rules","responses":{"200":{"description":"The public alert rules available for the default tenant.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AlertRule"},"type":"array","title":"Response List Public Rules"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"}}}},"/internal/v1/api/alertmanager/metrics/names":{"get":{"tags":["alertmanager-rules"],"summary":"List Metric Names","description":"Lists metric names available in Mimir for the resolved organization scope.","operationId":"list_metric_names","security":[{"HTTPBearer":[]}],"parameters":[{"name":"orgId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orgid"}}],"responses":{"200":{"description":"The resolved organization identifier and metric names.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Metric Names"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/metrics/query":{"get":{"tags":["alertmanager-rules"],"summary":"Evaluate PromQL Query","description":"Evaluates a PromQL query against Mimir for the resolved organization scope.","operationId":"query_metrics","security":[{"HTTPBearer":[]}],"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Query"}},{"name":"orgId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orgid"}},{"name":"sampleLimit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Samplelimit"}}],"responses":{"200":{"description":"The evaluated query result returned from Mimir.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Query Metrics"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/metrics/labels":{"get":{"tags":["alertmanager-rules"],"summary":"List Metric Labels","description":"Lists label names available in Mimir for the resolved organization scope.","operationId":"list_metric_labels","security":[{"HTTPBearer":[]}],"parameters":[{"name":"orgId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orgid"}}],"responses":{"200":{"description":"The resolved organization identifier and metric label names.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Metric Labels"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/metrics/label-values/{label}":{"get":{"tags":["alertmanager-rules"],"summary":"List Metric Label Values","description":"Lists values for a metric label in Mimir for the resolved organization scope.","operationId":"list_metric_label_values","security":[{"HTTPBearer":[]}],"parameters":[{"name":"label","in":"path","required":true,"schema":{"type":"string","title":"Label"}},{"name":"orgId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orgid"}},{"name":"metricName","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metricname"}}],"responses":{"200":{"description":"The resolved organization identifier and metric label values.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Metric Label Values"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"404":{"description":"Not Found"}}}},"/internal/v1/api/alertmanager/rules/{rule_id}":{"get":{"tags":["alertmanager-rules"],"summary":"Get Alert Rule","description":"Returns a single alert rule when it exists and is visible to the current user.","operationId":"get_rule","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"responses":{"200":{"description":"The requested alert rule.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertRule"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["alertmanager-rules"],"summary":"Update Alert Rule","description":"Updates an existing alert rule and synchronizes affected Mimir rule sets.","operationId":"update_rule","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertRuleCreate"}}}},"responses":{"200":{"description":"The updated alert rule.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertRule"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["alertmanager-rules"],"summary":"Delete Alert Rule","description":"Deletes an alert rule and synchronizes the backing Mimir rule set.","operationId":"delete_rule","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"responses":{"200":{"description":"The deletion result for the alert rule.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Rule"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/rules/{rule_id}/hide":{"post":{"tags":["alertmanager-rules"],"summary":"Hide Alert Rule","description":"Toggles whether a shared alert rule is hidden for the current user.","operationId":"hide_rule","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/routers__observability__alerts__shared__HideTogglePayload"}}}},"responses":{"200":{"description":"The hide state applied to the alert rule.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Hide Rule"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/rules/{rule_id}/test":{"post":{"tags":["alertmanager-rules"],"summary":"Test Alert Rule","description":"Builds a synthetic alert from the rule and sends test notifications through its configured channels.","operationId":"test_rule","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"responses":{"200":{"description":"The test execution result across the configured notification channels.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Test Rule"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/channels":{"get":{"tags":["alertmanager-channels"],"summary":"List Notification Channels","description":"Lists notification channels visible to the current user.","operationId":"list_channels","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"show_hidden","in":"query","required":false,"schema":{"type":"string","pattern":"^(true|false)$","default":"false","title":"Show Hidden"}}],"responses":{"200":{"description":"The notification channels visible to the current caller.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NotificationChannel"},"title":"Response List Channels"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["alertmanager-channels"],"summary":"Create Notification Channel","description":"Creates a new notification channel for the current tenant scope.","operationId":"create_channel","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationChannelCreate"}}}},"responses":{"201":{"description":"The newly created notification channel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationChannel"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/channels/{channel_id}":{"get":{"tags":["alertmanager-channels"],"summary":"Get Notification Channel","description":"Returns a single notification channel when it exists and is visible to the current user.","operationId":"get_channel","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","title":"Channel Id"}}],"responses":{"200":{"description":"The requested notification channel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationChannel"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["alertmanager-channels"],"summary":"Update Notification Channel","description":"Updates an existing notification channel in the current tenant scope.","operationId":"update_channel","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","title":"Channel Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationChannelCreate"}}}},"responses":{"200":{"description":"The updated notification channel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationChannel"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["alertmanager-channels"],"summary":"Delete Notification Channel","description":"Deletes an existing notification channel when the caller has access.","operationId":"delete_channel","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","title":"Channel Id"}}],"responses":{"200":{"description":"The deletion result for the notification channel.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Channel"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"400":{"description":"Bad Request"}}}},"/internal/v1/api/alertmanager/channels/{channel_id}/hide":{"post":{"tags":["alertmanager-channels"],"summary":"Hide Notification Channel","description":"Toggles whether a shared notification channel is hidden for the current user.","operationId":"hide_channel","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","title":"Channel Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/routers__observability__alerts__shared__HideTogglePayload"}}}},"responses":{"200":{"description":"The hide state applied to the notification channel.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Hide Channel"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/channels/{channel_id}/test":{"post":{"tags":["alertmanager-channels"],"summary":"Test Notification Channel","description":"Sends a test notification through the specified notification channel.","operationId":"test_channel","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","title":"Channel Id"}}],"responses":{"200":{"description":"The test delivery result for the notification channel.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Test Channel"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/incidents":{"get":{"tags":["alertmanager-incidents"],"summary":"List Incidents","description":"Lists alert incidents visible to the current user with optional status, visibility, and group filters.","operationId":"list_incidents","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"visibility","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility"}},{"name":"group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"The incidents visible to the current caller.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlertIncident"},"title":"Response List Incidents"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/incidents/summary":{"get":{"tags":["alertmanager-incidents"],"summary":"Get Incident Summary","description":"Returns an aggregated summary of incidents visible to the current user.","operationId":"get_incident_summary","responses":{"200":{"description":"Aggregated incident summary counts and breakdowns.","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Incident Summary"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"}},"security":[{"HTTPBearer":[]}]}},"/internal/v1/api/alertmanager/incidents/{incident_id}":{"patch":{"tags":["alertmanager-incidents"],"summary":"Update Incident","description":"Updates an incident's status, assignment, Jira metadata, or visibility settings.","operationId":"update_incident","security":[{"HTTPBearer":[]}],"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string","title":"Incident Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertIncidentUpdateRequest"}}}},"responses":{"200":{"description":"The updated incident.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertIncident"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/jira/config":{"get":{"tags":["alertmanager-jira"],"summary":"Get Jira Config","description":"Returns the tenant-level Jira configuration with secrets masked into presence flags.","operationId":"get_jira_config","responses":{"200":{"description":"The current tenant Jira configuration.","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Jira Config"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"404":{"description":"Not Found"}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["alertmanager-jira"],"summary":"Update Jira Config","description":"Updates the tenant-level Jira configuration used when an explicit integration is not selected.","operationId":"update_jira_config","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraConfigUpdateRequest"}}},"required":true},"responses":{"200":{"description":"The saved tenant Jira configuration.","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Update Jira Config"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/internal/v1/api/alertmanager/jira/projects":{"get":{"tags":["alertmanager-jira"],"summary":"List Jira Projects","description":"Lists Jira projects using either the tenant Jira config or a selected integration.","operationId":"list_jira_projects","security":[{"HTTPBearer":[]}],"parameters":[{"name":"integrationId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Integrationid"}}],"responses":{"200":{"description":"The available Jira projects for the resolved credentials.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Jira Projects"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/jira/projects/{project_key}/issue-types":{"get":{"tags":["alertmanager-jira"],"summary":"List Jira Issue Types","description":"Lists Jira issue types for a project using either the tenant Jira config or a selected integration.","operationId":"list_jira_issue_types","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_key","in":"path","required":true,"schema":{"type":"string","title":"Project Key"}},{"name":"integrationId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Integrationid"}}],"responses":{"200":{"description":"The available Jira issue types for the requested project.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Jira Issue Types"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/integrations/jira/{integration_id}/projects":{"get":{"tags":["alertmanager-jira"],"summary":"List Jira Projects By Integration","description":"Lists Jira projects using a specific Jira integration.","operationId":"list_integration_projects","security":[{"HTTPBearer":[]}],"parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","title":"Integration Id"}}],"responses":{"200":{"description":"The Jira projects available through the selected integration.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Integration Projects"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/integrations/jira/{integration_id}/projects/{project_key}/issue-types":{"get":{"tags":["alertmanager-jira"],"summary":"List Jira Issue Types By Integration","description":"Lists Jira issue types for a project using a specific Jira integration.","operationId":"list_integration_issue_types","security":[{"HTTPBearer":[]}],"parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","title":"Integration Id"}},{"name":"project_key","in":"path","required":true,"schema":{"type":"string","title":"Project Key"}}],"responses":{"200":{"description":"The Jira issue types available through the selected integration.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Integration Issue Types"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/integrations/jira":{"get":{"tags":["alertmanager-jira"],"summary":"List Jira Integrations","description":"Lists Jira integrations visible to the current user, including hidden state when requested.","operationId":"list_jira_integrations","security":[{"HTTPBearer":[]}],"parameters":[{"name":"show_hidden","in":"query","required":false,"schema":{"type":"string","pattern":"^(true|false)$","default":"false","title":"Show Hidden"}}],"responses":{"200":{"description":"The Jira integrations visible to the current caller.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Jira Integrations"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["alertmanager-jira"],"summary":"Create Jira Integration","description":"Creates a new Jira integration for the current tenant.","operationId":"create_jira_integration","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraIntegrationCreateRequest"}}}},"responses":{"200":{"description":"The created Jira integration with sensitive values masked.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Jira Integration"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/integrations/jira/{integration_id}":{"put":{"tags":["alertmanager-jira"],"summary":"Update Jira Integration","description":"Updates an existing Jira integration owned by the current user.","operationId":"update_jira_integration","security":[{"HTTPBearer":[]}],"parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","title":"Integration Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraIntegrationUpdateRequest"}}}},"responses":{"200":{"description":"The updated Jira integration with sensitive values masked.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Jira Integration"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["alertmanager-jira"],"summary":"Delete Jira Integration","description":"Deletes a Jira integration owned by the current user and unlinks it from incidents.","operationId":"delete_jira_integration","security":[{"HTTPBearer":[]}],"parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","title":"Integration Id"}}],"responses":{"200":{"description":"The deletion result and count of incidents unlinked from the integration.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Jira Integration"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"400":{"description":"Bad Request"}}}},"/internal/v1/api/alertmanager/integrations/jira/{integration_id}/hide":{"post":{"tags":["alertmanager-jira"],"summary":"Hide Jira Integration","description":"Toggles whether a shared Jira integration is hidden for the current user.","operationId":"hide_jira_integration","security":[{"HTTPBearer":[]}],"parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","title":"Integration Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/routers__observability__jira__shared__HideTogglePayload"}}}},"responses":{"200":{"description":"The hide state applied to the Jira integration.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Hide Jira Integration"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/incidents/{incident_id}/jira":{"post":{"tags":["alertmanager-jira"],"summary":"Create Incident Jira Link","description":"Creates a Jira issue for an incident and stores the Jira linkage on the incident record.","operationId":"create_incident_link","security":[{"HTTPBearer":[]}],"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string","title":"Incident Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentJiraCreateRequest"}}}},"responses":{"200":{"description":"The incident updated with Jira linkage metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertIncident"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"409":{"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/incidents/{incident_id}/jira/sync-notes":{"post":{"tags":["alertmanager-jira"],"summary":"Sync Incident Jira Notes","description":"Backfills incident notes to the linked Jira issue while skipping notes already present.","operationId":"sync_incident_notes","security":[{"HTTPBearer":[]}],"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string","title":"Incident Id"}}],"responses":{"200":{"description":"The note synchronization result for the linked Jira issue.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Sync Incident Notes"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/api/alertmanager/incidents/{incident_id}/jira/comments":{"get":{"tags":["alertmanager-jira"],"summary":"List Incident Jira Comments","description":"Lists comments from the Jira issue linked to the specified incident when credentials are available.","operationId":"list_incident_comments","security":[{"HTTPBearer":[]}],"parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"string","title":"Incident Id"}}],"responses":{"200":{"description":"The Jira comments associated with the incident's linked issue.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Incident Comments"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"404":{"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/alertmanager/alerts/webhook":{"post":{"tags":["alertmanager-webhooks"],"summary":"Receive Alert Webhook","description":"Receives general alert webhook payloads and dispatches notifications for the inferred tenant.","operationId":"receive_alert_webhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertWebhookRequest"}}},"required":true},"responses":{"200":{"description":"The webhook processing result for the submitted alerts.","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Receive Alert Webhook"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/alertmanager/alerts/critical":{"post":{"tags":["alertmanager-webhooks"],"summary":"Receive Critical Alert Webhook","description":"Receives critical alert webhook payloads and dispatches critical notifications for the inferred tenant.","operationId":"receive_critical_webhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertWebhookRequest"}}},"required":true},"responses":{"200":{"description":"The webhook processing result for the submitted critical alerts.","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Receive Critical Webhook"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/alertmanager/alerts/warning":{"post":{"tags":["alertmanager-webhooks"],"summary":"Receive Warning Alert Webhook","description":"Receives warning alert webhook payloads and dispatches warning notifications for the inferred tenant.","operationId":"receive_warning_webhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertWebhookRequest"}}},"required":true},"responses":{"200":{"description":"The webhook processing result for the submitted warning alerts.","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Receive Warning Webhook"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"Too Many Requests"},"400":{"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["system"],"summary":"Service Health","description":"Returns a lightweight health status for the notifier service.","operationId":"health","responses":{"200":{"description":"The current health status for the notifier service.","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health"}}}}}}},"/ready":{"get":{"tags":["system"],"summary":"Service Readiness","description":"Runs readiness checks required for notifier to serve traffic.","operationId":"readiness","responses":{"200":{"description":"The readiness result and individual dependency checks.","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"Alert-Input":{"properties":{"labels":{"additionalProperties":{"type":"string"},"type":"object","title":"Labels","description":"Key-value pairs that identify the alert","examples":[{"alertname":"HighCpuUsage","severity":"critical"}]},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"Additional information about the alert","examples":[{"description":"Node cpu is saturated","summary":"CPU usage above 95%"}]},"startsAt":{"type":"string","title":"Startsat","description":"Time when the alert started firing","examples":["2026-04-03T12:00:00Z"]},"endsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endsat","description":"Time when the alert stopped firing","examples":["2026-04-03T12:15:00Z"]},"generatorURL":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generatorurl","description":"URL of the alert generator","examples":["https://grafana.example.internal/alerting/grafana/high-cpu"]},"status":{"$ref":"#/components/schemas/AlertStatus","description":"Current status of the alert"},"receivers":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"}]},"type":"array"},{"type":"null"}],"title":"Receivers","description":"List of receivers for this alert","examples":[["primary-oncall",{"channel":"#alerts","type":"slack"}]]},"fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fingerprint","description":"Unique identifier for the alert","examples":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"type":"object","required":["labels","startsAt","status"],"title":"Alert"},"Alert-Output":{"properties":{"labels":{"additionalProperties":{"type":"string"},"type":"object","title":"Labels","description":"Key-value pairs that identify the alert","examples":[{"alertname":"HighCpuUsage","severity":"critical"}]},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"Additional information about the alert","examples":[{"description":"Node cpu is saturated","summary":"CPU usage above 95%"}]},"startsAt":{"type":"string","title":"Startsat","description":"Time when the alert started firing","examples":["2026-04-03T12:00:00Z"]},"endsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endsat","description":"Time when the alert stopped firing","examples":["2026-04-03T12:15:00Z"]},"generatorURL":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generatorurl","description":"URL of the alert generator","examples":["https://grafana.example.internal/alerting/grafana/high-cpu"]},"status":{"$ref":"#/components/schemas/AlertStatus","description":"Current status of the alert"},"receivers":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"}]},"type":"array"},{"type":"null"}],"title":"Receivers","description":"List of receivers for this alert","examples":[["primary-oncall",{"channel":"#alerts","type":"slack"}]]},"fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fingerprint","description":"Unique identifier for the alert","examples":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]}},"type":"object","required":["labels","startsAt","status"],"title":"Alert"},"AlertGroup":{"properties":{"labels":{"additionalProperties":{"type":"string"},"type":"object","title":"Labels","description":"Common labels for the group","examples":[{"team":"platform"}]},"receiver":{"type":"string","title":"Receiver","description":"Receiver that will handle these alerts","examples":["primary-oncall"]},"alerts":{"items":{"$ref":"#/components/schemas/Alert-Output"},"type":"array","title":"Alerts","description":"List of alerts in this group"}},"type":"object","required":["labels","receiver","alerts"],"title":"AlertGroup"},"AlertIncident":{"properties":{"id":{"type":"string","title":"Id","examples":["incident-123"]},"fingerprint":{"type":"string","title":"Fingerprint","examples":["01ARZ3NDEKTSV4RRFFQ69G5FAV"]},"alertName":{"type":"string","title":"Alertname","examples":["HighCpuUsage"]},"severity":{"type":"string","title":"Severity","examples":["critical"]},"status":{"$ref":"#/components/schemas/IncidentStatus","examples":["open"]},"assignee":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assignee","examples":["alice@example.com"]},"notes":{"items":{"$ref":"#/components/schemas/IncidentNote"},"type":"array","title":"Notes"},"labels":{"additionalProperties":{"type":"string"},"type":"object","title":"Labels","examples":[{"service":"api","severity":"critical"}]},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","examples":[{"summary":"CPU above 95%"}]},"visibility":{"$ref":"#/components/schemas/IncidentVisibility","default":"public","examples":["public"]},"sharedGroupIds":{"items":{"type":"string"},"type":"array","title":"Sharedgroupids","examples":[["group-ops"]]},"jiraTicketKey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jiraticketkey","examples":["OPS-321"]},"jiraTicketUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jiraticketurl","examples":["https://jira.example.internal/browse/OPS-321"]},"jiraIntegrationId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jiraintegrationid","examples":["jira-int-01"]},"startsAt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Startsat","examples":["2026-04-03T11:55:00Z"]},"lastSeenAt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastseenat","examples":["2026-04-03T12:05:00Z"]},"resolvedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolvedat","examples":["2026-04-03T12:20:00Z"]},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Createdat","examples":["2026-04-03T12:00:00Z"]},"updatedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updatedat","examples":["2026-04-03T12:10:00Z"]},"userManaged":{"type":"boolean","title":"Usermanaged","default":false,"examples":[false]},"hideWhenResolved":{"type":"boolean","title":"Hidewhenresolved","default":false,"examples":[false]}},"type":"object","required":["id","fingerprint","alertName","severity","status","lastSeenAt","createdAt","updatedAt"],"title":"AlertIncident"},"AlertIncidentUpdateRequest":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","examples":["resolved"]},"assignee":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assignee","examples":["alice@example.com"]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","examples":["Resolved after scaling the deployment"]},"actorUsername":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actorusername","examples":["alice"]},"visibility":{"anyOf":[{"$ref":"#/components/schemas/IncidentVisibility"},{"type":"null"}],"examples":["group"]},"sharedGroupIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sharedgroupids","examples":[["group-ops"]]},"jiraTicketKey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jiraticketkey","examples":["OPS-321"]},"jiraTicketUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jiraticketurl","examples":["https://jira.example.internal/browse/OPS-321"]},"jiraIntegrationId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jiraintegrationid","examples":["jira-int-01"]},"hideWhenResolved":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Hidewhenresolved","examples":[true]}},"type":"object","title":"AlertIncidentUpdateRequest"},"AlertManagerStatus":{"properties":{"version":{"type":"string","title":"Version","description":"AlertManager version","examples":["0.28.1"]},"uptime":{"type":"string","title":"Uptime","description":"AlertManager uptime","examples":["72h15m"]},"configHash":{"type":"string","title":"Confighash","description":"Configuration hash","examples":["sha256:abc123"]},"config":{"additionalProperties":true,"type":"object","title":"Config","description":"Alertmanager configuration details","examples":[{"route":{"receiver":"primary-oncall"}}]},"cluster":{"additionalProperties":true,"type":"object","title":"Cluster","description":"Cluster status information","examples":[{"status":"ready"}]}},"type":"object","required":["version","uptime","configHash","cluster"],"title":"AlertManagerStatus"},"AlertRule":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Unique identifier","examples":["rule-123"]},"createdBy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Createdby","description":"User ID who created the rule","examples":["user-42"]},"orgId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orgid","description":"Organization ID / API key scoped to this rule","examples":["org-abc"]},"name":{"type":"string","title":"Name","description":"Rule name","examples":["HighCpuUsage"]},"expression":{"type":"string","title":"Expression","description":"Prometheus expression for the alert rule","examples":["sum(rate(node_cpu_seconds_total{mode!=\"idle\"}[5m])) > 0.95"]},"severity":{"$ref":"#/components/schemas/RuleSeverity","description":"Severity level of the alert rule","examples":["critical"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the alert rule","examples":["CPU usage is critically high"]},"enabled":{"type":"boolean","title":"Enabled","description":"Whether the rule is enabled","default":true,"examples":[true]},"labels":{"additionalProperties":{"type":"string"},"type":"object","title":"Labels","description":"Labels to add to alerts from this rule","examples":[{"service":"api"}]},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"Annotations to add to alerts from this rule","examples":[{"summary":"API CPU alert"}]},"for":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"For","description":"Duration to wait before firing the alert","examples":["5m"]},"groupName":{"type":"string","title":"Groupname","description":"Name of the rule group this rule belongs to","examples":["watchdog-default"]},"groupInterval":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Groupinterval","description":"Interval between evaluations of this rule group","examples":["1m"]},"notificationChannels":{"items":{"type":"string"},"type":"array","title":"Notificationchannels","description":"Notification channel IDs for this rule","examples":[["channel-1"]]},"visibility":{"$ref":"#/components/schemas/Visibility","description":"Visibility scope","default":"private","examples":["private"]},"sharedGroupIds":{"items":{"type":"string"},"type":"array","title":"Sharedgroupids","description":"Group IDs this rule is shared with (when visibility=group)","examples":[["group-ops"]]},"isHidden":{"type":"boolean","title":"Ishidden","description":"Whether this rule is hidden for the current user","default":false,"examples":[false]}},"type":"object","required":["name","expression","severity","groupName"],"title":"AlertRule"},"AlertRuleCreate":{"properties":{"orgId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orgid","description":"Optional org_id (API key) to scope this rule to","examples":["org-abc"]},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Rule name","examples":["HighCpuUsage"]},"expression":{"type":"string","title":"Expression","description":"Prometheus expression for the alert rule","examples":["sum(rate(node_cpu_seconds_total{mode!=\"idle\"}[5m])) > 0.95"]},"severity":{"$ref":"#/components/schemas/RuleSeverity","description":"Severity level of the alert rule","examples":["critical"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the alert rule","examples":["CPU usage is critically high"]},"enabled":{"type":"boolean","title":"Enabled","description":"Whether the rule is enabled","default":true,"examples":[true]},"labels":{"additionalProperties":{"type":"string"},"type":"object","title":"Labels","description":"Labels to add to alerts from this rule","examples":[{"service":"api"}]},"annotations":{"additionalProperties":{"type":"string"},"type":"object","title":"Annotations","description":"Annotations to add to alerts from this rule","examples":[{"summary":"API CPU alert"}]},"for":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"For","description":"Duration to wait before firing the alert","examples":["5m"]},"groupName":{"type":"string","title":"Groupname","description":"Name of the rule group this rule belongs to","examples":["watchdog-default"]},"groupInterval":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Groupinterval","description":"Interval between evaluations of this rule group","examples":["1m"]},"notificationChannels":{"items":{"type":"string"},"type":"array","title":"Notificationchannels","description":"Notification channel IDs for this rule","examples":[["channel-1"]]},"visibility":{"$ref":"#/components/schemas/Visibility","description":"Visibility scope","default":"private","examples":["private"]},"sharedGroupIds":{"items":{"type":"string"},"type":"array","title":"Sharedgroupids","description":"Group IDs to share with","examples":[["group-ops"]]}},"additionalProperties":false,"type":"object","required":["name","expression","severity","groupName"],"title":"AlertRuleCreate"},"AlertState":{"type":"string","enum":["unprocessed","active","suppressed"],"title":"AlertState"},"AlertStatus":{"properties":{"state":{"$ref":"#/components/schemas/AlertState","description":"Current state of the alert","examples":["active"]},"silencedBy":{"items":{"type":"string"},"type":"array","title":"Silencedby","description":"List of silences that silence this alert","examples":[["silence-123"]]},"inhibitedBy":{"items":{"type":"string"},"type":"array","title":"Inhibitedby","description":"List of alerts that inhibit this alert","examples":[["alert-456"]]}},"type":"object","required":["state"],"title":"AlertStatus"},"AlertWebhookRequest":{"properties":{"alerts":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Alerts","examples":[[{"labels":{"alertname":"HighCpuUsage","severity":"critical"}}]]}},"additionalProperties":true,"type":"object","title":"AlertWebhookRequest"},"ChannelType":{"type":"string","enum":["email","slack","teams","webhook","pagerduty"],"title":"ChannelType"},"GroupSharePruneRequest":{"properties":{"tenantId":{"type":"string","minLength":1,"pattern":"^[^\\x00]+$","title":"Tenantid","examples":["tenant-01"]},"groupId":{"type":"string","minLength":1,"pattern":"^[^\\x00]+$","title":"Groupid","examples":["group-ops"]},"removedUserIds":{"items":{"type":"string","minLength":1,"pattern":"^[^\\x00]+$"},"type":"array","title":"Removeduserids","examples":[["user-42"]]},"removedUsernames":{"items":{"type":"string","minLength":1,"pattern":"^[^\\x00]+$"},"type":"array","title":"Removedusernames","examples":[["alice"]]}},"type":"object","required":["tenantId","groupId"],"title":"GroupSharePruneRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IncidentJiraCreateRequest":{"properties":{"integrationId":{"type":"string","title":"Integrationid","examples":["jira-int-01"]},"projectKey":{"type":"string","title":"Projectkey","examples":["OPS"]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","examples":["Investigate HighCpuUsage incident"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["CPU usage has remained above 95% for five minutes."]},"issueType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuetype","examples":["Task"]},"replaceExisting":{"type":"boolean","title":"Replaceexisting","default":false,"examples":[false]}},"type":"object","required":["integrationId","projectKey"],"title":"IncidentJiraCreateRequest"},"IncidentNote":{"properties":{"author":{"type":"string","title":"Author","examples":["alice@example.com"]},"text":{"type":"string","title":"Text","examples":["Investigating elevated CPU on api-01"]},"createdAt":{"type":"string","title":"Createdat","examples":["2026-04-03T12:00:00Z"]}},"type":"object","required":["author","text","createdAt"],"title":"IncidentNote"},"IncidentStatus":{"type":"string","enum":["open","resolved"],"title":"IncidentStatus"},"IncidentVisibility":{"type":"string","enum":["public","private","group"],"title":"IncidentVisibility"},"JiraConfigUpdateRequest":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled","examples":[true]},"baseUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Baseurl","examples":["https://jira.example.internal"]},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","examples":["jira-bot@example.com"]},"apiToken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apitoken","examples":["jira-api-token"]},"bearerToken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bearertoken","examples":["jira-bearer-token"]}},"additionalProperties":false,"type":"object","title":"JiraConfigUpdateRequest"},"JiraIntegrationCreateRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Primary Jira"]},"enabled":{"type":"boolean","title":"Enabled","default":true,"examples":[true]},"visibility":{"type":"string","title":"Visibility","default":"private","examples":["group"]},"sharedGroupIds":{"items":{"type":"string"},"type":"array","title":"Sharedgroupids","examples":[["group-ops"]]},"baseUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Baseurl","examples":["https://jira.example.internal"]},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","examples":["jira-bot@example.com"]},"apiToken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apitoken","examples":["jira-api-token"]},"bearerToken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bearertoken","examples":["jira-bearer-token"]},"authMode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authmode","examples":["api_token"]},"supportsSso":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Supportssso","examples":[false]}},"additionalProperties":false,"type":"object","title":"JiraIntegrationCreateRequest"},"JiraIntegrationUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Primary Jira"]},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled","examples":[true]},"visibility":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility","examples":["group"]},"sharedGroupIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sharedgroupids","examples":[["group-ops"]]},"baseUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Baseurl","examples":["https://jira.example.internal"]},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","examples":["jira-bot@example.com"]},"apiToken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apitoken","examples":["jira-api-token"]},"bearerToken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bearertoken","examples":["jira-bearer-token"]},"authMode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authmode","examples":["api_token"]},"supportsSso":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Supportssso","examples":[false]}},"additionalProperties":false,"type":"object","title":"JiraIntegrationUpdateRequest"},"Matcher":{"properties":{"name":{"type":"string","title":"Name","description":"Label name to match","examples":["alertname"]},"value":{"type":"string","title":"Value","description":"Value to match against","examples":["HighCpuUsage"]},"isRegex":{"type":"boolean","title":"Isregex","description":"Whether the value is a regular expression","default":false,"examples":[false]},"isEqual":{"type":"boolean","title":"Isequal","description":"Whether to match equal values","default":true,"examples":[true]}},"additionalProperties":false,"type":"object","required":["name","value"],"title":"Matcher"},"NotificationChannel":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Unique identifier","examples":["channel-123"]},"name":{"type":"string","title":"Name","description":"Channel name","examples":["Primary Slack"]},"type":{"$ref":"#/components/schemas/ChannelType","description":"Channel type","examples":["slack"]},"enabled":{"type":"boolean","title":"Enabled","description":"Whether the channel is enabled","default":true,"examples":[true]},"config":{"additionalProperties":true,"type":"object","title":"Config","description":"Channel-specific configuration","examples":[{"webhookUrl":"https://hooks.slack.com/services/T000/B000/XXX"}]},"createdBy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Createdby","description":"Owner user id","examples":["user-42"]},"visibility":{"$ref":"#/components/schemas/Visibility","description":"Visibility scope","default":"private","examples":["private"]},"sharedGroupIds":{"items":{"type":"string"},"type":"array","title":"Sharedgroupids","description":"Group IDs this channel is shared with (when visibility=group)","examples":[["group-ops"]]},"isHidden":{"type":"boolean","title":"Ishidden","description":"Whether this channel is hidden for the current user","default":false,"examples":[false]}},"type":"object","required":["name","type","config"],"title":"NotificationChannel"},"NotificationChannelCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Channel name","examples":["Primary Slack"]},"type":{"$ref":"#/components/schemas/ChannelType","description":"Channel type","examples":["slack"]},"enabled":{"type":"boolean","title":"Enabled","description":"Whether the channel is enabled","default":true,"examples":[true]},"config":{"additionalProperties":true,"type":"object","title":"Config","description":"Channel-specific configuration","examples":[{"webhookUrl":"https://hooks.slack.com/services/T000/B000/XXX"}]},"visibility":{"$ref":"#/components/schemas/Visibility","description":"Visibility scope","default":"private","examples":["private"]},"sharedGroupIds":{"items":{"type":"string"},"type":"array","title":"Sharedgroupids","description":"Group IDs to share with","examples":[["group-ops"]]}},"additionalProperties":false,"type":"object","required":["name","type","config"],"title":"NotificationChannelCreate"},"RuleImportRequest":{"properties":{"yamlContent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Yamlcontent","examples":["groups:\n - name: watchdog-default\n rules:\n - alert: HighCpuUsage"]},"defaults":{"additionalProperties":true,"type":"object","title":"Defaults","examples":[{"labels":{"team":"platform"}}]},"dryRun":{"type":"boolean","title":"Dryrun","default":false,"examples":[true]}},"type":"object","title":"RuleImportRequest"},"RuleSeverity":{"type":"string","enum":["info","warning","error","critical"],"title":"RuleSeverity"},"Silence":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Unique identifier for the silence","examples":["silence-123"]},"matchers":{"items":{"$ref":"#/components/schemas/Matcher"},"type":"array","title":"Matchers","description":"Matchers that define which alerts to silence","examples":[[{"isEqual":true,"isRegex":false,"name":"alertname","value":"HighCpuUsage"}]]},"startsAt":{"type":"string","title":"Startsat","description":"Time when the silence starts","examples":["2026-04-03T12:00:00Z"]},"endsAt":{"type":"string","title":"Endsat","description":"Time when the silence ends","examples":["2026-04-03T13:00:00Z"]},"createdBy":{"type":"string","title":"Createdby","description":"User who created the silence","examples":["user-42"]},"comment":{"type":"string","title":"Comment","description":"Comment explaining the silence","examples":["Suppress noisy deploy alert while maintenance is in progress"]},"status":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Status","description":"Current status of the silence","examples":[{"state":"active"}]},"visibility":{"anyOf":[{"$ref":"#/components/schemas/Visibility"},{"type":"null"}],"description":"Visibility scope","examples":["private"]},"sharedGroupIds":{"items":{"type":"string"},"type":"array","title":"Sharedgroupids","description":"Group IDs this silence is shared with","examples":[["group-ops"]]},"isHidden":{"type":"boolean","title":"Ishidden","description":"Whether this silence is hidden for the current user","default":false,"examples":[false]}},"type":"object","required":["matchers","startsAt","endsAt","createdBy","comment"],"title":"Silence"},"SilenceCreateRequest":{"properties":{"matchers":{"items":{"$ref":"#/components/schemas/Matcher"},"type":"array","minItems":1,"title":"Matchers","description":"Matchers that define which alerts to silence","examples":[[{"isEqual":true,"isRegex":false,"name":"alertname","value":"HighCpuUsage"}]]},"startsAt":{"type":"string","title":"Startsat","description":"Time when the silence starts","examples":["2026-04-03T12:00:00Z"]},"endsAt":{"type":"string","title":"Endsat","description":"Time when the silence ends","examples":["2026-04-03T13:00:00Z"]},"comment":{"type":"string","title":"Comment","description":"Comment explaining the silence","examples":["Suppress noisy deploy alert while maintenance is in progress"]},"visibility":{"$ref":"#/components/schemas/Visibility","description":"Visibility scope","default":"private","examples":["private"]},"sharedGroupIds":{"items":{"type":"string"},"type":"array","title":"Sharedgroupids","description":"Group IDs to share with","examples":[["group-ops"]]}},"additionalProperties":false,"type":"object","required":["matchers","startsAt","endsAt","comment"],"title":"SilenceCreateRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Visibility":{"type":"string","enum":["private","group","tenant","public"],"title":"Visibility"},"routers__observability__alerts__shared__HideTogglePayload":{"properties":{"hidden":{"type":"boolean","title":"Hidden","default":true,"examples":[true]}},"type":"object","title":"HideTogglePayload"},"routers__observability__jira__shared__HideTogglePayload":{"properties":{"hidden":{"type":"boolean","title":"Hidden","default":true}},"type":"object","title":"HideTogglePayload"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"jsonSchemaDialect":"https://spec.openapis.org/oas/3.1/dialect/base"}