MetriBeacon
Menü
Deutsch

POST Internen Wartungszeitplan anlegen

/api/v1/workspaces/{id}/maintenance-schedules

Interne einmalige oder wöchentliche Wartung. Messungen und Alarmzustände laufen weiter; Zustellungen werden unterdrückt. IANA-Zeitlücken werden ausgelassen, doppelte Uhrzeiten verwenden die erste Ausführung. Deaktivierte Zeitpläne belegen einen der 20 Plätze. Änderungen erhalten vergangene Zeiten; Gruppenänderungen wirken ab ihrem Zeitpunkt. Öffentliche Hinweise erfordern einen getrennten Entwurf und Veröffentlichungsberechtigung der Statusseite.

Auf dieser Seite

Zugriff und Rechte

Interne einmalige oder wöchentliche Wartung. Messungen und Alarmzustände laufen weiter; Zustellungen werden unterdrückt. IANA-Zeitlücken werden ausgelassen, doppelte Uhrzeiten verwenden die erste Ausführung. Deaktivierte Zeitpläne belegen einen der 20 Plätze. Änderungen erhalten vergangene Zeiten; Gruppenänderungen wirken ab ihrem Zeitpunkt. Öffentliche Hinweise erfordern einen getrennten Entwurf und Veröffentlichungsberechtigung der Statusseite.

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

FeldPositionTyp und GrenzenErforderlichBedeutung
idPfadstring; {"format":"uuid"}JaRessourcen-ID in diesem Arbeitsbereich
Idempotency-KeyHeaderstring; {"maxLength":128,"minLength":16,"pattern":"^[A-Za-z0-9._~-]{16,128}$"}NeinInterne einmalige oder wöchentliche Wartung. Messungen und Alarmzustände laufen weiter; Zustellungen werden unterdrückt. IANA-Zeitlücken werden ausgelassen, doppelte Uhrzeiten verwenden die erste Ausführung. Deaktivierte Zeitpläne belegen einen der 20 Plätze. Änderungen erhalten vergangene Zeiten; Gruppenänderungen wirken ab ihrem Zeitpunkt. Öffentliche Hinweise erfordern einen getrennten Entwurf und Veröffentlichungsberechtigung der Statusseite.

Anfragekörper

FeldTyp und GrenzenErforderlichBedeutung
$objectJa—
$.configobjectJaInterne einmalige oder wöchentliche Wartung. Messungen und Alarmzustände laufen weiter; Zustellungen werden unterdrückt. IANA-Zeitlücken werden ausgelassen, doppelte Uhrzeiten verwenden die erste Ausführung. Deaktivierte Zeitpläne belegen einen der 20 Plätze. Änderungen erhalten vergangene Zeiten; Gruppenänderungen wirken ab ihrem Zeitpunkt. Öffentliche Hinweise erfordern einen getrennten Entwurf und Veröffentlichungsberechtigung der Statusseite.
$.config.device_idsarray<string; {"format":"uuid"}>; {"maxItems":100}Ja—
$.config.device_ids[]string; {"format":"uuid"}Ja—
$.config.duration_secondsinteger; {"maximum":604800,"minimum":60}Nein—
$.config.ends_atstring; {"format":"date-time"}Nein—
$.config.group_idsarray<string; {"format":"uuid"}>; {"maxItems":100}Ja—
$.config.group_ids[]string; {"format":"uuid"}Ja—
$.config.kindstring; {"enum":["once","weekly"]}Ja—
$.config.local_timestring; {"pattern":"^[0-2][0-9]:[0-5][0-9]$"}Nein—
$.config.starts_atstring; {"format":"date-time"}Nein—
$.config.targetstring; {"enum":["workspace","groups","monitors"]}Ja—
$.config.timezonestring; {"maxLength":64,"minLength":1}Ja—
$.config.weekdayinteger; {"maximum":7,"minimum":1}Nein—
$.enabledbooleanJa—
$.expected_revisioninteger; {"minimum":1}Nein—
$.namestring; {"maxLength":128,"minLength":1}Ja—

Antworten

application/json

