MetriBeacon
Menü
Deutsch

POST Messwerte, Zustände, Ereignisse oder Heartbeats mit ausdrücklich freigegebenem Maschinencredential senden. Nutzt die bestehende Telemetrieprüfung, Kontingente, Deduplizierung und Alarmverarbeitung. Ein konkreter Monitor ist erforderlich. Laufstart und Abschluss verwenden den Ereignisvertrag. Die Laufzeitfreigabe muss aktiviert sein; Ingest-Endpunkte akzeptieren weiterhin nur Geräteschlüssel.

/api/v1/automation/telemetry/{kind}

Messwerte, Zustände, Ereignisse oder Heartbeats mit ausdrücklich freigegebenem Maschinencredential senden. Nutzt die bestehende Telemetrieprüfung, Kontingente, Deduplizierung und Alarmverarbeitung. Ein konkreter Monitor ist erforderlich. Laufstart und Abschluss verwenden den Ereignisvertrag. Die Laufzeitfreigabe muss aktiviert sein; Ingest-Endpunkte akzeptieren weiterhin nur Geräteschlüssel.

Auf dieser Seite

Zugriff und Rechte

Messwerte, Zustände, Ereignisse oder Heartbeats mit ausdrücklich freigegebenem Maschinencredential senden. Nutzt die bestehende Telemetrieprüfung, Kontingente, Deduplizierung und Alarmverarbeitung. Ein konkreter Monitor ist erforderlich. Laufstart und Abschluss verwenden den Ereignisvertrag. Die Laufzeitfreigabe muss aktiviert sein; Ingest-Endpunkte akzeptieren weiterhin nur Geräteschlüssel.

Maschinen-Verwaltungszugang in Authorization: Bearer. Beachten Sie die von der Operation benötigten Berechtigungen (Scopes).

Parameter und Header

FeldPositionTyp und GrenzenErforderlichBedeutung
kindPfadstring; {"enum":["points","states","events","heartbeat"]}JaDatenart; ein Heartbeat hat keinen Body.
device_idURL-Parameterstring; {"format":"uuid"}NeinKonkrete Monitor-UUID, für Heartbeats erforderlich; Batches können device_id im JSON enthalten.

Anfragekörper

