POST Persönliche Berichtsauswahl speichern
/api/v1/account/reporting-presets
Persönliche Präferenzen für einen zugänglichen Arbeitsbereich, ausschließlich per Browsersitzung. Bis zu 50 benannte Auswahlen je Person und Arbeitsbereich, auch für Betrachter. Gespeichert werden Definition, Filter und Zeitraum, keine Ergebnisse oder Berechnungsaufträge. Änderungen benötigen CSRF. Nach verlorener Antwort dieselbe clientseitige ID und denselben Anlageinhalt wiederholen. Ändern und Löschen benötigen die aktuelle expected_revision; veraltete Änderungen liefern 409. Quellenrechte und Ergebnisfristen bleiben unverändert.
Auf dieser Seite
Zugriff und Rechte
Persönliche Präferenzen für einen zugänglichen Arbeitsbereich, ausschließlich per Browsersitzung. Bis zu 50 benannte Auswahlen je Person und Arbeitsbereich, auch für Betrachter. Gespeichert werden Definition, Filter und Zeitraum, keine Ergebnisse oder Berechnungsaufträge. Änderungen benötigen CSRF. Nach verlorener Antwort dieselbe clientseitige ID und denselben Anlageinhalt wiederholen. Ändern und Löschen benötigen die aktuelle expected_revision; veraltete Änderungen liefern 409. Quellenrechte und Ergebnisfristen bleiben unverändert.
Browsersitzung: Cookie __Host-mb_session.
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 |
|---|---|---|---|---|
| X-CSRF-Token | Header | string | Ja | Wert des Browser-CSRF-Cookies. Bei einem zulässigen Maschinen-Verwaltungszugang nicht erforderlich. |
| Origin | Header | string; {"format":"uri"} | Nein | Muss, falls vorhanden, dem kanonischen HTTPS-Origin entsprechen. Sec-Fetch-Site cross-site wird abgewiesen. |
| workspace_id | URL-Parameter | string; {"format":"uuid"} | Ja | Begrenzen Sie die Liste auf einen zugänglichen Arbeitsbereich. |
Anfragekörper
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object; {"additionalProperties":false} | Ja | — |
| $.name | string; {"minLength":1,"maxLength":128} | Ja | — |
| $.definition | ReportingDefinition | Ja | — |
| $.definition.adjusted | boolean | Nein | — |
| $.definition.chart_sources | array<string; {"maxLength":200}>; {"maxItems":8} | Nein | — |
| $.definition.chart_sources[] | string; {"maxLength":200} | Ja | — |
| $.definition.filters | ReportingFilters | Ja | — |
| $.definition.filters.channel | string; {"enum":["","email","telegram","discord","slack","ntfy","webhook","webpush"]} | Nein | — |
| $.definition.filters.filesystem | string; {"maxLength":512} | Nein | — |
| $.definition.filters.group_ids | array<string; {"format":"uuid"}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.group_ids[] | string; {"format":"uuid"} | Ja | — |
| $.definition.filters.location_ids | array<string; {"format":"uuid"}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.location_ids[] | string; {"format":"uuid"} | Ja | — |
| $.definition.filters.monitor_ids | array<string; {"format":"uuid"}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.monitor_ids[] | string; {"format":"uuid"} | Ja | — |
| $.definition.filters.resource | string; {"enum":["","cpu","memory","filesystem","disk","network"]} | Nein | — |
| $.definition.filters.severity | string; {"enum":["","info","warning","critical"]} | Nein | — |
| $.definition.filters.types | array<string; {"maxLength":32}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.types[] | string; {"maxLength":32} | Ja | — |
| $.definition.granularity | string; {"enum":["hour","day","week","month"]} | Ja | — |
| $.definition.language | string; {"enum":["en","de"]} | Nein | — |
| $.definition.sections | array<string; {"enum":["overview","availability","incidents","mttr","mtta","response","maintenance","notifications","certificates","jobs","resources"]}>; {"maxItems":11,"minItems":1} | Ja | — |
| $.definition.sections[] | string; {"enum":["overview","availability","incidents","mttr","mtta","response","maintenance","notifications","certificates","jobs","resources"]} | Ja | — |
| $.definition.timezone | string; {"maxLength":64} | Ja | — |
| $.definition.version | integer; {"const":1} | Nein | — |
| $.period | ReportingPresetPeriod | Ja | Relative Zeiträume werden beim Öffnen neu berechnet. days=1 steht für genau 24 Stunden, auch bei Zeitumstellungen; 7, 30 und 90 stehen für Kalendertage. Feste Zeiträume behalten from/to. Bestehende Zeitraum- und Stundengrenzen gelten. |
| $.period.kind | string; {"enum":["relative","fixed"]} | Ja | — |
| $.period.days | integer; {"enum":[1,7,30,90]} | Nein | — |
| $.period.from | string; {"format":"date-time"} | Nein | — |
| $.period.to | string; {"format":"date-time"} | Nein | — |
| $.id | string; {"format":"uuid"} | Nein | — |
| $.expected_revision | integer; {"minimum":1} | 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 |
|---|---|---|---|
| $ | ReportingPreset | Ja | — |
| $.id | string; {"format":"uuid"} | Ja | — |
| $.revision | integer; {"minimum":1} | Ja | — |
| $.updated_at | string; {"format":"date-time"} | Ja | — |
| $.name | string; {"minLength":1,"maxLength":128} | Ja | — |
| $.definition | ReportingDefinition | Ja | — |
| $.definition.adjusted | boolean | Nein | — |
| $.definition.chart_sources | array<string; {"maxLength":200}>; {"maxItems":8} | Nein | — |
| $.definition.chart_sources[] | string; {"maxLength":200} | Ja | — |
| $.definition.filters | ReportingFilters | Ja | — |
| $.definition.filters.channel | string; {"enum":["","email","telegram","discord","slack","ntfy","webhook","webpush"]} | Nein | — |
| $.definition.filters.filesystem | string; {"maxLength":512} | Nein | — |
| $.definition.filters.group_ids | array<string; {"format":"uuid"}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.group_ids[] | string; {"format":"uuid"} | Ja | — |
| $.definition.filters.location_ids | array<string; {"format":"uuid"}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.location_ids[] | string; {"format":"uuid"} | Ja | — |
| $.definition.filters.monitor_ids | array<string; {"format":"uuid"}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.monitor_ids[] | string; {"format":"uuid"} | Ja | — |
| $.definition.filters.resource | string; {"enum":["","cpu","memory","filesystem","disk","network"]} | Nein | — |
| $.definition.filters.severity | string; {"enum":["","info","warning","critical"]} | Nein | — |
| $.definition.filters.types | array<string; {"maxLength":32}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.types[] | string; {"maxLength":32} | Ja | — |
| $.definition.granularity | string; {"enum":["hour","day","week","month"]} | Ja | — |
| $.definition.language | string; {"enum":["en","de"]} | Nein | — |
| $.definition.sections | array<string; {"enum":["overview","availability","incidents","mttr","mtta","response","maintenance","notifications","certificates","jobs","resources"]}>; {"maxItems":11,"minItems":1} | Ja | — |
| $.definition.sections[] | string; {"enum":["overview","availability","incidents","mttr","mtta","response","maintenance","notifications","certificates","jobs","resources"]} | Ja | — |
| $.definition.timezone | string; {"maxLength":64} | Ja | — |
| $.definition.version | integer; {"const":1} | Nein | — |
| $.period | ReportingPresetPeriod | Ja | Relative Zeiträume werden beim Öffnen neu berechnet. days=1 steht für genau 24 Stunden, auch bei Zeitumstellungen; 7, 30 und 90 stehen für Kalendertage. Feste Zeiträume behalten from/to. Bestehende Zeitraum- und Stundengrenzen gelten. |
| $.period.kind | string; {"enum":["relative","fixed"]} | Ja | — |
| $.period.days | integer; {"enum":[1,7,30,90]} | Nein | — |
| $.period.from | string; {"format":"date-time"} | Nein | — |
| $.period.to | string; {"format":"date-time"} | Nein | — |
| Stabile Fehlercodes |
|---|
| invalid_language |
| invalid_preferences |
| invalid_timezone |
| 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": 400,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| invalid_credential |
| unauthorized |
| 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": 401,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| browser_session_required |
| csrf |
| 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 |
|---|
| 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"
}| 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 |
|---|---|---|---|
| $ | ReportingPreset | Ja | — |
| $.id | string; {"format":"uuid"} | Ja | — |
| $.revision | integer; {"minimum":1} | Ja | — |
| $.updated_at | string; {"format":"date-time"} | Ja | — |
| $.name | string; {"minLength":1,"maxLength":128} | Ja | — |
| $.definition | ReportingDefinition | Ja | — |
| $.definition.adjusted | boolean | Nein | — |
| $.definition.chart_sources | array<string; {"maxLength":200}>; {"maxItems":8} | Nein | — |
| $.definition.chart_sources[] | string; {"maxLength":200} | Ja | — |
| $.definition.filters | ReportingFilters | Ja | — |
| $.definition.filters.channel | string; {"enum":["","email","telegram","discord","slack","ntfy","webhook","webpush"]} | Nein | — |
| $.definition.filters.filesystem | string; {"maxLength":512} | Nein | — |
| $.definition.filters.group_ids | array<string; {"format":"uuid"}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.group_ids[] | string; {"format":"uuid"} | Ja | — |
| $.definition.filters.location_ids | array<string; {"format":"uuid"}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.location_ids[] | string; {"format":"uuid"} | Ja | — |
| $.definition.filters.monitor_ids | array<string; {"format":"uuid"}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.monitor_ids[] | string; {"format":"uuid"} | Ja | — |
| $.definition.filters.resource | string; {"enum":["","cpu","memory","filesystem","disk","network"]} | Nein | — |
| $.definition.filters.severity | string; {"enum":["","info","warning","critical"]} | Nein | — |
| $.definition.filters.types | array<string; {"maxLength":32}>; {"maxItems":1000} | Nein | — |
| $.definition.filters.types[] | string; {"maxLength":32} | Ja | — |
| $.definition.granularity | string; {"enum":["hour","day","week","month"]} | Ja | — |
| $.definition.language | string; {"enum":["en","de"]} | Nein | — |
| $.definition.sections | array<string; {"enum":["overview","availability","incidents","mttr","mtta","response","maintenance","notifications","certificates","jobs","resources"]}>; {"maxItems":11,"minItems":1} | Ja | — |
| $.definition.sections[] | string; {"enum":["overview","availability","incidents","mttr","mtta","response","maintenance","notifications","certificates","jobs","resources"]} | Ja | — |
| $.definition.timezone | string; {"maxLength":64} | Ja | — |
| $.definition.version | integer; {"const":1} | Nein | — |
| $.period | ReportingPresetPeriod | Ja | Relative Zeiträume werden beim Öffnen neu berechnet. days=1 steht für genau 24 Stunden, auch bei Zeitumstellungen; 7, 30 und 90 stehen für Kalendertage. Feste Zeiträume behalten from/to. Bestehende Zeitraum- und Stundengrenzen gelten. |
| $.period.kind | string; {"enum":["relative","fixed"]} | Ja | — |
| $.period.days | integer; {"enum":[1,7,30,90]} | Nein | — |
| $.period.from | string; {"format":"date-time"} | Nein | — |
| $.period.to | string; {"format":"date-time"} | Nein | — |
| Stabile Fehlercodes |
|---|
| not_found |
| 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": 400,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| preset_conflict |
| 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": 400,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| invalid_preset |
| invalid_preset_sources |
| 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": 400,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| preset_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. |
| 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": 400,
"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 --request POST --header @"$HOME/.config/metribeacon/headers.txt" --header "Content-Type: application/json" --data-binary '{"id":"00000000-0000-4000-8000-000000000001","name":"Weekly overview","definition":{"version":1,"language":"en","timezone":"Europe/Berlin","sections":["availability"],"granularity":"day","filters":{"monitor_ids":[],"types":[],"group_ids":[],"location_ids":[]}},"period":{"kind":"relative","days":7}}' 'https://metribeacon.com/api/v1/account/reporting-presets?workspace_id=00000000-0000-4000-8000-000000000001'
import json
from pathlib import Path
from urllib.request import Request, HTTPRedirectHandler, build_opener
headers=json.loads((Path.home()/".config/metribeacon/headers.json").read_text())
class NoRedirect(HTTPRedirectHandler):
def redirect_request(self, request, fp, code, message, headers, target): return None
headers["Content-Type"]="application/json"
request=Request('https://metribeacon.com/api/v1/account/reporting-presets?workspace_id=00000000-0000-4000-8000-000000000001', data=json.dumps({'id': '00000000-0000-4000-8000-000000000001', 'name': 'Weekly overview', 'definition': {'version': 1, 'language': 'en', 'timezone': 'Europe/Berlin', 'sections': ['availability'], 'granularity': 'day', 'filters': {'monitor_ids': [], 'types': [], 'group_ids': [], 'location_ids': []}}, 'period': {'kind': 'relative', 'days': 7}}).encode(), headers=headers, method='POST')
with build_opener(NoRedirect).open(request, timeout=10) as response:
print(response.status)
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"));
headers["Content-Type"]="application/json";
const response=await fetch("https://metribeacon.com/api/v1/account/reporting-presets?workspace_id=00000000-0000-4000-8000-000000000001",{method:"POST",headers,redirect:"error",signal:AbortSignal.timeout(10000),body:JSON.stringify({"id":"00000000-0000-4000-8000-000000000001","name":"Weekly overview","definition":{"version":1,"language":"en","timezone":"Europe/Berlin","sections":["availability"],"granularity":"day","filters":{"monitor_ids":[],"types":[],"group_ids":[],"location_ids":[]}},"period":{"kind":"relative","days":7}})});
console.log(response.status); await response.body?.cancel();
package main
import("encoding/json";"fmt";"net/http";"os";"path/filepath";"time";"strings")
func main(){home,e:=os.UserHomeDir();if e!=nil{return};raw,e:=os.ReadFile(filepath.Join(home,".config/metribeacon/headers.json"));if e!=nil{return};var headers map[string]string;if json.Unmarshal(raw,&headers)!=nil{return};req,e:=http.NewRequest("POST","https://metribeacon.com/api/v1/account/reporting-presets?workspace_id=00000000-0000-4000-8000-000000000001",strings.NewReader("{\"id\":\"00000000-0000-4000-8000-000000000001\",\"name\":\"Weekly overview\",\"definition\":{\"version\":1,\"language\":\"en\",\"timezone\":\"Europe/Berlin\",\"sections\":[\"availability\"],\"granularity\":\"day\",\"filters\":{\"monitor_ids\":[],\"types\":[],\"group_ids\":[],\"location_ids\":[]}},\"period\":{\"kind\":\"relative\",\"days\":7}}"));if e!=nil{return};for k,v:=range headers{req.Header.Set(k,v)};req.Header.Set("Content-Type","application/json");client:=&http.Client{Timeout:10*time.Second,CheckRedirect:func(*http.Request,[]*http.Request)error{return http.ErrUseLastResponse}};res,e:=client.Do(req);if e!=nil{return};defer res.Body.Close();fmt.Println(res.StatusCode)}
Verwandte Anleitungen
- HTTP-API, OAuth und MCP
Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.
- GET Persönliche Berichtsauswahlen auflisten
Persönliche Präferenzen für einen zugänglichen Arbeitsbereich, ausschließlich per Browsersitzung. Bis zu 50 benannte Auswahlen je Person und Arbeitsbereich, auch für Betrachter. Gespeichert werden Definition, Filter und Zeitraum, keine Ergebnisse oder Berechnungsaufträge. Änderungen benötigen CSRF. Nach verlorener Antwort dieselbe clientseitige ID und denselben Anlageinhalt wiederholen. Ändern und Löschen benötigen die aktuelle expected_revision; veraltete Änderungen liefern 409. Quellenrechte und Ergebnisfristen bleiben unverändert.
- PUT Persönliche Berichtsauswahl ändern
Persönliche Präferenzen für einen zugänglichen Arbeitsbereich, ausschließlich per Browsersitzung. Bis zu 50 benannte Auswahlen je Person und Arbeitsbereich, auch für Betrachter. Gespeichert werden Definition, Filter und Zeitraum, keine Ergebnisse oder Berechnungsaufträge. Änderungen benötigen CSRF. Nach verlorener Antwort dieselbe clientseitige ID und denselben Anlageinhalt wiederholen. Ändern und Löschen benötigen die aktuelle expected_revision; veraltete Änderungen liefern 409. Quellenrechte und Ergebnisfristen bleiben unverändert.
- DELETE Persönliche Berichtsauswahl löschen
Persönliche Präferenzen für einen zugänglichen Arbeitsbereich, ausschließlich per Browsersitzung. Bis zu 50 benannte Auswahlen je Person und Arbeitsbereich, auch für Betrachter. Gespeichert werden Definition, Filter und Zeitraum, keine Ergebnisse oder Berechnungsaufträge. Änderungen benötigen CSRF. Nach verlorener Antwort dieselbe clientseitige ID und denselben Anlageinhalt wiederholen. Ändern und Löschen benötigen die aktuelle expected_revision; veraltete Änderungen liefern 409. Quellenrechte und Ergebnisfristen bleiben unverändert.