FeldTyp und GrenzenErforderlichBedeutung
$objectJa—
$.configobjectJaInterne einmalige oder wöchentliche Wartung. Messungen und Alarmzustände laufen weiter; Zustellungen werden unterdrückt. IANA-Zeitlücken werden ausgelassen, doppelte Uhrzeiten verwenden die erste Ausführung. Deaktivierte Zeitpläne belegen einen der 20 Plätze. Änderungen erhalten vergangene Zeiten; Gruppenänderungen wirken ab ihrem Zeitpunkt. Öffentliche Hinweise erfordern einen getrennten Entwurf und Veröffentlichungsberechtigung der Statusseite.
$.config.device_idsarray<string; {"format":"uuid"}>; {"maxItems":100}Ja—
$.config.device_ids[]string; {"format":"uuid"}Ja—
$.config.duration_secondsinteger; {"maximum":604800,"minimum":60}Nein—
$.config.ends_atstring; {"format":"date-time"}Nein—
$.config.group_idsarray<string; {"format":"uuid"}>; {"maxItems":100}Ja—
$.config.group_ids[]string; {"format":"uuid"}Ja—
$.config.kindstring; {"enum":["once","weekly"]}Ja—
$.config.local_timestring; {"pattern":"^[0-2][0-9]:[0-5][0-9]$"}Nein—
$.config.starts_atstring; {"format":"date-time"}Nein—
$.config.targetstring; {"enum":["workspace","groups","monitors"]}Ja—
$.config.timezonestring; {"maxLength":64,"minLength":1}Ja—
$.config.weekdayinteger; {"maximum":7,"minimum":1}Nein—
$.enabledbooleanJa—
$.idstring; {"format":"uuid"}Ja—
$.namestring; {"maxLength":128,"minLength":1}Ja—
$.occurrencesarray<object>Ja—
$.occurrences[]objectJa—
$.occurrences[].ends_atstring; {"format":"date-time"}Ja—
$.occurrences[].starts_atstring; {"format":"date-time"}Ja—
$.revisioninteger; {"minimum":1}Ja—
$.updated_atstring; {"format":"date-time"}Ja—
$.workspace_idstring; {"format":"uuid"}Ja—
json
{
  "config": {
    "device_ids": [],
    "duration_seconds": 3600,
    "group_ids": [],
    "kind": "weekly",
    "local_time": "08:00",
    "target": "workspace",
    "timezone": "Europe/Berlin",
    "weekday": 1
  },
  "enabled": true,
  "id": "00000000-0000-4000-8000-000000000001",
  "name": "Maintenance demo",
  "occurrences": [],
  "revision": 1,
  "updated_at": "2026-10-02T08:00:00Z",
  "workspace_id": "00000000-0000-4000-8000-000000000001"
}
Stabile Fehlercodes
unauthorized
invalid_credential

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
forbidden
csrf
insufficient_scope
workspace_scope

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
not_found

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
idempotency_conflict
revision_conflict

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
invalid_dashboard
invalid_dashboard_sources
invalid_idempotency_key
invalid_maintenance
invalid_maintenance_targets
invalid_reference
invalid_workspace

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
dashboard_limit
maintenance_limit

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
unavailable

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"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.

shell
curl --fail-with-body --request POST --header @"$HOME/.config/metribeacon/headers.txt" --header 'Content-Type: application/json' --header 'Idempotency-Key: maintenance-example-key' --data-binary '{"name":"Maintenance demo","enabled":true,"config":{"kind":"weekly","weekday":1,"local_time":"08:00","timezone":"Europe/Berlin","duration_seconds":3600,"target":"workspace","device_ids":[],"group_ids":[]}}' "https://metribeacon.com/api/v1/workspaces/00000000-0000-4000-8000-000000000001/maintenance-schedules"
python
import json, os, urllib.request
request = urllib.request.Request('https://metribeacon.com/api/v1/workspaces/00000000-0000-4000-8000-000000000001/maintenance-schedules', method='POST', headers={"Cookie": os.environ["MB_COOKIE"], "X-CSRF-Token": os.environ["MB_CSRF"], "Content-Type": "application/json", "Idempotency-Key": "maintenance-example-key"}, data=json.dumps({'name': 'Maintenance demo', 'enabled': True, 'config': {'kind': 'weekly', 'weekday': 1, 'local_time': '08:00', 'timezone': 'Europe/Berlin', 'duration_seconds': 3600, 'target': 'workspace', 'device_ids': [], 'group_ids': []}}).encode())
with urllib.request.urlopen(request, timeout=30) as response:
    print(json.load(response))
