MetriBeacon
Menü
Deutsch

POST Joblauf über seine Heartbeat-URL messen

/hb/{token}

GET, HEAD oder POST ohne Body. /start beginnt einen Lauf; die Basis-URL beendet ihn erfolgreich; /fail meldet Fehler; /abort Abbruch. Nur Erfolg bestätigt ein geplantes Lebenszeichen. Die optionale UUID run_id ordnet parallele Läufe zu und macht identische Phasen wiederholbar; widersprüchliche Abschlüsse liefern 409. Ohne Kennung darf nur eine Messung offen sein. Ein Basis-Heartbeat ohne offene Messung behält sein bisheriges Verhalten. Die Dauer verwendet Server-Empfangszeiten; ohne Start bleibt sie unbekannt. Jede neue Phase verbraucht ein normales Ereignis; Wiederholungen werden nicht doppelt gebucht. Geheimnisse niemals protokollieren und unklare Aufrufe ohne Laufkennung nicht automatisch wiederholen.

Auf dieser Seite

Zugriff und Rechte

GET, HEAD oder POST ohne Body. /start beginnt einen Lauf; die Basis-URL beendet ihn erfolgreich; /fail meldet Fehler; /abort Abbruch. Nur Erfolg bestätigt ein geplantes Lebenszeichen. Die optionale UUID run_id ordnet parallele Läufe zu und macht identische Phasen wiederholbar; widersprüchliche Abschlüsse liefern 409. Ohne Kennung darf nur eine Messung offen sein. Ein Basis-Heartbeat ohne offene Messung behält sein bisheriges Verhalten. Die Dauer verwendet Server-Empfangszeiten; ohne Start bleibt sie unbekannt. Jede neue Phase verbraucht ein normales Ereignis; Wiederholungen werden nicht doppelt gebucht. Geheimnisse niemals protokollieren und unklare Aufrufe ohne Laufkennung nicht automatisch wiederholen.

Eine Kontoanmeldung ist nicht erforderlich. Die angegebenen Prüfungen der Browserherkunft und Nutzungslimits gelten weiterhin.

Parameter und Header

FeldPositionTyp und GrenzenErforderlichBedeutung
tokenPfadstring; {"pattern":"^mbh_[A-Za-z0-9_-]{43}$"}JaGeheimes Token aus diesem Heartbeat-Monitor.
run_idURL-Parameterstring; {"format":"uuid"}NeinOptionale stabile UUID, die Start und Abschluss gemeinsam verwenden.

Anfragekörper

Kein Anfragekörper.

Antworten

text/plain

FeldTyp und GrenzenErforderlichBedeutung
$stringJa—
Stabile Fehlercodes
unauthorized

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
browser_required
csrf
invalid_origin
workspace_scope
access_denied
forbidden

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—

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
run_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
body_not_allowed

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_request
invalid_run

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
quota_exceeded

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
feature_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 --silent --show-error --request POST "https://metribeacon.com/hb/YOUR_HEARTBEAT_TOKEN"
python
import json, urllib.request
request = urllib.request.Request('https://metribeacon.com/hb/YOUR_HEARTBEAT_TOKEN', method='POST', headers={})
with urllib.request.urlopen(request) as response:
    print(response.status)
javascript
const response = await fetch("https://metribeacon.com/hb/YOUR_HEARTBEAT_TOKEN",{method:"POST"});
if (!response.ok) throw new Error("HTTP " + response.status);
go
package main
import("net/http";"fmt")
func main(){r,_:=http.NewRequest("POST","https://metribeacon.com/hb/YOUR_HEARTBEAT_TOKEN",nil);response,err:=http.DefaultClient.Do(r);if err!=nil{panic("request failed")};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 Joblauf über seine Heartbeat-URL messen

    GET, HEAD oder POST ohne Body. /start beginnt einen Lauf; die Basis-URL beendet ihn erfolgreich; /fail meldet Fehler; /abort Abbruch. Nur Erfolg bestätigt ein geplantes Lebenszeichen. Die optionale UUID run_id ordnet parallele Läufe zu und macht identische Phasen wiederholbar; widersprüchliche Abschlüsse liefern 409. Ohne Kennung darf nur eine Messung offen sein. Ein Basis-Heartbeat ohne offene Messung behält sein bisheriges Verhalten. Die Dauer verwendet Server-Empfangszeiten; ohne Start bleibt sie unbekannt. Jede neue Phase verbraucht ein normales Ereignis; Wiederholungen werden nicht doppelt gebucht. Geheimnisse niemals protokollieren und unklare Aufrufe ohne Laufkennung nicht automatisch wiederholen.

  • HEAD Joblauf über seine Heartbeat-URL messen

    GET, HEAD oder POST ohne Body. /start beginnt einen Lauf; die Basis-URL beendet ihn erfolgreich; /fail meldet Fehler; /abort Abbruch. Nur Erfolg bestätigt ein geplantes Lebenszeichen. Die optionale UUID run_id ordnet parallele Läufe zu und macht identische Phasen wiederholbar; widersprüchliche Abschlüsse liefern 409. Ohne Kennung darf nur eine Messung offen sein. Ein Basis-Heartbeat ohne offene Messung behält sein bisheriges Verhalten. Die Dauer verwendet Server-Empfangszeiten; ohne Start bleibt sie unbekannt. Jede neue Phase verbraucht ein normales Ereignis; Wiederholungen werden nicht doppelt gebucht. Geheimnisse niemals protokollieren und unklare Aufrufe ohne Laufkennung nicht automatisch wiederholen.

  • GET Joblauf über seine Heartbeat-URL messen

    GET, HEAD oder POST ohne Body. /start beginnt einen Lauf; die Basis-URL beendet ihn erfolgreich; /fail meldet Fehler; /abort Abbruch. Nur Erfolg bestätigt ein geplantes Lebenszeichen. Die optionale UUID run_id ordnet parallele Läufe zu und macht identische Phasen wiederholbar; widersprüchliche Abschlüsse liefern 409. Ohne Kennung darf nur eine Messung offen sein. Ein Basis-Heartbeat ohne offene Messung behält sein bisheriges Verhalten. Die Dauer verwendet Server-Empfangszeiten; ohne Start bleibt sie unbekannt. Jede neue Phase verbraucht ein normales Ereignis; Wiederholungen werden nicht doppelt gebucht. Geheimnisse niemals protokollieren und unklare Aufrufe ohne Laufkennung nicht automatisch wiederholen.