PUT Quelle und optionale historische Übernahme freigeben
/api/v1/status-pages/{id}/sources
Authentifizierte Seitenverwaltung mit aktiver Sitzung, Eigentums-, Seitenrollen- und CSRF-Prüfung. Quellen, Mitglieder, Domains, Versandregeln und die Rücknahme der ganzen Seite benötigen den Besitzer. Redakteure speichern Entwürfe; Herausgeber veröffentlichen freigegebene Inhalte. version erkennt parallele Änderungen. Veröffentlichung und Rücknahme sind erst nach Bestätigung der passenden Veröffentlichungsfassung durch die öffentliche Auslieferung abgeschlossen.
Auf dieser Seite
Zugriff und Rechte
Authentifizierte Seitenverwaltung mit aktiver Sitzung, Eigentums-, Seitenrollen- und CSRF-Prüfung. Quellen, Mitglieder, Domains, Versandregeln und die Rücknahme der ganzen Seite benötigen den Besitzer. Redakteure speichern Entwürfe; Herausgeber veröffentlichen freigegebene Inhalte. version erkennt parallele Änderungen. Veröffentlichung und Rücknahme sind erst nach Bestätigung der passenden Veröffentlichungsfassung durch die öffentliche Auslieferung abgeschlossen.
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 | UUID der Statusseiten-Ressource |
| X-CSRF-Token | Header | string | Nein | Bei Browsersitzungen muss der Wert zum __Host-mb_csrf-Cookie und zur aktuellen Sitzung passen. Bei einem Verwaltungscredential über Authorization: Bearer ist er nicht erforderlich. |
Anfragekörper
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object; {"additionalProperties":false} | Ja | — |
| $.alarm_id | string; {"format":"uuid","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"} | string; {"const":""} | Nein | — |
| $.alarm_id (oneOf 1) | string; {"format":"uuid","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"} | Nein | UUID einer vorhandenen Alarmregel für den ausgewählten Quellmonitor. Für alarm-Quellen erforderlich. |
| $.alarm_id (oneOf 2) | string; {"const":""} | Nein | — |
| $.approve_history | boolean | Nein | — |
| $.history_from | string; {"format":"date-time"} | Nein | — |
| $.kind | string; {"enum":["http","run","contact","state","metric","alarm"]} | Ja | Quellentyp: http für HTTP-Verfügbarkeit, run für Job-/Workflowstatus, contact für Heartbeat, state für Boolean/Enum, metric für numerische Reihen, alarm für eine Alarmregel. state/metric benötigen series_id; alarm benötigt alarm_id. public_id verweist auf eine vorhandene redaktionelle Komponente oder Metrik. |
| $.monitor_id | string; {"format":"uuid","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"} | Ja | UUID des vorhandenen Quellmonitors in einem berechtigten Arbeitsbereich. Verwenden Sie eine von monitors gelieferte Kennung; erzeugen Sie keine neue Kennung. |
| $.public_id | string; {"format":"uuid","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"} | Ja | UUID einer redaktionellen Komponente, Gruppe, Metrik oder Meldung. Erzeugen Sie für ein neues Element eine neue UUID; verwenden Sie beim Ändern die gespeicherte ID. Dies ist keine Monitor- oder Messreihen-ID. |
| $.series_id | string; {"format":"uuid","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"} | string; {"const":""} | Nein | — |
| $.series_id (oneOf 1) | string; {"format":"uuid","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"} | Nein | UUID einer vorhandenen Reihe des ausgewählten Quellmonitors. Verwenden Sie eine von series gelieferte Kennung; für state- und metric-Quellen erforderlich. |
| $.series_id (oneOf 2) | string; {"const":""} | Nein | — |
| $.state_mapping | object | Nein | — |
| $ (allOf 1) | JSON | Nein | — |
| $ (allOf 2) | JSON | Nein | — |
Antworten
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object; {"additionalProperties":true} | Ja | — |
| Stabile Fehlercodes |
|---|
| status_page_operation |
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 |
|---|
| status_page_operation |
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 |
|---|
| status_page_operation |
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 |
|---|
| status_page_operation |
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 |
|---|
| status_page_operation |
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 |
|---|
| status_page_operation |
| status_pages_disabled |
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 --request PUT --cookie '__Host-mb_session=SESSION; __Host-mb_csrf=CSRF' --header 'X-CSRF-Token: CSRF' --header 'Content-Type: application/json' --data '{"public_id":"22222222-2222-4222-8222-222222222222","kind":"contact","monitor_id":"33333333-3333-4333-8333-333333333333","series_id":"","alarm_id":"","state_mapping":{},"approve_history":false}' 'https://metribeacon.com/api/v1/status-pages/11111111-1111-4111-8111-111111111111/sources'import requests
payload = {'public_id': '22222222-2222-4222-8222-222222222222', 'kind': 'contact', 'monitor_id': '33333333-3333-4333-8333-333333333333', 'series_id': '', 'alarm_id': '', 'state_mapping': {}, 'approve_history': False}
response = requests.request("PUT","https://metribeacon.com/api/v1/status-pages/11111111-1111-4111-8111-111111111111/sources",cookies={"__Host-mb_session":"SESSION","__Host-mb_csrf":"CSRF"},headers={"X-CSRF-Token":"CSRF"},json=payload)
response.raise_for_status()const payload = {"public_id":"22222222-2222-4222-8222-222222222222","kind":"contact","monitor_id":"33333333-3333-4333-8333-333333333333","series_id":"","alarm_id":"","state_mapping":{},"approve_history":false};
const response = await fetch("https://metribeacon.com/api/v1/status-pages/11111111-1111-4111-8111-111111111111/sources", {signal:AbortSignal.timeout(10000),method:"PUT",credentials:"same-origin",headers:{"Content-Type":"application/json","X-CSRF-Token":csrf},body:JSON.stringify(payload)});
if (!response.ok) throw new Error(String(response.status));package main
import (
"fmt"
"net/http"
"time"
"strings"
)
func main() {
if err := requestStatus(); err != nil { panic("request failed; credentials and response omitted") }
}
func requestStatus() error {
req, err := http.NewRequest("PUT", "https://metribeacon.com/api/v1/status-pages/11111111-1111-4111-8111-111111111111/sources", strings.NewReader(`{"public_id":"22222222-2222-4222-8222-222222222222","kind":"contact","monitor_id":"33333333-3333-4333-8333-333333333333","series_id":"","alarm_id":"","state_mapping":{},"approve_history":false}`))
if err != nil { return err }
req.AddCookie(&http.Cookie{Name:"__Host-mb_session",Value:"SESSION"})
req.AddCookie(&http.Cookie{Name:"__Host-mb_csrf",Value:"CSRF"})
req.Header.Set("X-CSRF-Token","CSRF")
req.Header.Set("Content-Type","application/json")
client := &http.Client{Timeout: 10*time.Second}
response, err := client.Do(req)
if err != nil { return err }
defer response.Body.Close()
fmt.Println(response.StatusCode)
return nil
}
Verwandte Anleitungen
- HTTP-API, OAuth und MCP
Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.
- GET Vom Besitzer freigegebene Monitorquellen auflisten
Authentifizierte Seitenverwaltung mit aktiver Sitzung, Eigentums-, Seitenrollen- und CSRF-Prüfung. Quellen, Mitglieder, Domains, Versandregeln und die Rücknahme der ganzen Seite benötigen den Besitzer. Redakteure speichern Entwürfe; Herausgeber veröffentlichen freigegebene Inhalte. version erkennt parallele Änderungen. Veröffentlichung und Rücknahme sind erst nach Bestätigung der passenden Veröffentlichungsfassung durch die öffentliche Auslieferung abgeschlossen.
- DELETE Freigegebene Quelle zurücknehmen und ihre öffentlichen Projektionen entfernen
Authentifizierte Seitenverwaltung mit aktiver Sitzung, Eigentums-, Seitenrollen- und CSRF-Prüfung. Quellen, Mitglieder, Domains, Versandregeln und die Rücknahme der ganzen Seite benötigen den Besitzer. Redakteure speichern Entwürfe; Herausgeber veröffentlichen freigegebene Inhalte. version erkennt parallele Änderungen. Veröffentlichung und Rücknahme sind erst nach Bestätigung der passenden Veröffentlichungsfassung durch die öffentliche Auslieferung abgeschlossen.
- DELETE Öffentliche Auslieferung zurücknehmen oder löschen
Authentifizierte Seitenverwaltung mit aktiver Sitzung, Eigentums-, Seitenrollen- und CSRF-Prüfung. Quellen, Mitglieder, Domains, Versandregeln und die Rücknahme der ganzen Seite benötigen den Besitzer. Redakteure speichern Entwürfe; Herausgeber veröffentlichen freigegebene Inhalte. version erkennt parallele Änderungen. Veröffentlichung und Rücknahme sind erst nach Bestätigung der passenden Veröffentlichungsfassung durch die öffentliche Auslieferung abgeschlossen.