FeldTyp und GrenzenErforderlichBedeutung
$Batch | StateBatch | EventBatchJa—
$ (oneOf 1)BatchNein—
$ (oneOf 1).batch_idstring; {"format":"uuid"}JaVom Client erzeugte UUID dieser Übermittlung. Verwenden Sie bei Wiederholungen Messkennungen und exakte Nutzlast erneut.
$ (oneOf 1).device_idstring; {"format":"uuid"}NeinOptionaler Monitor-Scope; falls angegeben, muss er zum Schreibschlüssel gehören.
$ (oneOf 1).pointsarray<Point>; {"maxItems":1000,"minItems":1}Ja—
$ (oneOf 1).points[]PointJa—
$ (oneOf 1).points[].idstring; {"format":"uuid"}JaUUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf.
$ (oneOf 1).points[].measured_atstring; {"format":"date-time"}JaVom Gerät gelieferter UTC-Messzeitpunkt; beachten Sie das zulässige Vergangenheits- und Zukunftsfenster.
$ (oneOf 1).points[].series_idstring; {"format":"uuid"}JaUUID der Messreihe des freigegebenen Geräts.
$ (oneOf 1).points[].valuenumber; {"format":"double"}Ja—
$ (oneOf 2)StateBatchNein—
$ (oneOf 2).batch_idstring; {"format":"uuid"}JaVom Client erzeugte UUID dieser Übermittlung. Verwenden Sie bei Wiederholungen Messkennungen und exakte Nutzlast erneut.
$ (oneOf 2).device_idstring; {"format":"uuid"}NeinUUID des Zielgeräts. Für gemeinsam genutzte Schlüssel erforderlich, bei einem ausgewählten Gerät implizit. Zielangaben in Header und Inhalt müssen übereinstimmen.
$ (oneOf 2).pointsarray<StatePoint>; {"maxItems":1000,"minItems":1}Ja—
$ (oneOf 2).points[]StatePointJa—
$ (oneOf 2).points[].idstring; {"format":"uuid"}JaUUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf.
$ (oneOf 2).points[].measured_atstring; {"format":"date-time"}JaVom Gerät gelieferter UTC-Messzeitpunkt; beachten Sie das zulässige Vergangenheits- und Zukunftsfenster.
$ (oneOf 2).points[].series_idstring; {"format":"uuid"}JaUUID der Messreihe des freigegebenen Geräts.
$ (oneOf 2).points[].valueboolean | string; {"maxLength":128}Ja—
$ (oneOf 2).points[].value (oneOf 1)booleanNein—
$ (oneOf 2).points[].value (oneOf 2)string; {"maxLength":128}Nein—
$ (oneOf 3)EventBatchNein—
$ (oneOf 3).batch_idstring; {"format":"uuid"}JaVom Client erzeugte UUID dieser Übermittlung. Verwenden Sie bei Wiederholungen Messkennungen und exakte Nutzlast erneut.
$ (oneOf 3).device_idstring; {"format":"uuid"}NeinUUID des Zielgeräts. Für gemeinsam genutzte Schlüssel erforderlich, bei einem ausgewählten Gerät implizit. Zielangaben in Header und Inhalt müssen übereinstimmen.
$ (oneOf 3).eventsarray<TextEvent>; {"maxItems":1000,"minItems":1}Ja—
$ (oneOf 3).events[]TextEventJa—
$ (oneOf 3).events[].idstring; {"format":"uuid"}JaUUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf.
$ (oneOf 3).events[].labelsobjectNeinErfassungsereignisse verwenden höchstens zehn Labels: source, type, series_id, component_id, parameter_key, change_kind, old_status, new_status und optionale JSON-kodierte old_value / new_value für Boolean- oder Enum-Zustände. change_kind ist collection_status, state_value oder counter_reset. Fehlende Werte wurden nicht übermittelt; eine wieder mögliche Erfassung bestätigt keine Dienstgesundheit. Bestehende Ereignisgrößen gelten weiterhin.
$ (oneOf 3).events[].measured_atstring; {"format":"date-time"}JaVom Gerät gelieferter UTC-Messzeitpunkt; beachten Sie das zulässige Vergangenheits- und Zukunftsfenster.
$ (oneOf 3).events[].messagestring; {"maxLength":2048}Ja—
$ (oneOf 3).events[].runRunEventNein—
$ (oneOf 3).events[].run.duration_msinteger; {"format":"int64","maximum":604800000,"minimum":0}NeinOptional clientgemeldete Dauer beim Abschluss
$ (oneOf 3).events[].run.exit_codeinteger; {"maximum":4294967295,"minimum":-2147483648}NeinNativer Unix- oder Windows-Prozessstatus. Unix-Signale werden als 128 plus Signal dargestellt; Windows-Statuscodes behalten ihren nativen Wert.
$ (oneOf 3).events[].run.idstring; {"format":"uuid"}JaEindeutige Run-ID je Account
$ (oneOf 3).events[].run.scheduled_forstring; {"format":"date-time"}NeinNur beim Start; exakter geplanter UTC-Zeitpunkt für überlappende Toleranzfenster
$ (oneOf 3).events[].run.statusstring; {"enum":["started","succeeded","failed","aborted"]}Ja—
$ (oneOf 3).events[].severitystring; {"enum":["info","warning","critical"]}JaSchweregrad aus dem angegebenen Wertebereich.

Antworten

HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

application/json

