MetriBeacon
Menü
Deutsch

POST Statusseiten-Absender prüfen

/api/v1/status-pages/{id}/brand/preview

Erfordert eine verifizierte Browsersitzung und die aktuelle Rolle. Änderungen benötigen CSRF. Absenderidentität und Eigentümerwechsel verlangen zusätzlich eine frische aktionsgebundene Bestätigung. Anbieter-Geheimnisse werden nicht ausgegeben.

Auf dieser Seite

Zugriff und Rechte

Erfordert eine verifizierte Browsersitzung und die aktuelle Rolle. Änderungen benötigen CSRF. Absenderidentität und Eigentümerwechsel verlangen zusätzlich eine frische aktionsgebundene Bestätigung. Anbieter-Geheimnisse werden nicht ausgegeben.

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

FeldPositionTyp und GrenzenErforderlichBedeutung
idPfadstring; {"format":"uuid"}JaRessourcenkennung

Anfragekörper

FeldTyp und GrenzenErforderlichBedeutung
$object; {"additionalProperties":false}Ja—
$.profileStatusMailBrandJa—
$.profile.enabledbooleanJa—
$.profile.mail_domain_idstring; {"format":"uuid"} | string; {"maxLength":0}Ja—
$.profile.mail_domain_id (anyOf 1)string; {"format":"uuid"}Nein—
$.profile.mail_domain_id (anyOf 2)string; {"maxLength":0}Nein—
$.profile.mail_domain_revisioninteger; {"minimum":0}Ja—
$.profile.primary_domain_idstring; {"format":"uuid"} | string; {"maxLength":0}Ja—
$.profile.primary_domain_id (anyOf 1)string; {"format":"uuid"}Nein—
$.profile.primary_domain_id (anyOf 2)string; {"maxLength":0}Nein—
$.profile.privacy_urlstringJa—
$.profile.reply_addressstringJa—
$.profile.revisioninteger; {"minimum":0}Ja—
$.profile.sender_addressstring; {"format":"email"} | string; {"maxLength":0}Ja—
$.profile.sender_address (anyOf 1)string; {"format":"email"}Nein—
$.profile.sender_address (anyOf 2)string; {"maxLength":0}Nein—
$.profile.sender_namestring; {"maxLength":120}Ja—
$.versioninteger; {"minimum":0}Ja—

Antworten

application/json

FeldTyp und GrenzenErforderlichBedeutung
$object; {"additionalProperties":false}Ja—
$.expires_atstring | null; {"format":"date-time"}Nein—
$.idstring; {"format":"uuid"}Nein—
$.profileStatusMailBrandNein—
$.profile.enabledbooleanJa—
$.profile.mail_domain_idstring; {"format":"uuid"} | string; {"maxLength":0}Ja—
$.profile.mail_domain_id (anyOf 1)string; {"format":"uuid"}Nein—
$.profile.mail_domain_id (anyOf 2)string; {"maxLength":0}Nein—
$.profile.mail_domain_revisioninteger; {"minimum":0}Ja—
$.profile.primary_domain_idstring; {"format":"uuid"} | string; {"maxLength":0}Ja—
$.profile.primary_domain_id (anyOf 1)string; {"format":"uuid"}Nein—
$.profile.primary_domain_id (anyOf 2)string; {"maxLength":0}Nein—
$.profile.privacy_urlstringJa—
$.profile.reply_addressstringJa—
$.profile.revisioninteger; {"minimum":0}Ja—
$.profile.sender_addressstring; {"format":"email"} | string; {"maxLength":0}Ja—
$.profile.sender_address (anyOf 1)string; {"format":"email"}Nein—
$.profile.sender_address (anyOf 2)string; {"maxLength":0}Nein—
$.profile.sender_namestring; {"maxLength":120}Ja—

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—

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
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_input
brand_domain_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—

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—

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 --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 '{"version":1,"profile":{"enabled":false}}' \
  "https://metribeacon.com/api/v1/status-pages/00000000-0000-4000-8000-000000000001/brand/preview"
python
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/status-pages/00000000-0000-4000-8000-000000000001/brand/preview", data="{\"version\":1,\"profile\":{\"enabled\":false}}".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()
javascript
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/status-pages/00000000-0000-4000-8000-000000000001/brand/preview", {
  method: "POST", headers, redirect: "manual",
  signal: AbortSignal.timeout(10000), body: "{\"version\":1,\"profile\":{\"enabled\":false}}",
});
console.log(response.status);
await response.body?.cancel();
go
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/status-pages/00000000-0000-4000-8000-000000000001/brand/preview", strings.NewReader("{\"version\":1,\"profile\":{\"enabled\":false}}"))
  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)
}
  • HTTP-API, OAuth und MCP

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

  • GET Zustellstatus des Absenders anzeigen

    Erfordert eine verifizierte Browsersitzung und die aktuelle Rolle. Änderungen benötigen CSRF. Absenderidentität und Eigentümerwechsel verlangen zusätzlich eine frische aktionsgebundene Bestätigung. Anbieter-Geheimnisse werden nicht ausgegeben.

  • PUT Statusseiten-Absenderentwurf speichern

    Erfordert eine verifizierte Browsersitzung und die aktuelle Rolle. Änderungen benötigen CSRF. Absenderidentität und Eigentümerwechsel verlangen zusätzlich eine frische aktionsgebundene Bestätigung. Anbieter-Geheimnisse werden nicht ausgegeben.

  • POST Besuchermail mit eigenem Branding ansehen

    Erfordert eine verifizierte Browsersitzung und die aktuelle Rolle. Änderungen benötigen CSRF. Absenderidentität und Eigentümerwechsel verlangen zusätzlich eine frische aktionsgebundene Bestätigung. Anbieter-Geheimnisse werden nicht ausgegeben.