MetriBeacon
Menü
Deutsch

POST Code für eine einzelne sensible Aktion anfordern

/api/v1/auth/confirmations/request

Fordern Sie einen sechsstelligen Bestätigungscode für eine sensible Konto- oder Arbeitsbereichsänderung an. Er gilt fünf Minuten und erlaubt fünf Fehlversuche. Nutzen Sie zur Bestätigung denselben angemeldeten Browser, dieselbe Aktion, dasselbe Ziel und dieselben Parameter. Ein nach 60 Sekunden angeforderter Ersatz macht den bisherigen Code dieser Aktion ungültig. Für Ihr Konto nutzen Sie link_identity, unlink_identity, add_passkey, remove_passkey oder delete_self; Mitgliedschaftsaktionen brauchen Besitzerrechte. Anmeldecodes bestätigen keine Änderungen.

Auf dieser Seite

Zugriff und Rechte

Fordern Sie einen sechsstelligen Bestätigungscode für eine sensible Konto- oder Arbeitsbereichsänderung an. Er gilt fünf Minuten und erlaubt fünf Fehlversuche. Nutzen Sie zur Bestätigung denselben angemeldeten Browser, dieselbe Aktion, dasselbe Ziel und dieselben Parameter. Ein nach 60 Sekunden angeforderter Ersatz macht den bisherigen Code dieser Aktion ungültig. Für Ihr Konto nutzen Sie link_identity, unlink_identity, add_passkey, remove_passkey oder delete_self; Mitgliedschaftsaktionen brauchen Besitzerrechte. Anmeldecodes bestätigen keine Änderungen.

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
OriginHeaderstring; {"format":"uri"}NeinMuss, falls vorhanden, dem kanonischen HTTPS-Origin entsprechen. Sec-Fetch-Site cross-site wird abgewiesen.
X-CSRF-TokenHeaderstringJaWert des Browser-CSRF-Cookies. Bei einem zulässigen Maschinen-Verwaltungszugang nicht erforderlich.

Anfragekörper

