POST Einmaligen Server-Installationscode erstellen
/api/v1/agent/install-codes
Im Browser freigegebener Zehn-Minuten-Code für diesen Arbeitsbereich und das gewählte Profil. Erst beim Einlösen entsteht ein Monitor; Bearbeitungsrechte sind erforderlich. Gespeichert wird nur der Codehash.
Auf dieser Seite
Zugriff und Rechte
Im Browser freigegebener Zehn-Minuten-Code für diesen Arbeitsbereich und das gewählte Profil. Erst beim Einlösen entsteht ein Monitor; Bearbeitungsrechte sind erforderlich. Gespeichert wird nur der Codehash.
Browsersitzung: Cookie __Host-mb_session.
Parameter und Header
Keine Pfad-, Query- oder zusätzlichen Anfrageheader-Parameter.
Anfragekörper
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | AgentInstallSettings | Ja | — |
| $.workspace_id | string; {"format":"uuid"} | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.device_id | string; {"format":"uuid"} | Nein | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.name | string | Nein | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.platform | string; {"enum":["unix","windows"]} | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.template_id | string; {"const":"server_nas"} | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.group_ids | array<string; {"format":"uuid"}>; {"maxItems":100} | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.group_ids[] | string; {"format":"uuid"} | Ja | — |
| $.interval_seconds | integer; {"minimum":1,"maximum":86400,"default":10} | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.server_profile | ServerProfile | Nein | — |
| $.server_profile.components | array<object>; {"maxItems":200} | null | Ja | 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 | Ja | 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} | Ja | 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.overview.platform | string; {"enum":["linux","darwin","windows"]} | Nein | Plattform der automatischen Übersicht. Nur unterstützte Messgrößen werden gewählt; nicht erkannte Datenträger- oder Netzwerkziele bleiben leer. |
| $.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.disk_io_interval_seconds | integer; {"minimum":1,"maximum":86400} | Nein | — |
| $.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
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | AgentInstallCode | Ja | — |
| $.id | string; {"format":"uuid"} | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.install_code | string | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.expires_at | string; {"format":"date-time"} | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.version | string | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | AgentInstallCode | Ja | — |
| $.id | string; {"format":"uuid"} | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.install_code | string | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.expires_at | string; {"format":"date-time"} | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
| $.version | string | Ja | Installationseinstellung oder vom Gerät gemeldeter Wert. |
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 | — |
| Stabile Fehlercodes |
|---|
| forbidden |
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 | — |
| Stabile Fehlercodes |
|---|
| not_found |
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 | — |
| Stabile Fehlercodes |
|---|
| invalid_install |
| invalid_profile |
| invalid_groups |
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 | — |
| Stabile Fehlercodes |
|---|
| install_limit |
| creation_quota |
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 | — |
| Stabile Fehlercodes |
|---|
| release_unavailable |
| unavailable |
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 | — |
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 --fail-with-body --request POST 'https://metribeacon.com/api/v1/agent/install-codes' --header 'Accept: application/json' --header 'Cookie: __Host-mb_session=YOUR_SESSION; __Host-mb_csrf=YOUR_CSRF' --header 'Origin: https://metribeacon.com' --header 'X-CSRF-Token: YOUR_CSRF' --header 'Content-Type: application/json' --data '{"workspace_id":"11111111-1111-4111-8111-111111111111","template_id":"server_nas","platform":"unix","group_ids":[],"interval_seconds":30}'import urllib.request
headers = {'Accept': 'application/json', 'Cookie': '__Host-mb_session=YOUR_SESSION; __Host-mb_csrf=YOUR_CSRF', 'Origin': 'https://metribeacon.com', 'X-CSRF-Token': 'YOUR_CSRF', 'Content-Type': 'application/json'}
request = urllib.request.Request('https://metribeacon.com/api/v1/agent/install-codes', headers=headers, method='POST', data='{"workspace_id":"11111111-1111-4111-8111-111111111111","template_id":"server_nas","platform":"unix","group_ids":[],"interval_seconds":30}'.encode())
with urllib.request.urlopen(request) as response:
print(response.read().decode())
const response = await fetch("https://metribeacon.com/api/v1/agent/install-codes", {"method": "POST", "headers": {"Accept": "application/json", "Cookie": "__Host-mb_session=YOUR_SESSION; __Host-mb_csrf=YOUR_CSRF", "Origin": "https://metribeacon.com", "X-CSRF-Token": "YOUR_CSRF", "Content-Type": "application/json"}, "body": "{\"workspace_id\":\"11111111-1111-4111-8111-111111111111\",\"template_id\":\"server_nas\",\"platform\":\"unix\",\"group_ids\":[],\"interval_seconds\":30}"});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.text());
package main
import ("fmt"; "io"; "net/http"; "strings")
func main() {
req, err := http.NewRequest("POST", "https://metribeacon.com/api/v1/agent/install-codes", strings.NewReader("{\"workspace_id\":\"11111111-1111-4111-8111-111111111111\",\"template_id\":\"server_nas\",\"platform\":\"unix\",\"group_ids\":[],\"interval_seconds\":30}")); if err != nil { panic(err) }
req.Header.Set("Accept","application/json")
req.Header.Set("Cookie","__Host-mb_session=YOUR_SESSION; __Host-mb_csrf=YOUR_CSRF")
req.Header.Set("Origin","https://metribeacon.com")
req.Header.Set("X-CSRF-Token","YOUR_CSRF")
req.Header.Set("Content-Type","application/json")
response, err := http.DefaultClient.Do(req); if err != nil { panic(err) }; defer response.Body.Close(); data, err := io.ReadAll(response.Body); if err != nil { panic(err) }; fmt.Printf("HTTP %d\n%s\n", response.StatusCode, data)
}
Verwandte Anleitungen
- HTTP-API, OAuth und MCP
Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.
- GET Fortschritt der automatischen Servereinrichtung lesen
Meldet den Eingang des ersten Lebenszeichens und ausgewählter Messwerte nach der Verbindung. Der ausstellende Browser kann den Fortschritt auch nach Ablauf des Codes lesen.
- DELETE Unbenutzten Installationscode widerrufen
Widerruft einen unbenutzten Code. Bereits verbundene Server und ihre Geräteschlüssel werden über die vorhandenen Monitor- und Schlüsselschnittstellen verwaltet.
- POST Server mit Installationscode verbinden
Legt den gebundenen Server, Profil, Gruppen und einen Geräteschlüssel aus dem lokal erzeugten Schlüsselhash atomar an oder verbindet sie. Identische Anfragen können sicher fortgesetzt werden; der private Geräteschlüssel kann eine gespeicherte Verbindung nach Ablauf des Codes wiederaufnehmen.