POST Joblauf über seine Heartbeat-URL messen
/hb/{token}/start
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
| Feld | Position | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|---|
| token | Pfad | string; {"pattern":"^mbh_[A-Za-z0-9_-]{43}$"} | Ja | Geheimes Token aus diesem Heartbeat-Monitor. |
| run_id | URL-Parameter | string; {"format":"uuid"} | Nein | Optionale stabile UUID, die Start und Abschluss gemeinsam verwenden. |
Anfragekörper
Kein Anfragekörper.
Antworten
text/plain
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | string | Ja | — |
| Stabile Fehlercodes |
|---|
| unauthorized |
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 |
|---|
| browser_required |
| csrf |
| invalid_origin |
| workspace_scope |
| access_denied |
| 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 | — |
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 |
|---|
| run_conflict |
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 |
|---|
| body_not_allowed |
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_request |
| invalid_run |
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 |
|---|
| quota_exceeded |
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 |
|---|
| unavailable |
| feature_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 --silent --show-error --request POST "https://metribeacon.com/hb/YOUR_HEARTBEAT_TOKEN/start" --header 'Origin: https://metribeacon.com'
import urllib.request
request = urllib.request.Request('https://metribeacon.com/hb/YOUR_HEARTBEAT_TOKEN/start', method='POST', headers={'Origin': 'https://metribeacon.com'})
with urllib.request.urlopen(request) as response:
print(response.status)
const response = await fetch("https://metribeacon.com/hb/YOUR_HEARTBEAT_TOKEN/start", {method:"POST", credentials:"same-origin", headers:{}});
console.log(response.status);
package main
import("fmt";"net/http")
func main(){ request,_:=http.NewRequest("POST","https://metribeacon.com/hb/YOUR_HEARTBEAT_TOKEN/start",nil);
request.Header.Set("Origin","https://metribeacon.com");
response,err:=http.DefaultClient.Do(request);if err!=nil{panic(err)};defer response.Body.Close();fmt.Println(response.StatusCode) }
Verwandte Anleitungen
- 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.