POST Lokale und archivierte Historie abfragen
/api/v1/series/{id}/history/queries
Mit prefer_local=true werden sicher vollständige lokale Rohwertdiagramme sofort ohne Auftrag zurückgegeben. Andere Abfragen kombinieren lokale und archivierte Historie über einen asynchronen Auftrag. Diagramme liefern höchstens 1.000 Punkte, Tabellen 2.000 Zeilen je Seite. Auto wählt eine passende Auflösung. Ergebnisse enthalten tatsächliche Auflösung, Quelle, Vollständigkeit, Snapshot und Lücken; Zustandsergebnisse zusätzlich validity_seconds. Ein Tabellencursor ist eine eigene abgeschlossene Auftrags-UUID und erhält die Messzeit-/Punkt-ID-Sortierung. Aufträge und Cursor verfallen nach einem Tag. Höchstens zwei aktive Aufträge je Konto. Originalwertdiagramme erlauben höchstens 1.000 erwartete Punkte. Dichtere Anfragen liefern HTTP 422 mit dem Code invalid_resolution, message_key errors.api.historyChartTooDense sowie message_params.limit und message_params.interval_seconds. Verwenden Sie resolution=auto für ein Diagramm oder mode=table mit resolution=raw für eine paginierte Originalwerttabelle innerhalb der Aufbewahrung.
Auf dieser Seite
Zugriff und Rechte
Mit prefer_local=true werden sicher vollständige lokale Rohwertdiagramme sofort ohne Auftrag zurückgegeben. Andere Abfragen kombinieren lokale und archivierte Historie über einen asynchronen Auftrag. Diagramme liefern höchstens 1.000 Punkte, Tabellen 2.000 Zeilen je Seite. Auto wählt eine passende Auflösung. Ergebnisse enthalten tatsächliche Auflösung, Quelle, Vollständigkeit, Snapshot und Lücken; Zustandsergebnisse zusätzlich validity_seconds. Ein Tabellencursor ist eine eigene abgeschlossene Auftrags-UUID und erhält die Messzeit-/Punkt-ID-Sortierung. Aufträge und Cursor verfallen nach einem Tag. Höchstens zwei aktive Aufträge je Konto. Originalwertdiagramme erlauben höchstens 1.000 erwartete Punkte. Dichtere Anfragen liefern HTTP 422 mit dem Code invalid_resolution, message_key errors.api.historyChartTooDense sowie message_params.limit und message_params.interval_seconds. Verwenden Sie resolution=auto für ein Diagramm oder mode=table mit resolution=raw für eine paginierte Originalwerttabelle innerhalb der Aufbewahrung.
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 |
|---|---|---|---|
| $ | object; {"additionalProperties":false} | Ja | — |
| $.cursor | string; {"format":"uuid"} | Nein | table für Cursor-Pagination nach Filterung und Aggregation. Die App zeigt bis zu 50 Zeilen; Zustandskategorien zählen einzeln. Historienauftrags-Cursor verfallen nach einem Tag. |
| $.from | string; {"format":"date-time"} | Nein | Einschließlicher Beginn des angefragten UTC-Zeitraums in RFC 3339. |
| $.limit | integer; {"maximum":2000,"minimum":1} | Nein | Diagramme höchstens 1000; Tabellen höchstens 2000 |
| $.mode | string; {"enum":["chart","table"]} | Nein | table für Cursor-Pagination nach Filterung und Aggregation. Die App zeigt bis zu 50 Zeilen; Zustandskategorien zählen einzeln. Historienauftrags-Cursor verfallen nach einem Tag. |
| $.prefer_local | boolean; {"default":false} | Nein | Diagramme über höchstens 24 Stunden können numerische Rohwerte oder Originalzustände mit höchstens 1.000 Punkten direkt liefern, wenn die lokale Vollständigkeit nachgewiesen ist. Ausgelagerte, dichtere oder ungeeignete Bereiche bleiben asynchron. |
| $.resolution | string; {"default":"auto","enum":["auto","raw","minute","quarter_hour","hour"]} | Nein | Gewünschte Datenauflösung. Aggregate fassen ein Zeitintervall zusammen und rekonstruieren nicht jeden ursprünglichen Messwert. |
| $.to | string; {"format":"date-time"} | Nein | Ausschließliches Ende des angefragten UTC-Zeitraums in RFC 3339. Muss nach from liegen. |
| $.display_seconds | integer; {"minimum":0} | Nein | Gewünschtes Tabellen-Zeitfenster in Sekunden als Vielfaches der nativen Auflösung. display_seconds des Diagrammergebnisses erhält die Aggregation unabhängig von der Tabellenseitengröße. |
| $.filters | object; {"additionalProperties":false} | Nein | Tabellenfilter nach Aggregation über lokale und archivierte Daten. Numerische exact/minimum/maximum vergleichen den Rohwert oder Aggregatmittelwert in Originaleinheit mit inklusiven Grenzen; q und state filtern Zustandstext/Kategorien. Ereignistabellen verwenden q für den Ereignistyp sowie event_type und severity. Filter verändern die Aggregation nicht. |
| $.filters.event_type | string; {"maxLength":128} | Nein | — |
| $.filters.exact | number | Nein | — |
| $.filters.maximum | number | Nein | — |
| $.filters.minimum | number | Nein | — |
| $.filters.q | string; {"maxLength":128} | Nein | — |
| $.filters.severity | string; {"maxLength":128} | Nein | — |
| $.filters.state | string; {"maxLength":128} | Nein | — |
| $.order | string; {"enum":["oldest","newest"],"default":"oldest"} | Nein | Tabellensortierung: newest (neueste zuerst) oder oldest (älteste zuerst, Standard). Der Cursor behält Sortierung und Datenstand bei. Diagramme bleiben chronologisch. |
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 | — |
| $.resolution | string | Ja | Gewünschte Datenauflösung. Aggregate fassen ein Zeitintervall zusammen und rekonstruieren nicht jeden ursprünglichen Messwert. |
| $.result | object | null | Ja | Ergebnis der abgeschlossenen Operation. Gemäß Schema null oder fehlend, solange kein Ergebnis verfügbar ist. |
| $.result (anyOf 1) | object | Nein | — |
| $.result (anyOf 1).completeness | string | Ja | — |
| $.result (anyOf 1).display_seconds | integer | Ja | — |
| $.result (anyOf 1).gaps | array<object> | Ja | — |
| $.result (anyOf 1).gaps[] | object | Ja | — |
| $.result (anyOf 1).gaps[].from | string; {"format":"date-time"} | Ja | Einschließlicher Beginn des angefragten UTC-Zeitraums in RFC 3339. |
| $.result (anyOf 1).gaps[].reason | string | Ja | Kurze Erklärung der gewählten Wartung oder Aufmerksamkeitssituation. |
| $.result (anyOf 1).gaps[].to | string; {"format":"date-time"} | Ja | Ausschließliches Ende des angefragten UTC-Zeitraums in RFC 3339. Muss nach from liegen. |
| $.result (anyOf 1).kind | string | Ja | Ressourcenart oder Messwerttyp aus den angegebenen Werten. |
| $.result (anyOf 1).name | string | Ja | Lesbarer Ressourcenname. Beachten Sie die angegebene Längengrenze. |
| $.result (anyOf 1).next_cursor | string | Nein | Zeiger auf die nächste Seite; null oder leer gemäß Schema bedeutet das Ende der aktuellen Liste. |
| $.result (anyOf 1).points | array<object> | Ja | — |
| $.result (anyOf 1).points[] | object | Ja | — |
| $.result (anyOf 1).points[].count | integer | Nein | Anzahl durch diesen Eintrag repräsentierter Messwerte oder Ressourcen. |
| $.result (anyOf 1).points[].counter_epoch | string | Nein | — |
| $.result (anyOf 1).points[].counter_increase | number | null | Nein | Über angenommene aufeinanderfolgende Messungen summierter Zähleranstieg; null wenn nicht anwendbar. |
| $.result (anyOf 1).points[].counter_increase (anyOf 1) | number | Nein | — |
| $.result (anyOf 1).points[].counter_increase (anyOf 2) | null | Nein | — |
| $.result (anyOf 1).points[].counter_resets | integer | null | Nein | Anzahl erkannter Zählerrücksetzungen im Aggregat; null wenn nicht anwendbar. |
| $.result (anyOf 1).points[].counter_resets (anyOf 1) | integer | Nein | — |
| $.result (anyOf 1).points[].counter_resets (anyOf 2) | null | Nein | — |
| $.result (anyOf 1).points[].first_counter_epoch | string | Nein | — |
| $.result (anyOf 1).points[].last | number | Ja | Letzter angenommener numerischer Wert im Intervall. |
| $.result (anyOf 1).points[].last_at | string; {"format":"date-time"} | Ja | Zeitpunkt des letzten angenommenen Messwerts im Intervall. |
| $.result (anyOf 1).points[].max | number | Ja | Größter beobachteter numerischer Wert im Intervall. |
| $.result (anyOf 1).points[].mean | number | Ja | Arithmetisches Mittel angenommener Messwerte im Intervall; keine zeitgewichtete Interpolation. |
| $.result (anyOf 1).points[].min | number | Ja | Kleinster beobachteter numerischer Wert im Intervall. |
| $.result (anyOf 1).points[].point_id | string | Nein | — |
| $.result (anyOf 1).points[].source_received_until | string; {"format":"date-time"} | Ja | Eingangs-Wasserstand der Quelle zur Bewertung der Aggregatvollständigkeit. |
| $.result (anyOf 1).points[].state_value | string | null | Nein | — |
| $.result (anyOf 1).points[].state_value (anyOf 1) | string | Nein | — |
| $.result (anyOf 1).points[].state_value (anyOf 2) | null | Nein | — |
| $.result (anyOf 1).points[].states | object | Nein | — |
| $.result (anyOf 1).points[].sum | number | Nein | Summe angenommener numerischer Messwerte im Intervall. |
| $.result (anyOf 1).points[].time | string; {"format":"date-time"} | Ja | UTC-Messzeitpunkt oder Beginn des Aggregationsintervalls gemäß gewählter Auflösung. |
| $.result (anyOf 1).points[].value | number | null | Nein | — |
| $.result (anyOf 1).points[].value (anyOf 1) | number | Nein | — |
| $.result (anyOf 1).points[].value (anyOf 2) | null | Nein | — |
| $.result (anyOf 1).resolution | string | Ja | Gewünschte Datenauflösung. Aggregate fassen ein Zeitintervall zusammen und rekonstruieren nicht jeden ursprünglichen Messwert. |
| $.result (anyOf 1).series_id | string | Ja | UUID der Messreihe des freigegebenen Geräts. |
| $.result (anyOf 1).snapshot | string; {"format":"date-time"} | Ja | — |
| $.result (anyOf 1).source | string | Ja | Quelle der zurückgegebenen Daten oder des Diagnoseeintrags. |
| $.result (anyOf 1).truncated | boolean | Ja | True wenn die begrenzte Antwort weitere Einträge auslässt. Verkleinern Sie den Zeitraum oder verwenden Sie den dokumentierten Job- oder Seitenablauf. |
| $.result (anyOf 1).unit | string | Ja | Anzeigeeinheit einer numerischen Reihe; eingehende Werte werden dadurch nicht automatisch umgerechnet. |
| $.result (anyOf 1).validity_seconds | integer | Nein | — |
| $.result (anyOf 2) | null | Nein | — |
| $.snapshot | string; {"format":"date-time"} | Ja | — |
| $.status | string; {"const":"complete"} | Ja | — |
{
"resolution": "minute",
"result": {
"completeness": "complete",
"display_seconds": 60,
"gaps": [],
"kind": "gauge",
"name": "Synthetic CPU",
"points": [],
"resolution": "minute",
"series_id": "11111111-1111-4111-8111-111111111111",
"snapshot": "2026-09-30T12:00:00Z",
"source": "local",
"truncated": false,
"unit": "%"
},
"snapshot": "2026-09-30T12:00:00Z",
"status": "complete"
}| 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 | — |
| $.display_seconds | integer | Ja | — |
| $.id | string | Ja | UUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf. |
| $.resolution | string | Ja | Gewünschte Datenauflösung. Aggregate fassen ein Zeitintervall zusammen und rekonstruieren nicht jeden ursprünglichen Messwert. |
| $.snapshot | string; {"format":"date-time"} | Ja | — |
| $.status | string; {"const":"queued"} | Ja | — |
| $.status_url | string | Ja | — |
{
"display_seconds": 60,
"id": "22222222-2222-4222-8222-222222222222",
"resolution": "minute",
"snapshot": "2026-09-30T12:00:00Z",
"status": "queued",
"status_url": "/api/v1/archive/jobs/22222222-2222-4222-8222-222222222222"
}| 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 |
|---|
| 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 |
|---|
| invalid_cursor |
| 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": 404,
"title": "Demo error",
"type": "about:blank"
}| Stabile Fehlercodes |
|---|
| invalid_cursor |
| invalid_kind |
| invalid_query |
| invalid_resolution |
| invalid_filters |
| 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 |
|---|
| query_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 |
|---|
| 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.
HTTP 202 bedeutet, dass der Hintergrundauftrag angenommen wurde. Prüfen Sie seinen Status mit der zurückgegebenen Auftragskennung. Laden Sie Ergebnisse nach dem Abschluss herunter oder lesen Sie den Fehler- beziehungsweise Abbruchstatus.
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 POST \
--header @"$HOME/.config/metribeacon/headers.txt" \
--header "Content-Type: application/json" \
--data-binary '{}' \
"https://metribeacon.com/api/v1/series/00000000-0000-4000-8000-000000000001/history/queries"
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/series/00000000-0000-4000-8000-000000000001/history/queries", data="{}".encode("utf-8"), headers=headers, method="POST")
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"));
headers["Content-Type"] = "application/json";
const response = await fetch("https://metribeacon.com/api/v1/series/00000000-0000-4000-8000-000000000001/history/queries", {
method: "POST", headers, redirect: "manual",
signal: AbortSignal.timeout(10000), body: "{}",
});
console.log(response.status);
await response.body?.cancel();
package main
import (
"fmt"
"net/http"
"time"
"encoding/json"
"os"
"path/filepath"
"strings"
)
func main() {
home, err := os.UserHomeDir(); if err != nil { panic("request failed; credentials and response omitted") }
raw, err := os.ReadFile(filepath.Join(home, ".config/metribeacon/headers.json")); if err != nil { panic("request failed; credentials and response omitted") }
var headers map[string]string
if json.Unmarshal(raw, &headers) != nil { panic("invalid local headers") }
request, err := http.NewRequest("POST", "https://metribeacon.com/api/v1/series/00000000-0000-4000-8000-000000000001/history/queries", strings.NewReader("{}"))
if err != nil { panic("request failed; credentials and response omitted") }
for name, value := range headers { request.Header.Set(name, value) }
request.Header.Set("Content-Type", "application/json")
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; credentials and response omitted") }
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.
- GET Vorfälle und Wartung im Reihenzeitraum lesen
Vorfälle und Wartung im Reihenzeitraum lesen.
- DELETE Messreihe archivieren und ihre Alarmvorfälle schließen
Messreihe archivieren und ihre Alarmvorfälle schließen.
- PATCH Reihennamen, Beschreibung oder erwartetes Intervall ändern
Typ, Einheit und Labels sind nach der Anlage unveränderlich. Nur die dokumentierten veränderbaren Felder können geändert werden.