javascript
const response = await fetch("https://metribeacon.com/api/v1/workspaces/00000000-0000-4000-8000-000000000001/maintenance-schedules", {method: "POST", headers: {"Cookie": process.env.MB_COOKIE, "X-CSRF-Token": process.env.MB_CSRF, "Content-Type": "application/json", "Idempotency-Key": "maintenance-example-key"}, body: JSON.stringify({"name": "Maintenance demo", "enabled": true, "config": {"kind": "weekly", "weekday": 1, "local_time": "08:00", "timezone": "Europe/Berlin", "duration_seconds": 3600, "target": "workspace", "device_ids": [], "group_ids": []}}), signal: AbortSignal.timeout(30000)});
console.log(await response.json());
go
package main
import ("fmt"; "net/http"; "os"; "io"; "strings"; "time")
func main() {
 req, err := http.NewRequest("POST", "https://metribeacon.com/api/v1/workspaces/00000000-0000-4000-8000-000000000001/maintenance-schedules", strings.NewReader("{\"name\":\"Maintenance demo\",\"enabled\":true,\"config\":{\"kind\":\"weekly\",\"weekday\":1,\"local_time\":\"08:00\",\"timezone\":\"Europe/Berlin\",\"duration_seconds\":3600,\"target\":\"workspace\",\"device_ids\":[],\"group_ids\":[]}}")); if err != nil { panic(err) }; req.Header.Set("Cookie", os.Getenv("MB_COOKIE")); req.Header.Set("X-CSRF-Token", os.Getenv("MB_CSRF")); req.Header.Set("Content-Type", "application/json"); req.Header.Set("Idempotency-Key", "maintenance-example-key"); client := &http.Client{Timeout:30*time.Second}; response, err := client.Do(req); if err != nil { panic(err) }; defer response.Body.Close(); _, _ = io.Copy(os.Stdout, response.Body); fmt.Println()
}
  • HTTP-API, OAuth und MCP

    Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.

  • GET Wartungszeitpläne des Arbeitsbereichs lesen

    Interne einmalige oder wöchentliche Wartung. Messungen und Alarmzustände laufen weiter; Zustellungen werden unterdrückt. IANA-Zeitlücken werden ausgelassen, doppelte Uhrzeiten verwenden die erste Ausführung. Deaktivierte Zeitpläne belegen einen der 20 Plätze. Änderungen erhalten vergangene Zeiten; Gruppenänderungen wirken ab ihrem Zeitpunkt. Öffentliche Hinweise erfordern einen getrennten Entwurf und Veröffentlichungsberechtigung der Statusseite.

  • DELETE Internen Wartungszeitplan entfernen

    Interne einmalige oder wöchentliche Wartung. Messungen und Alarmzustände laufen weiter; Zustellungen werden unterdrückt. IANA-Zeitlücken werden ausgelassen, doppelte Uhrzeiten verwenden die erste Ausführung. Deaktivierte Zeitpläne belegen einen der 20 Plätze. Änderungen erhalten vergangene Zeiten; Gruppenänderungen wirken ab ihrem Zeitpunkt. Öffentliche Hinweise erfordern einen getrennten Entwurf und Veröffentlichungsberechtigung der Statusseite.

  • PUT Internen Wartungszeitplan speichern

    Interne einmalige oder wöchentliche Wartung. Messungen und Alarmzustände laufen weiter; Zustellungen werden unterdrückt. IANA-Zeitlücken werden ausgelassen, doppelte Uhrzeiten verwenden die erste Ausführung. Deaktivierte Zeitpläne belegen einen der 20 Plätze. Änderungen erhalten vergangene Zeiten; Gruppenänderungen wirken ab ihrem Zeitpunkt. Öffentliche Hinweise erfordern einen getrennten Entwurf und Veröffentlichungsberechtigung der Statusseite.