POST Einrichtungsressourcen atomar wählen oder erstellen
/api/v1/onboarding/resources
Ressourcen vorbereiten oder die gespeicherte Auswahl ausdrücklich mit replace_existing=true und ihrer Version expected_updated_at ändern. Unveränderte Auswahlen und identische Wiederholungen erhalten den Fortschritt ohne neue Ressourcen. Änderungen erfolgen atomar, erhalten vorhandene Ressourcen und Schlüssel, übernehmen einen Schlüssel nur für dasselbe Gerät und benötigen ein neues Lebenszeichen und einen Messwert für die resultierenden Reihen. Veraltete Versionen liefern 409 onboarding_changed.
Auf dieser Seite
Zugriff und Rechte
Ressourcen vorbereiten oder die gespeicherte Auswahl ausdrücklich mit replace_existing=true und ihrer Version expected_updated_at ändern. Unveränderte Auswahlen und identische Wiederholungen erhalten den Fortschritt ohne neue Ressourcen. Änderungen erfolgen atomar, erhalten vorhandene Ressourcen und Schlüssel, übernehmen einen Schlüssel nur für dasselbe Gerät und benötigen ein neues Lebenszeichen und einen Messwert für die resultierenden Reihen. Veraltete Versionen liefern 409 onboarding_changed.
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 |
|---|---|---|---|---|
| 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 | Ja | 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 | — |
| $.device_id | string; {"format":"uuid"} | Nein | UUID des Zielgeräts oder Monitors. Der Schreibschlüssel muss dieses Gerät erlauben. |
| $.device_name | string; {"maxLength":128} | Nein | — |
| $.expected_updated_at | string; {"format":"date-time"} | Nein | Der Zeitstempel updated_at aus der gespeicherten Einrichtung. Verhindert das Überschreiben einer zwischenzeitlich geänderten Auswahl; identische Wiederholungen bleiben sicher. |
| $.integration | string; {"enum":["agent","api"]} | Ja | — |
| $.replace_existing | boolean; {"default":false} | Nein | Eine geänderte gespeicherte Auswahl ausdrücklich bestätigen. Benötigt expected_updated_at; vorhandene Ressourcen und Zugangsdaten bleiben erhalten. |
| $.workspace_id | string; {"format":"uuid"} | Nein | UUID des zugehörigen Arbeitsbereichs. Zugriff wird gegen das angemeldete Konto geprüft. |
| $.workspace_name | string; {"maxLength":128} | Nein | — |
| $.platform | string; {"enum":["linux","darwin","windows"]} | Nein | Erwartetes Betriebssystem für ein neues Agent-Profil. Es bestätigt nicht die tatsächliche Geräteplattform. Die Bestätigung im Browser verwendet das vom Agenten gemeldete Betriebssystem, die Architektur und das Systemlaufwerk. Bestehende Profile bleiben unverändert; ein ausdrücklich abweichendes Profil wird abgewiesen und nicht still ignoriert. |
| $.server_profile | ServerProfileRequest | Nein | — |
| $.server_profile.components | array<object>; {"maxItems":200} | null | Nein | Erkannte oder ausdrücklich ausgewählte Serverkomponenten. |
| $.server_profile.components (anyOf 1) | array<object>; {"maxItems":200} | Nein | — |
| $.server_profile.components (anyOf 1)[] | object | Ja | — |
| $.server_profile.components (anyOf 1)[].address | string | Nein | — |
| $.server_profile.components (anyOf 1)[].family | string | Nein | — |
| $.server_profile.components (anyOf 1)[].id | string | Ja | UUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf. |
| $.server_profile.components (anyOf 1)[].kind | string | Ja | Ressourcenart oder Messwerttyp aus den angegebenen Werten. |
| $.server_profile.components (anyOf 1)[].label | string; {"maxLength":128,"minLength":1} | Ja | Anzeigename der Komponente. |
| $.server_profile.components (anyOf 1)[].local_ref | string | Nein | — |
| $.server_profile.components (anyOf 1)[].name | string | Nein | Lesbarer Ressourcenname. Beachten Sie die angegebene Längengrenze. |
| $.server_profile.components (anyOf 1)[].path | string; {"maxLength":1024} | Nein | — |
| $.server_profile.components (anyOf 1)[].port | integer | Nein | — |
| $.server_profile.components (anyOf 1)[].project | string | Nein | — |
| $.server_profile.components (anyOf 1)[].protocol | string | Nein | — |
| $.server_profile.components (anyOf 1)[].text_languages | object | Nein | — |
| $.server_profile.components (anyOf 1)[].timeout_seconds | integer | Nein | — |
| $.server_profile.components (anyOf 1)[].translations | object; {"additionalProperties":false} | Nein | — |
| $.server_profile.components (anyOf 1)[].translations.de | object | Nein | — |
| $.server_profile.components (anyOf 1)[].translations.en | object | Nein | — |
| $.server_profile.components (anyOf 1)[].transport | string | Nein | — |
| $.server_profile.components (anyOf 1)[].filesystem_identity | string; {"maxLength":256} | Nein | Vom Agenten gemeldete Volumeidentität. Unverändert beibehalten, damit ein Ersatzvolume nicht die Historie eines anderen Volumes fortsetzt. |
| $.server_profile.components (anyOf 1)[].disk_identity | string; {"maxLength":256} | Nein | — |
| $.server_profile.components (anyOf 2) | null | Nein | — |
| $.server_profile.selections | array<object>; {"maxItems":200} | null | Nein | Gewählte Komponenten-/Parameterpaare mit Abtastintervallen. |
| $.server_profile.selections (anyOf 1) | array<object>; {"maxItems":200} | Nein | — |
| $.server_profile.selections (anyOf 1)[] | object | Ja | — |
| $.server_profile.selections (anyOf 1)[].component_id | string | Ja | Stabile Kennung der gewählten oder erkannten Komponente. |
| $.server_profile.selections (anyOf 1)[].interval_seconds | integer; {"maximum":86400,"minimum":0} | Nein | Abtast- oder Prüfintervall in Sekunden innerhalb der angegebenen Grenzen. |
| $.server_profile.selections (anyOf 1)[].parameter_key | string | Ja | Stabile Parameterkennung aus dem Serverkatalog. |
| $.server_profile.selections (anyOf 2) | null | Nein | — |
| $.server_profile.version | JSON; {"const":2} | Ja | — |
| $.server_profile.overview | object; {"additionalProperties":false} | Nein | Ausdrückliche Ziele für die Serverübersicht mit sechs Diagrammen; wählen Sie alle benötigten Messwerte aus. |
| $.server_profile.overview.system_id | string; {"maxLength":128} | Ja | — |
| $.server_profile.overview.filesystem_id | string; {"maxLength":128} | Ja | — |
| $.server_profile.overview.disk_id | string; {"maxLength":128} | Ja | — |
| $.server_profile.overview.network_id | string; {"maxLength":128} | Ja | — |
| $.server_profile.filesystem_discovery | object; {"additionalProperties":false} | Nein | Optionale Erkennung lokaler Dateisysteme mit einem Grundintervall von mindestens 10 Sekunden. Neue Server/NAS-Einrichtungen aktivieren sie. Bestehende Profile benötigen eine ausdrückliche Aktivierung. Manuell deaktivierte Messreihen bleiben erhalten. |
| $.server_profile.filesystem_discovery.mode | string; {"enum":["off","local"]} | Ja | — |
| $.server_profile.filesystem_discovery.interval_seconds | integer; {"minimum":10,"maximum":86400} | Ja | — |
| $.server_profile.system_discovery | object; {"additionalProperties":false} | Nein | — |
| $.server_profile.system_discovery.mode | string; {"enum":["off","local"]} | Ja | — |
| $.server_profile.system_discovery.interval_seconds | integer; {"minimum":10,"maximum":86400} | Ja | — |
| $.server_profile.global_interval_seconds | integer; {"minimum":1,"maximum":86400} | Nein | Ausdrückliche globale Intervallauswahl. Jede Quelle behält ihr Plattformminimum; einzelne schnelle Reihen gelten nicht als globale Auswahl. |
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 | — |
| $.flow | object | Ja | — |
| $.flow.alarm_id | string | null | Ja | — |
| $.flow.alarm_id (anyOf 1) | string | Nein | — |
| $.flow.alarm_id (anyOf 2) | null | Nein | — |
| $.flow.completed_at | string; {"format":"date-time"} | null | Ja | Abschlusszeitpunkt; null solange kein Abschluss erfasst ist. |
| $.flow.completed_at (anyOf 1) | string; {"format":"date-time"} | Nein | — |
| $.flow.completed_at (anyOf 2) | null | Nein | — |
| $.flow.created_at | string; {"format":"date-time"} | Ja | Erstellungszeitpunkt in RFC 3339 UTC. |
| $.flow.device_id | string | Ja | UUID des Zielgeräts oder Monitors. Der Schreibschlüssel muss dieses Gerät erlauben. |
| $.flow.heartbeat_confirmed_at | string; {"format":"date-time"} | null | Ja | — |
| $.flow.heartbeat_confirmed_at (anyOf 1) | string; {"format":"date-time"} | Nein | — |
| $.flow.heartbeat_confirmed_at (anyOf 2) | null | Nein | — |
| $.flow.integration | string | Ja | — |
| $.flow.key_id | string | null | Ja | — |
| $.flow.key_id (anyOf 1) | string | Nein | — |
| $.flow.key_id (anyOf 2) | null | Nein | — |
| $.flow.measurement_confirmed_at | string; {"format":"date-time"} | null | Ja | Zeitpunkt, an dem ein ausgewählter Zahlen- oder Zustandswert nach Beginn der Einrichtung tatsächlich empfangen und gespeichert wurde. Die Agent-Messreihen können erst nach der Profilbereitstellung zugeordnet werden. Ein Installer-Ergebnis, Prozessstatus oder nicht ausgewählter Wert bestätigt den Empfang nicht. |
| $.flow.measurement_confirmed_at (anyOf 1) | string; {"format":"date-time"} | Nein | — |
| $.flow.measurement_confirmed_at (anyOf 2) | null | Nein | — |
| $.flow.series | object | Ja | — |
| $.flow.updated_at | string; {"format":"date-time"} | Ja | Version der gespeicherten Einrichtung zur Bestätigung einer Auswahländerung. |
| $.flow.workspace_id | string | Ja | UUID des zugehörigen Arbeitsbereichs. Zugriff wird gegen das angemeldete Konto geprüft. |
| $.flow.server_profile | ServerProfileRequest | Nein | — |
| $.flow.server_profile.components | array<object>; {"maxItems":200} | null | Nein | Erkannte oder ausdrücklich ausgewählte Serverkomponenten. |
| $.flow.server_profile.components (anyOf 1) | array<object>; {"maxItems":200} | Nein | — |
| $.flow.server_profile.components (anyOf 1)[] | object | Ja | — |
| $.flow.server_profile.components (anyOf 1)[].address | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].family | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].id | string | Ja | UUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf. |
| $.flow.server_profile.components (anyOf 1)[].kind | string | Ja | Ressourcenart oder Messwerttyp aus den angegebenen Werten. |
| $.flow.server_profile.components (anyOf 1)[].label | string; {"maxLength":128,"minLength":1} | Ja | Anzeigename der Komponente. |
| $.flow.server_profile.components (anyOf 1)[].local_ref | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].name | string | Nein | Lesbarer Ressourcenname. Beachten Sie die angegebene Längengrenze. |
| $.flow.server_profile.components (anyOf 1)[].path | string; {"maxLength":1024} | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].port | integer | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].project | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].protocol | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].text_languages | object | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].timeout_seconds | integer | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].translations | object; {"additionalProperties":false} | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].translations.de | object | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].translations.en | object | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].transport | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].filesystem_identity | string; {"maxLength":256} | Nein | Vom Agenten gemeldete Volumeidentität. Unverändert beibehalten, damit ein Ersatzvolume nicht die Historie eines anderen Volumes fortsetzt. |
| $.flow.server_profile.components (anyOf 1)[].disk_identity | string; {"maxLength":256} | Nein | — |
| $.flow.server_profile.components (anyOf 2) | null | Nein | — |
| $.flow.server_profile.selections | array<object>; {"maxItems":200} | null | Nein | Gewählte Komponenten-/Parameterpaare mit Abtastintervallen. |
| $.flow.server_profile.selections (anyOf 1) | array<object>; {"maxItems":200} | Nein | — |
| $.flow.server_profile.selections (anyOf 1)[] | object | Ja | — |
| $.flow.server_profile.selections (anyOf 1)[].component_id | string | Ja | Stabile Kennung der gewählten oder erkannten Komponente. |
| $.flow.server_profile.selections (anyOf 1)[].interval_seconds | integer; {"maximum":86400,"minimum":0} | Nein | Abtast- oder Prüfintervall in Sekunden innerhalb der angegebenen Grenzen. |
| $.flow.server_profile.selections (anyOf 1)[].parameter_key | string | Ja | Stabile Parameterkennung aus dem Serverkatalog. |
| $.flow.server_profile.selections (anyOf 2) | null | Nein | — |
| $.flow.server_profile.version | JSON; {"const":2} | Ja | — |
| $.flow.server_profile.overview | object; {"additionalProperties":false} | Nein | Ausdrückliche Ziele für die Serverübersicht mit sechs Diagrammen; wählen Sie alle benötigten Messwerte aus. |
| $.flow.server_profile.overview.system_id | string; {"maxLength":128} | Ja | — |
| $.flow.server_profile.overview.filesystem_id | string; {"maxLength":128} | Ja | — |
| $.flow.server_profile.overview.disk_id | string; {"maxLength":128} | Ja | — |
| $.flow.server_profile.overview.network_id | string; {"maxLength":128} | Ja | — |
| $.flow.server_profile.filesystem_discovery | object; {"additionalProperties":false} | Nein | Optionale Erkennung lokaler Dateisysteme mit einem Grundintervall von mindestens 10 Sekunden. Neue Server/NAS-Einrichtungen aktivieren sie. Bestehende Profile benötigen eine ausdrückliche Aktivierung. Manuell deaktivierte Messreihen bleiben erhalten. |
| $.flow.server_profile.filesystem_discovery.mode | string; {"enum":["off","local"]} | Ja | — |
| $.flow.server_profile.filesystem_discovery.interval_seconds | integer; {"minimum":10,"maximum":86400} | Ja | — |
| $.flow.server_profile.system_discovery | object; {"additionalProperties":false} | Nein | — |
| $.flow.server_profile.system_discovery.mode | string; {"enum":["off","local"]} | Ja | — |
| $.flow.server_profile.system_discovery.interval_seconds | integer; {"minimum":10,"maximum":86400} | Ja | — |
| $.flow.server_profile.global_interval_seconds | integer; {"minimum":1,"maximum":86400} | Nein | Ausdrückliche globale Intervallauswahl. Jede Quelle behält ihr Plattformminimum; einzelne schnelle Reihen gelten nicht als globale Auswahl. |
| $.flow.profile_revision | integer; {"minimum":0} | Nein | — |
| $.flow.platform | string; {"enum":["linux","darwin","windows"]} | Nein | Erwartetes Betriebssystem für ein neues Agent-Profil. Es bestätigt nicht die tatsächliche Geräteplattform. Die Bestätigung im Browser verwendet das vom Agenten gemeldete Betriebssystem, die Architektur und das Systemlaufwerk. Bestehende Profile bleiben unverändert; ein ausdrücklich abweichendes Profil wird abgewiesen und nicht still ignoriert. |
| $.replayed | boolean | Ja | — |
{
"flow": {
"alarm_id": "demo",
"completed_at": "2026-09-30T12:00:00Z",
"created_at": "2026-09-30T12:00:00Z",
"device_id": "demo",
"heartbeat_confirmed_at": "2026-09-30T12:00:00Z",
"integration": "demo",
"key_id": "demo",
"measurement_confirmed_at": "2026-09-30T12:00:00Z",
"series": {},
"updated_at": "2026-09-30T12:00:00Z",
"workspace_id": "demo"
},
"replayed": false
}| 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 | — |
| $.flow | object | Ja | — |
| $.flow.alarm_id | string | null | Ja | — |
| $.flow.alarm_id (anyOf 1) | string | Nein | — |
| $.flow.alarm_id (anyOf 2) | null | Nein | — |
| $.flow.completed_at | string; {"format":"date-time"} | null | Ja | Abschlusszeitpunkt; null solange kein Abschluss erfasst ist. |
| $.flow.completed_at (anyOf 1) | string; {"format":"date-time"} | Nein | — |
| $.flow.completed_at (anyOf 2) | null | Nein | — |
| $.flow.created_at | string; {"format":"date-time"} | Ja | Erstellungszeitpunkt in RFC 3339 UTC. |
| $.flow.device_id | string | Ja | UUID des Zielgeräts oder Monitors. Der Schreibschlüssel muss dieses Gerät erlauben. |
| $.flow.heartbeat_confirmed_at | string; {"format":"date-time"} | null | Ja | — |
| $.flow.heartbeat_confirmed_at (anyOf 1) | string; {"format":"date-time"} | Nein | — |
| $.flow.heartbeat_confirmed_at (anyOf 2) | null | Nein | — |
| $.flow.integration | string | Ja | — |
| $.flow.key_id | string | null | Ja | — |
| $.flow.key_id (anyOf 1) | string | Nein | — |
| $.flow.key_id (anyOf 2) | null | Nein | — |
| $.flow.measurement_confirmed_at | string; {"format":"date-time"} | null | Ja | Zeitpunkt, an dem ein ausgewählter Zahlen- oder Zustandswert nach Beginn der Einrichtung tatsächlich empfangen und gespeichert wurde. Die Agent-Messreihen können erst nach der Profilbereitstellung zugeordnet werden. Ein Installer-Ergebnis, Prozessstatus oder nicht ausgewählter Wert bestätigt den Empfang nicht. |
| $.flow.measurement_confirmed_at (anyOf 1) | string; {"format":"date-time"} | Nein | — |
| $.flow.measurement_confirmed_at (anyOf 2) | null | Nein | — |
| $.flow.series | object | Ja | — |
| $.flow.updated_at | string; {"format":"date-time"} | Ja | Version der gespeicherten Einrichtung zur Bestätigung einer Auswahländerung. |
| $.flow.workspace_id | string | Ja | UUID des zugehörigen Arbeitsbereichs. Zugriff wird gegen das angemeldete Konto geprüft. |
| $.flow.server_profile | ServerProfileRequest | Nein | — |
| $.flow.server_profile.components | array<object>; {"maxItems":200} | null | Nein | Erkannte oder ausdrücklich ausgewählte Serverkomponenten. |
| $.flow.server_profile.components (anyOf 1) | array<object>; {"maxItems":200} | Nein | — |
| $.flow.server_profile.components (anyOf 1)[] | object | Ja | — |
| $.flow.server_profile.components (anyOf 1)[].address | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].family | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].id | string | Ja | UUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf. |
| $.flow.server_profile.components (anyOf 1)[].kind | string | Ja | Ressourcenart oder Messwerttyp aus den angegebenen Werten. |
| $.flow.server_profile.components (anyOf 1)[].label | string; {"maxLength":128,"minLength":1} | Ja | Anzeigename der Komponente. |
| $.flow.server_profile.components (anyOf 1)[].local_ref | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].name | string | Nein | Lesbarer Ressourcenname. Beachten Sie die angegebene Längengrenze. |
| $.flow.server_profile.components (anyOf 1)[].path | string; {"maxLength":1024} | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].port | integer | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].project | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].protocol | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].text_languages | object | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].timeout_seconds | integer | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].translations | object; {"additionalProperties":false} | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].translations.de | object | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].translations.en | object | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].transport | string | Nein | — |
| $.flow.server_profile.components (anyOf 1)[].filesystem_identity | string; {"maxLength":256} | Nein | Vom Agenten gemeldete Volumeidentität. Unverändert beibehalten, damit ein Ersatzvolume nicht die Historie eines anderen Volumes fortsetzt. |
| $.flow.server_profile.components (anyOf 1)[].disk_identity | string; {"maxLength":256} | Nein | — |
| $.flow.server_profile.components (anyOf 2) | null | Nein | — |
| $.flow.server_profile.selections | array<object>; {"maxItems":200} | null | Nein | Gewählte Komponenten-/Parameterpaare mit Abtastintervallen. |
| $.flow.server_profile.selections (anyOf 1) | array<object>; {"maxItems":200} | Nein | — |
| $.flow.server_profile.selections (anyOf 1)[] | object | Ja | — |
| $.flow.server_profile.selections (anyOf 1)[].component_id | string | Ja | Stabile Kennung der gewählten oder erkannten Komponente. |
| $.flow.server_profile.selections (anyOf 1)[].interval_seconds | integer; {"maximum":86400,"minimum":0} | Nein | Abtast- oder Prüfintervall in Sekunden innerhalb der angegebenen Grenzen. |
| $.flow.server_profile.selections (anyOf 1)[].parameter_key | string | Ja | Stabile Parameterkennung aus dem Serverkatalog. |
| $.flow.server_profile.selections (anyOf 2) | null | Nein | — |
| $.flow.server_profile.version | JSON; {"const":2} | Ja | — |
| $.flow.server_profile.overview | object; {"additionalProperties":false} | Nein | Ausdrückliche Ziele für die Serverübersicht mit sechs Diagrammen; wählen Sie alle benötigten Messwerte aus. |
| $.flow.server_profile.overview.system_id | string; {"maxLength":128} | Ja | — |
| $.flow.server_profile.overview.filesystem_id | string; {"maxLength":128} | Ja | — |
| $.flow.server_profile.overview.disk_id | string; {"maxLength":128} | Ja | — |
| $.flow.server_profile.overview.network_id | string; {"maxLength":128} | Ja | — |
| $.flow.server_profile.filesystem_discovery | object; {"additionalProperties":false} | Nein | Optionale Erkennung lokaler Dateisysteme mit einem Grundintervall von mindestens 10 Sekunden. Neue Server/NAS-Einrichtungen aktivieren sie. Bestehende Profile benötigen eine ausdrückliche Aktivierung. Manuell deaktivierte Messreihen bleiben erhalten. |
| $.flow.server_profile.filesystem_discovery.mode | string; {"enum":["off","local"]} | Ja | — |
| $.flow.server_profile.filesystem_discovery.interval_seconds | integer; {"minimum":10,"maximum":86400} | Ja | — |
| $.flow.server_profile.system_discovery | object; {"additionalProperties":false} | Nein | — |
| $.flow.server_profile.system_discovery.mode | string; {"enum":["off","local"]} | Ja | — |
| $.flow.server_profile.system_discovery.interval_seconds | integer; {"minimum":10,"maximum":86400} | Ja | — |
| $.flow.server_profile.global_interval_seconds | integer; {"minimum":1,"maximum":86400} | Nein | Ausdrückliche globale Intervallauswahl. Jede Quelle behält ihr Plattformminimum; einzelne schnelle Reihen gelten nicht als globale Auswahl. |
| $.flow.profile_revision | integer; {"minimum":0} | Nein | — |
| $.flow.platform | string; {"enum":["linux","darwin","windows"]} | Nein | Erwartetes Betriebssystem für ein neues Agent-Profil. Es bestätigt nicht die tatsächliche Geräteplattform. Die Bestätigung im Browser verwendet das vom Agenten gemeldete Betriebssystem, die Architektur und das Systemlaufwerk. Bestehende Profile bleiben unverändert; ein ausdrücklich abweichendes Profil wird abgewiesen und nicht still ignoriert. |
| $.replayed | boolean | Ja | — |
{
"flow": {
"alarm_id": "demo",
"completed_at": "2026-09-30T12:00:00Z",
"created_at": "2026-09-30T12:00:00Z",
"device_id": "demo",
"heartbeat_confirmed_at": "2026-09-30T12:00:00Z",
"integration": "demo",
"key_id": "demo",
"measurement_confirmed_at": "2026-09-30T12:00:00Z",
"series": {},
"updated_at": "2026-09-30T12:00:00Z",
"workspace_id": "demo"
},
"replayed": false
}| 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 |
|---|
| 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 |
|---|
| onboarding_resource_removed |
| onboarding_started |
| onboarding_changed |
| 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 |
|---|
| invalid_input |
| 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 |
|---|
| creation_quota |
| 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
Behalten Sie die dokumentierten Kennungen bei Wiederholungen. Ersetzen Sie sie nach einer unklaren Antwort nicht durch neue Kennungen, die eine weitere Ressource oder Messung erzeugen könnten.
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 '{"integration":"linux"}' \
"https://metribeacon.com/api/v1/onboarding/resources"
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/onboarding/resources", data="{\"integration\":\"linux\"}".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/onboarding/resources", {
method: "POST", headers, redirect: "manual",
signal: AbortSignal.timeout(10000), body: "{\"integration\":\"linux\"}",
});
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/onboarding/resources", strings.NewReader("{\"integration\":\"linux\"}"))
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.
- DELETE Einrichtung für ein weiteres Gerät zurücksetzen
Vorhandene Geräte, Messdaten, Schlüssel und Regeln bleiben erhalten. Setzen Sie die Einrichtung ausdrücklich zurück, bevor Sie ein anderes Gerät einrichten.
- GET Gespeicherte Einrichtung und angenommene Messdaten lesen
Der Fortschritt enthält Ressourcenkennungen und Zeitpunkte angenommener Daten, niemals gespeicherte Geräteschlüssel. Ein laufender lokaler Prozess allein schließt die Einrichtung nicht ab.
- POST Vorgeschlagenen Alarm speichern und Einrichtung abschließen
Tatsächlich angenommene Messdaten sind erforderlich. Eine identische Auswahl erzeugt keine zweite Regel. Abschluss ohne Alarm ist eine ausdrückliche Alternative.