PUT Eine individuelle Regel mit expected_version bearbeiten. Monitor, Messreihe und Regeltyp bleiben fest; verwaltete Regeln verwenden ihren Konfigurationseditor. Eine neue Evidenzrevision erhält die Vorfallhistorie.
/api/v1/alarms/rules/{id}
Eine individuelle Regel mit expected_version bearbeiten. Monitor, Messreihe und Regeltyp bleiben fest; verwaltete Regeln verwenden ihren Konfigurationseditor. Eine neue Evidenzrevision erhält die Vorfallhistorie.
Auf dieser Seite
Zugriff und Rechte
Eine individuelle Regel mit expected_version bearbeiten. Monitor, Messreihe und Regeltyp bleiben fest; verwaltete Regeln verwenden ihren Konfigurationseditor. Eine neue Evidenzrevision erhält die Vorfallhistorie.
Browsersitzung: Cookie __Host-mb_session.
Maschinen-Verwaltungszugang in Authorization: Bearer. Beachten Sie die von der Operation benötigten Berechtigungen (Scopes).
Senden Sie bei einer Änderung mit Browsersitzung das aktuelle CSRF-Token in X-CSRF-Token zusammen mit dem Same-Site-Cookie. OAuth-Zustimmung verwendet ihr dokumentiertes Formularfeld.
Parameter und Header
| Feld | Position | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|---|
| id | Pfad | string; {"format":"uuid"} | Ja | Ressourcen-UUID aus dem Pfad. Sie muss existieren und für die handelnde Identität zugänglich sein. |
| Origin | Header | string; {"format":"uri"} | Nein | Muss, falls vorhanden, dem kanonischen HTTPS-Origin entsprechen. Sec-Fetch-Site cross-site wird abgewiesen. |
| X-CSRF-Token | Header | string | Nein | Wert des Browser-CSRF-Cookies. Bei einem zulässigen Maschinen-Verwaltungszugang nicht erforderlich. |
Anfragekörper
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | AlarmRuleUpdate | Ja | — |
| $.clear | AlarmCondition | Nein | — |
| $.clear.operator | string; {"enum":["gt","lt","eq","ne","outside","inside"]} | Ja | — |
| $.clear.value | number | Ja | — |
| $.clear.value_high | number | Nein | Pflicht bei inside und outside; muss größer als value sein |
| $.clear (allOf 1) | JSON | Nein | — |
| $.clear_duration_seconds | integer; {"default":0,"maximum":86400,"minimum":0} | Nein | — |
| $.device_id | string; {"format":"uuid"} | Ja | UUID des Zielgeräts oder Monitors. Der Schreibschlüssel muss dieses Gerät erlauben. |
| $.equality_tolerance | number; {"default":0,"minimum":0} | Nein | — |
| $.escalation_policy_id | string; {"format":"uuid"} | null | Nein | — |
| $.escalation_policy_id (anyOf 1) | string; {"format":"uuid"} | Nein | — |
| $.escalation_policy_id (anyOf 2) | null | Nein | — |
| $.event_case_sensitive | boolean; {"default":false} | Nein | — |
| $.event_contains | string; {"maxLength":128} | Nein | Nur text; literal verglichener Text. Leer nur bei contains. |
| $.event_min_severity | string; {"enum":["info","warning","critical"]} | Nein | Nur text; Standard info |
| $.event_operator | string; {"default":"contains","enum":["contains","not_contains","eq","ne"]} | Nein | — |
| $.event_whole_word | boolean; {"default":false} | Nein | Nur für contains und not_contains |
| $.expected_config_revision | integer; {"minimum":1} | Nein | — |
| $.expected_version | integer; {"minimum":1} | Ja | — |
| $.kind | string; {"enum":["numeric","state","text","no_data","heartbeat","run"]} | Ja | run gilt nur für Job-, Workflow- und KI-Monitore bei freigeschalteten Laufereignissen; ein Vorfall pro Monitorregel. |
| $.name | string; {"maxLength":128} | Ja | Lesbarer Ressourcenname. Beachten Sie die angegebene Längengrenze. |
| $.no_data_seconds | integer; {"maximum":604800,"minimum":30} | Nein | — |
| $.notification_destination_ids | array<string; {"format":"uuid"}>; {"maxItems":20} | Nein | — |
| $.notification_destination_ids[] | string; {"format":"uuid"} | Ja | — |
| $.notification_mode | string; {"enum":["all_active","selected"]} | Nein | — |
| $.quiet_seconds | integer; {"default":300,"maximum":86400,"minimum":30} | Nein | Nur text; gruppierter Vorfall wird nach Ruhezeit entwarnt |
| $.reminder_limit | integer; {"maximum":4,"minimum":0} | Nein | — |
| $.reminders_enabled | boolean | Nein | — |
| $.repeat_seconds | integer; {"default":1800,"maximum":86400,"minimum":1800} | Nein | Mindestintervall vor Wiederholung einer nicht entwarnten Alarmnachricht. |
| $.routing_source | string; {"enum":["monitor","individual"]} | Nein | — |
| $.series_id | string; {"format":"uuid"} | Nein | Für Regeln der Typen numeric, state und no_data erforderlich. |
| $.severity | string; {"enum":["info","warning","critical"]} | Ja | Schweregrad aus dem angegebenen Wertebereich. |
| $.state_clear_samples | integer; {"default":1,"maximum":2,"minimum":0} | Nein | Eine oder zwei aufeinanderfolgende frische Beobachtungen für eine Zustandsregel. Ohne Wert oder mit null gilt eine; andere Regeltypen müssen eine verwenden. |
| $.state_trigger_samples | integer; {"default":1,"maximum":2,"minimum":0} | Nein | Eine oder zwei aufeinanderfolgende frische Beobachtungen für eine Zustandsregel. Ohne Wert oder mit null gilt eine; andere Regeltypen müssen eine verwenden. |
| $.suggestion_key | string; {"maxLength":272} | Nein | — |
| $.target_state | string; {"maxLength":128,"minLength":1} | Nein | Pflicht für state; exakter Booleanwert true oder false beziehungsweise Enum-Wert. Eine neue passende Messung löst aus; der nächste andere Wert entwarnt. |
| $.trigger | AlarmCondition | Nein | — |
| $.trigger.operator | string; {"enum":["gt","lt","eq","ne","outside","inside"]} | Ja | — |
| $.trigger.value | number | Ja | — |
| $.trigger.value_high | number | Nein | Pflicht bei inside und outside; muss größer als value sein |
| $.trigger (allOf 1) | JSON | Nein | — |
| $.trigger_duration_seconds | integer; {"default":0,"maximum":86400,"minimum":0} | Nein | — |
| $.window_function | string; {"default":"last","enum":["last","avg","min","max"]} | Nein | Nur numeric; dieselbe Funktion für Auslösung und Entwarnung. UTC-Sekunden-Buckets; Mittelwert ist nach Messpunktanzahl gewichtet. |
| $.window_seconds | integer; {"default":0,"maximum":900,"minimum":0} | Nein | Bei avg/min/max mindestens 10 Sekunden und zwei erwartete Messintervalle; nach einer Datenlücke beginnt das Fenster neu. |
| $ (allOf 1) | JSON | Nein | — |
| $ (allOf 2) | JSON | Nein | — |
| $ (allOf 3) | JSON | Nein | — |
| $ (allOf 4) | JSON | Nein | — |
| $ (allOf 5) | JSON | Nein | — |
Antworten
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
| Stabile Fehlercodes |
|---|
| invalid_confirmations |
| invalid_idempotency_key |
| invalid_repeat |
| invalid_rule |
| invalid_run_monitor |
| invalid_selection |
| invalid_window |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 422,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| feature_unavailable |
| unavailable |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Retry-After | string; {"pattern":"^[0-9]+$"} | Sekunden bis zur Wiederholung. Bewahren Sie unterstützte Idempotenzkennungen und beachten Sie die Änderungsregeln der Operation. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 503,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| idempotency_conflict |
| managed_rule |
| revision_conflict |
| suggestion_exists |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 409,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| csrf |
| forbidden |
| insufficient_scope |
| invalid_origin |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 403,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| creation_quota |
| rule_limit |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Retry-After | string; {"pattern":"^[0-9]+$"} | Sekunden bis zur Wiederholung. Bewahren Sie unterstützte Idempotenzkennungen und beachten Sie die Änderungsregeln der Operation. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 429,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| not_found |
| unavailable |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Retry-After | string; {"pattern":"^[0-9]+$"} | Sekunden bis zur Wiederholung. Bewahren Sie unterstützte Idempotenzkennungen und beachten Sie die Änderungsregeln der Operation. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
{
"code": "demo",
"detail": "Demo error detail; inspect the documented code.",
"instance": "demo",
"message": "Demo error detail; inspect the documented code.",
"message_key": "errors.requestFailed",
"message_params": {},
"request_id": "00000000000000000000000000000000",
"status": 503,
"title": "Demo error",
"type": "about:blank"
}Wiederholungen und asynchrone Aufträge
Für diese Änderung gibt es keine allgemeine Wiederholungsgarantie. Prüfen Sie bei unklarer Antwort den betroffenen Eintrag, bevor Sie es erneut versuchen. Beachten Sie Wartezeiten aus Retry-After und fordern Sie abgelaufene Anmelde- oder Aktionscodes neu an.
Anfragebeispiele
Ersetzen Sie Demokennungen, Zeitstempel und Platzhalter durch eigene Werte. Behalten Sie bei Wiederholungen Kennungen, Zeit und Inhalt bei. Diese Beispiele führen auf der Seite keine Anfragen aus.
Halten Sie Anmeldelinks, Codes, Cookies und Schlüssel privat. Schreiben Sie sie nicht in Logs und teilen Sie sie nicht in Hilfeanfragen.
curl --silent --show-error --output /dev/null --write-out "%{http_code}\n" \
--request PUT \
--header @"$HOME/.config/metribeacon/headers.txt" \
--header "Content-Type: application/json" \
--data-binary '{"expected_version":1,"device_id":"00000000-0000-4000-8000-000000000001","series_id":"00000000-0000-4000-8000-000000000001","name":"Demo high value","kind":"numeric","severity":"warning","trigger":{"operator":"gt","value":80},"clear":{"operator":"lt","value":75},"repeat_seconds":1800}' \
"https://metribeacon.com/api/v1/alarms/rules/00000000-0000-4000-8000-000000000001"
import json
from pathlib import Path
from urllib.request import Request, HTTPRedirectHandler, build_opener
from urllib.error import HTTPError
headers = json.loads((Path.home() / ".config/metribeacon/headers.json").read_text())
headers["Content-Type"] = "application/json"
request = Request('https://metribeacon.com/api/v1/alarms/rules/00000000-0000-4000-8000-000000000001', data='{"expected_version":1,"device_id":"00000000-0000-4000-8000-000000000001","series_id":"00000000-0000-4000-8000-000000000001","name":"Demo high value","kind":"numeric","severity":"warning","trigger":{"operator":"gt","value":80},"clear":{"operator":"lt","value":75},"repeat_seconds":1800}'.encode("utf-8"), headers=headers, method='PUT')
class NoRedirect(HTTPRedirectHandler):
def redirect_request(self, request, fp, code, message, headers, target):
return None
opener = build_opener(NoRedirect())
try:
with opener.open(request, timeout=10) as response:
print(response.status)
except HTTPError as error:
print(error.code)
error.close()
import { readFile } from "node:fs/promises";
import { homedir } from "node:os";
import { join } from "node:path";
const headers = JSON.parse(await readFile(join(homedir(), ".config/metribeacon/headers.json"), "utf8"));
const response = await fetch("https://metribeacon.com/api/v1/alarms/rules/00000000-0000-4000-8000-000000000001", {
method: "PUT", headers: {...headers, "Content-Type":"application/json"}, body:"{\"expected_version\":1,\"device_id\":\"00000000-0000-4000-8000-000000000001\",\"series_id\":\"00000000-0000-4000-8000-000000000001\",\"name\":\"Demo high value\",\"kind\":\"numeric\",\"severity\":\"warning\",\"trigger\":{\"operator\":\"gt\",\"value\":80},\"clear\":{\"operator\":\"lt\",\"value\":75},\"repeat_seconds\":1800}", redirect: "manual",
signal: AbortSignal.timeout(10000),
});
console.log(response.status);
await response.body?.cancel();
package main
import (
"fmt"
"net/http"
"strings"
"time"
"encoding/json"
"os"
"path/filepath"
)
func main() {
home, err := os.UserHomeDir(); if err != nil { panic("credentials unavailable") }
raw, err := os.ReadFile(filepath.Join(home, ".config/metribeacon/headers.json")); if err != nil { panic("credentials unavailable") }
var headers map[string]string
if json.Unmarshal(raw, &headers) != nil { panic("invalid local headers") }
request, err := http.NewRequest("PUT", "https://metribeacon.com/api/v1/alarms/rules/00000000-0000-4000-8000-000000000001", strings.NewReader("{\"expected_version\":1,\"device_id\":\"00000000-0000-4000-8000-000000000001\",\"series_id\":\"00000000-0000-4000-8000-000000000001\",\"name\":\"Demo high value\",\"kind\":\"numeric\",\"severity\":\"warning\",\"trigger\":{\"operator\":\"gt\",\"value\":80},\"clear\":{\"operator\":\"lt\",\"value\":75},\"repeat_seconds\":1800}")); if err != nil { panic("request invalid") }
request.Header.Set("Content-Type", "application/json")
for name, value := range headers { request.Header.Set(name, value) }
client := &http.Client{Timeout: 10*time.Second, CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
response, err := client.Do(request); if err != nil { panic("request failed") }
defer response.Body.Close()
fmt.Println(response.StatusCode)
}
Verwandte Anleitungen
- HTTP-API, OAuth und MCP
Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.
- DELETE Einen Monitor endgültig löschen
Nur der Eigentümer des Arbeitsbereichs darf einen Monitor endgültig löschen. Zuerst eine fünf Minuten gültige, an die Konfiguration gebundene Vorschau anfordern; danach preview_id, confirm_deletion: true und einen Idempotency-Key senden. Unbestätigte alte Archivierungsaufrufe werden abgewiesen. Der Monitor wird sofort gesperrt; ein dauerhafter Auftrag entfernt seine Datenbank-, Archiv- und Cachedaten und bereinigt verknüpfte Anzeigen. Den Auftrag bis zum Abschluss abfragen; pausierte Aufträge zeigen einen technischen Fehler und werden automatisch wiederholt. Tageskontingente und Sicherheitszähler bleiben unverändert. Bereits zugestellte Nachrichten und heruntergeladene Dateien können nicht zurückgeholt werden.
- GET Eigene Monitore lesen
Eigene Monitore lesen.
- POST Monitor mit freigegebenem Typ erstellen
Monitor mit freigegebenem Typ erstellen.