FeldTyp und GrenzenErforderlichBedeutung
$object; {"additionalProperties":true}Ja—
Stabile Fehlercodes
invalid_credential
unauthorized
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 401,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
csrf
insufficient_scope
invalid_origin
machine_required
device_scope
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 403,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
feature_unavailable
unavailable
not_found
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
Retry-Afterstring; {"pattern":"^[0-9]+$"}Sekunden bis zur Wiederholung. Bewahren Sie unterstützte Idempotenzkennungen und beachten Sie die Änderungsregeln der Operation.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 503,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
invalid_mcp_token_request
invalid_json
device_scope
device_required
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 422,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
mcp_token_limit
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
Retry-Afterstring; {"pattern":"^[0-9]+$"}Sekunden bis zur Wiederholung. Bewahren Sie unterstützte Idempotenzkennungen und beachten Sie die Änderungsregeln der Operation.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 429,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
feature_unavailable
unavailable
HeaderTyp und GrenzenBedeutung
Cache-Controlstring; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"}Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation.
Content-Languagestring; {"enum":["en","de"]}Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil.
Referrer-PolicyJSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]}Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter.
Retry-Afterstring; {"pattern":"^[0-9]+$"}Sekunden bis zur Wiederholung. Bewahren Sie unterstützte Idempotenzkennungen und beachten Sie die Änderungsregeln der Operation.
VarystringAntworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren.
X-Content-Type-OptionsJSON; {"const":"nosniff"}Der Browser muss den angegebenen Inhaltstyp verwenden.
X-Frame-OptionsJSON; {"const":"DENY"}Die Antwort darf nicht in einem Frame eingebettet werden.
X-Request-IDstringVom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen.

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—
json
{
  "code": "demo",
  "detail": "Demo error detail; inspect the documented code.",
  "instance": "demo",
  "message": "Demo error detail; inspect the documented code.",
  "message_key": "errors.requestFailed",
  "message_params": {},
  "request_id": "00000000000000000000000000000000",
  "status": 503,
  "title": "Demo error",
  "type": "about:blank"
}

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 --request POST --header @"$HOME/.config/metribeacon/headers.txt" --header "Content-Type: application/json" --data-binary '{"batch_id":"00000000-0000-4000-8000-000000000001","device_id":"00000000-0000-4000-8000-000000000002","points":[{"id":"00000000-0000-4000-8000-000000000003","series_id":"00000000-0000-4000-8000-000000000004","measured_at":"2026-10-02T12:00:00Z","value":42}]}' "https://metribeacon.com/api/v1/automation/telemetry/points"
python
import json
from pathlib import Path
import urllib.request
headers = dict(line.split(": ", 1) for line in (Path.home()/".config/metribeacon/headers.txt").read_text().splitlines())
headers["Content-Type"] = "application/json"
request = urllib.request.Request('https://metribeacon.com/api/v1/automation/telemetry/points', data='{"batch_id":"00000000-0000-4000-8000-000000000001","device_id":"00000000-0000-4000-8000-000000000002","points":[{"id":"00000000-0000-4000-8000-000000000003","series_id":"00000000-0000-4000-8000-000000000004","measured_at":"2026-10-02T12:00:00Z","value":42}]}'.encode() if '{"batch_id":"00000000-0000-4000-8000-000000000001","device_id":"00000000-0000-4000-8000-000000000002","points":[{"id":"00000000-0000-4000-8000-000000000003","series_id":"00000000-0000-4000-8000-000000000004","measured_at":"2026-10-02T12:00:00Z","value":42}]}' else None, headers=headers, method='POST')
with urllib.request.urlopen(request, timeout=20) as response:
    print(response.status)
javascript
import {readFileSync} from "node:fs";
import {homedir} from "node:os";
const headers=Object.fromEntries(readFileSync(homedir()+"/.config/metribeacon/headers.txt","utf8").trim().split("\n").map(line=>{const i=line.indexOf(": ");return [line.slice(0,i),line.slice(i+2)]}));
headers["Content-Type"]="application/json";
const response=await fetch("https://metribeacon.com/api/v1/automation/telemetry/points",{method:"POST",headers,body:"{\"batch_id\":\"00000000-0000-4000-8000-000000000001\",\"device_id\":\"00000000-0000-4000-8000-000000000002\",\"points\":[{\"id\":\"00000000-0000-4000-8000-000000000003\",\"series_id\":\"00000000-0000-4000-8000-000000000004\",\"measured_at\":\"2026-10-02T12:00:00Z\",\"value\":42}]}"});
console.log(response.status);
go
package main
import ("fmt";"net/http";"os";"strings";"time")
func main(){
 home,_:=os.UserHomeDir(); headers,_:=os.ReadFile(home+"/.config/metribeacon/headers.txt")
 request,_:=http.NewRequest("POST","https://metribeacon.com/api/v1/automation/telemetry/points",strings.NewReader("{\"batch_id\":\"00000000-0000-4000-8000-000000000001\",\"device_id\":\"00000000-0000-4000-8000-000000000002\",\"points\":[{\"id\":\"00000000-0000-4000-8000-000000000003\",\"series_id\":\"00000000-0000-4000-8000-000000000004\",\"measured_at\":\"2026-10-02T12:00:00Z\",\"value\":42}]}"))
 for _,line:=range strings.Split(strings.TrimSpace(string(headers)),"\n"){name,value,ok:=strings.Cut(line,": ");if ok{request.Header.Set(name,value)}}
 request.Header.Set("Content-Type","application/json")
 client:=&http.Client{Timeout:20*time.Second};response,err:=client.Do(request);if err!=nil{panic(err)};defer response.Body.Close();fmt.Println(response.StatusCode)
}