FeldTyp und GrenzenErforderlichBedeutung
$ActionIntentJa—
$ (oneOf 1)object; {"additionalProperties":false}Nein—
$ (oneOf 1).actionJSON; {"const":"link_identity"}JaZulässige Aktionskennung. Eine Änderung von Aktion oder Parametern benötigt eine neue Bestätigung.
$ (oneOf 1).parametersobject; {"additionalProperties":false}JaNormalisierte Parameter der gewählten Aktion oder des Werkzeugs. Nur dokumentierte Felder werden angenommen.
$ (oneOf 1).parameters.attempt_idstring; {"format":"uuid"}JaUUID des browsergebundenen Anbieterversuchs.
$ (oneOf 1).parameters.providerstring; {"enum":["google","github"]}JaKonfigurierter Identitätsanbieter. Verfügbarkeit muss vom Anbieterendpunkt gelesen werden.
$ (oneOf 1).target_idstring; {"format":"uuid"}JaZielkonto-UUID der Aktion; Einladung und Protokolllöschung verwenden ein leeres Ziel.
$ (oneOf 2)object; {"additionalProperties":false}Nein—
$ (oneOf 2).actionJSON; {"const":"unlink_identity"}JaZulässige Aktionskennung. Eine Änderung von Aktion oder Parametern benötigt eine neue Bestätigung.
$ (oneOf 2).parametersobject; {"additionalProperties":false}JaNormalisierte Parameter der gewählten Aktion oder des Werkzeugs. Nur dokumentierte Felder werden angenommen.
$ (oneOf 2).parameters.identity_idstring; {"format":"uuid"}JaUUID einer Anbieteridentität des aktuellen Kontos.
$ (oneOf 2).parameters.providerstring; {"enum":["google","github"]}JaKonfigurierter Identitätsanbieter. Verfügbarkeit muss vom Anbieterendpunkt gelesen werden.
$ (oneOf 2).target_idstring; {"format":"uuid"}JaZielkonto-UUID der Aktion; Einladung und Protokolllöschung verwenden ein leeres Ziel.
$ (oneOf 3)object; {"additionalProperties":false}Nein—
$ (oneOf 3).actionJSON; {"const":"delete_self"}JaZulässige Aktionskennung. Eine Änderung von Aktion oder Parametern benötigt eine neue Bestätigung.
$ (oneOf 3).parametersobject; {"additionalProperties":false}NeinNormalisierte Parameter der gewählten Aktion oder des Werkzeugs. Nur dokumentierte Felder werden angenommen.
$ (oneOf 3).target_idstring; {"format":"uuid"}JaZielkonto-UUID der Aktion; Einladung und Protokolllöschung verwenden ein leeres Ziel.
$ (oneOf 4)object; {"additionalProperties":false}Nein—
$ (oneOf 4).actionstring; {"const":"add_passkey"}Ja—
$ (oneOf 4).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 4).parameters.namestring; {"maxLength":100,"minLength":1}Ja—
$ (oneOf 4).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 5)object; {"additionalProperties":false}Nein—
$ (oneOf 5).actionstring; {"const":"remove_passkey"}Ja—
$ (oneOf 5).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 5).parameters.passkey_idstring; {"format":"uuid"}Ja—
$ (oneOf 5).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 6)object; {"additionalProperties":false}Nein—
$ (oneOf 6).actionJSON; {"const":"workspace_invite"}Ja—
$ (oneOf 6).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 6).parameters.emailstring; {"format":"email","maxLength":254}Ja—
$ (oneOf 6).parameters.rolestring; {"enum":["admin","editor","viewer"]}Ja—
$ (oneOf 6).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 7)object; {"additionalProperties":false}Nein—
$ (oneOf 7).actionJSON; {"const":"workspace_member"}Ja—
$ (oneOf 7).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 7).parameters.account_idstring; {"format":"uuid"}Ja—
$ (oneOf 7).parameters.revisioninteger; {"minimum":1}Ja—
$ (oneOf 7).parameters.rolestring; {"enum":["admin","editor","viewer","remove"]}Ja—
$ (oneOf 7).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 8)object; {"additionalProperties":false}Nein—
$ (oneOf 8).actionJSON; {"const":"workspace_invitation_revoke"}Ja—
$ (oneOf 8).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 8).parameters.invitation_idstring; {"format":"uuid"}Ja—
$ (oneOf 8).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 9)object; {"additionalProperties":false}Nein—
$ (oneOf 9).actionJSON; {"const":"enterprise"}Ja—
$ (oneOf 9).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 9).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 9).parameters.operationstring; {"maxLength":128}Ja—
$ (oneOf 9).parameters.digeststring; {"pattern":"^[0-9a-f]{64}$"}Ja—
$ (oneOf 10)object; {"additionalProperties":false}Nein—
$ (oneOf 10).actionJSON; {"const":"status_brand"}Ja—
$ (oneOf 10).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 10).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 10).parameters.preview_idstring; {"format":"uuid"}Ja—
$ (oneOf 11)object; {"additionalProperties":false}Nein—
$ (oneOf 11).actionJSON; {"const":"status_mail_domain"}Ja—
$ (oneOf 11).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 11).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 11).parameters.operationstring; {"enum":["rotate","revoke"]}Ja—
$ (oneOf 11).parameters.revisioninteger; {"minimum":1}Ja—
$ (oneOf 12)object; {"additionalProperties":false}Nein—
$ (oneOf 12).actionJSON; {"const":"workspace_transfer_propose"}Ja—
$ (oneOf 12).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 12).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 12).parameters.transfer_idstring; {"format":"uuid"}Ja—
$ (oneOf 13)object; {"additionalProperties":false}Nein—
$ (oneOf 13).actionJSON; {"const":"workspace_transfer_accept"}Ja—
$ (oneOf 13).target_idstring; {"format":"uuid"}Ja—
$ (oneOf 13).parametersobject; {"additionalProperties":false}Ja—
$ (oneOf 13).parameters.transfer_idstring; {"format":"uuid"}Ja—

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
$objectJa—
$.expires_atstring; {"format":"date-time"}JaAblaufzeitpunkt. Ein erfolgreicher Aufruf verlängert diese Frist nur, wenn dies ausdrücklich dokumentiert ist.
$.idstringJaUUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf.
$.resend_afterintegerJaFrühestmögliches Wiederholungsintervall in Sekunden gemäß Serverantwort.
json
{
  "expires_at": "2026-09-30T12:00:00Z",
  "id": "demo",
  "resend_after": 0
}
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
forbidden
insufficient_scope
invalid_origin
mfa_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": 403,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
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.
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": 404,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
invalid_link
self_change
passkey_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.
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": 409,
  "title": "Demo error",
  "type": "about:blank"
}
Stabile Fehlercodes
invalid_action
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
rate_limited
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"
}

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.

HTTP 202 bedeutet, dass der Hintergrundauftrag angenommen wurde. Prüfen Sie seinen Status mit der zurückgegebenen Auftragskennung. Laden Sie Ergebnisse nach dem Abschluss herunter oder lesen Sie den Fehler- beziehungsweise Abbruchstatus.

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 '{"action":"delete_self","target_id":"00000000-0000-4000-8000-000000000001","parameters":{}}' \
  "https://metribeacon.com/api/v1/auth/confirmations/request"
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/auth/confirmations/request", data="{\"action\":\"delete_self\",\"target_id\":\"00000000-0000-4000-8000-000000000001\",\"parameters\":{}}".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/auth/confirmations/request", {
  method: "POST", headers, redirect: "manual",
  signal: AbortSignal.timeout(10000), body: "{\"action\":\"delete_self\",\"target_id\":\"00000000-0000-4000-8000-000000000001\",\"parameters\":{}}",
});
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/auth/confirmations/request", strings.NewReader("{\"action\":\"delete_self\",\"target_id\":\"00000000-0000-4000-8000-000000000001\",\"parameters\":{}}"))
  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)
}