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
| Feld | Position | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|---|
| Origin | Header | string; {"format":"uri"} | Nein | Muss, falls vorhanden, dem kanonischen HTTPS-Origin entsprechen. Sec-Fetch-Site cross-site wird abgewiesen. |
| X-CSRF-Token | Header | string | Ja | Wert des Browser-CSRF-Cookies. Bei einem zulässigen Maschinen-Verwaltungszugang nicht erforderlich. |
Anfragekörper
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | ActionIntent | Ja | — |
| $ (oneOf 1) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 1).action | JSON; {"const":"link_identity"} | Ja | Zulässige Aktionskennung. Eine Änderung von Aktion oder Parametern benötigt eine neue Bestätigung. |
| $ (oneOf 1).parameters | object; {"additionalProperties":false} | Ja | Normalisierte Parameter der gewählten Aktion oder des Werkzeugs. Nur dokumentierte Felder werden angenommen. |
| $ (oneOf 1).parameters.attempt_id | string; {"format":"uuid"} | Ja | UUID des browsergebundenen Anbieterversuchs. |
| $ (oneOf 1).parameters.provider | string; {"enum":["google","github"]} | Ja | Konfigurierter Identitätsanbieter. Verfügbarkeit muss vom Anbieterendpunkt gelesen werden. |
| $ (oneOf 1).target_id | string; {"format":"uuid"} | Ja | Zielkonto-UUID der Aktion; Einladung und Protokolllöschung verwenden ein leeres Ziel. |
| $ (oneOf 2) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 2).action | JSON; {"const":"unlink_identity"} | Ja | Zulässige Aktionskennung. Eine Änderung von Aktion oder Parametern benötigt eine neue Bestätigung. |
| $ (oneOf 2).parameters | object; {"additionalProperties":false} | Ja | Normalisierte Parameter der gewählten Aktion oder des Werkzeugs. Nur dokumentierte Felder werden angenommen. |
| $ (oneOf 2).parameters.identity_id | string; {"format":"uuid"} | Ja | UUID einer Anbieteridentität des aktuellen Kontos. |
| $ (oneOf 2).parameters.provider | string; {"enum":["google","github"]} | Ja | Konfigurierter Identitätsanbieter. Verfügbarkeit muss vom Anbieterendpunkt gelesen werden. |
| $ (oneOf 2).target_id | string; {"format":"uuid"} | Ja | Zielkonto-UUID der Aktion; Einladung und Protokolllöschung verwenden ein leeres Ziel. |
| $ (oneOf 3) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 3).action | JSON; {"const":"delete_self"} | Ja | Zulässige Aktionskennung. Eine Änderung von Aktion oder Parametern benötigt eine neue Bestätigung. |
| $ (oneOf 3).parameters | object; {"additionalProperties":false} | Nein | Normalisierte Parameter der gewählten Aktion oder des Werkzeugs. Nur dokumentierte Felder werden angenommen. |
| $ (oneOf 3).target_id | string; {"format":"uuid"} | Ja | Zielkonto-UUID der Aktion; Einladung und Protokolllöschung verwenden ein leeres Ziel. |
| $ (oneOf 4) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 4).action | string; {"const":"add_passkey"} | Ja | — |
| $ (oneOf 4).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 4).parameters.name | string; {"maxLength":100,"minLength":1} | Ja | — |
| $ (oneOf 4).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 5) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 5).action | string; {"const":"remove_passkey"} | Ja | — |
| $ (oneOf 5).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 5).parameters.passkey_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 5).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 6) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 6).action | JSON; {"const":"workspace_invite"} | Ja | — |
| $ (oneOf 6).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 6).parameters.email | string; {"format":"email","maxLength":254} | Ja | — |
| $ (oneOf 6).parameters.role | string; {"enum":["admin","editor","viewer"]} | Ja | — |
| $ (oneOf 6).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 7) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 7).action | JSON; {"const":"workspace_member"} | Ja | — |
| $ (oneOf 7).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 7).parameters.account_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 7).parameters.revision | integer; {"minimum":1} | Ja | — |
| $ (oneOf 7).parameters.role | string; {"enum":["admin","editor","viewer","remove"]} | Ja | — |
| $ (oneOf 7).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 8) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 8).action | JSON; {"const":"workspace_invitation_revoke"} | Ja | — |
| $ (oneOf 8).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 8).parameters.invitation_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 8).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 9) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 9).action | JSON; {"const":"enterprise"} | Ja | — |
| $ (oneOf 9).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 9).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 9).parameters.operation | string; {"maxLength":128} | Ja | — |
| $ (oneOf 9).parameters.digest | string; {"pattern":"^[0-9a-f]{64}$"} | Ja | — |
| $ (oneOf 10) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 10).action | JSON; {"const":"status_brand"} | Ja | — |
| $ (oneOf 10).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 10).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 10).parameters.preview_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 11) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 11).action | JSON; {"const":"status_mail_domain"} | Ja | — |
| $ (oneOf 11).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 11).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 11).parameters.operation | string; {"enum":["rotate","revoke"]} | Ja | — |
| $ (oneOf 11).parameters.revision | integer; {"minimum":1} | Ja | — |
| $ (oneOf 12) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 12).action | JSON; {"const":"workspace_transfer_propose"} | Ja | — |
| $ (oneOf 12).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 12).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 12).parameters.transfer_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 13) | object; {"additionalProperties":false} | Nein | — |
| $ (oneOf 13).action | JSON; {"const":"workspace_transfer_accept"} | Ja | — |
| $ (oneOf 13).target_id | string; {"format":"uuid"} | Ja | — |
| $ (oneOf 13).parameters | object; {"additionalProperties":false} | Ja | — |
| $ (oneOf 13).parameters.transfer_id | string; {"format":"uuid"} | Ja | — |
Antworten
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
| $.expires_at | string; {"format":"date-time"} | Ja | Ablaufzeitpunkt. Ein erfolgreicher Aufruf verlängert diese Frist nur, wenn dies ausdrücklich dokumentiert ist. |
| $.id | string | Ja | UUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf. |
| $.resend_after | integer | Ja | Frühestmögliches Wiederholungsintervall in Sekunden gemäß Serverantwort. |
{
"expires_at": "2026-09-30T12:00:00Z",
"id": "demo",
"resend_after": 0
}| Stabile Fehlercodes |
|---|
| invalid_credential |
| unauthorized |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
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 | — |
{
"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 |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
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 | — |
{
"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 |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
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 | — |
{
"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 |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
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 | — |
{
"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 |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"enum":["strict-origin-when-cross-origin","no-referrer"]} | Standard-Referrerpolicy ist strict-origin-when-cross-origin. Anbieterloginantworten verwenden no-referrer zum Schutz der Loginparameter. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
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 | — |
{
"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 |
| Header | Typ und Grenzen | Bedeutung |
|---|---|---|
| Cache-Control | string; {"pattern":"(?:^|,\\s*)no-store(?:,|$)"} | Private API-Antworten verbieten Speicherung. Öffentliche OAuth-Metadaten werden 300 Sekunden gecacht; Livestreams verbieten zusätzlich Transformation. |
| Content-Language | string; {"enum":["en","de"]} | Sprache lesbarer Antworttexte aus Accept-Language oder der dokumentierten Browserpräferenz. Technische Codes und Kennungen bleiben stabil. |
| Referrer-Policy | JSON; {"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-After | string; {"pattern":"^[0-9]+$"} | Sekunden bis zur Wiederholung. Bewahren Sie unterstützte Idempotenzkennungen und beachten Sie die Änderungsregeln der Operation. |
| Vary | string | Antworten variieren nach Accept-Language; browsergerenderte Antworten können zusätzlich nach Präferenzcookie variieren. |
| X-Content-Type-Options | JSON; {"const":"nosniff"} | Der Browser muss den angegebenen Inhaltstyp verwenden. |
| X-Frame-Options | JSON; {"const":"DENY"} | Die Antwort darf nicht in einem Frame eingebettet werden. |
| X-Request-ID | string | Vom Server erzeugte Anfragekennung. Bei Fehlermeldungen mitgeben; eingehende Werte werden nicht als vertrauenswürdig übernommen. |
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 | — |
{
"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.
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"
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()
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();
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)
}
Verwandte Anleitungen
- HTTP-API, OAuth und MCP
Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.
- DELETE Eigene ausstehende Aktionsbestätigung abbrechen
Nur eine ausstehende Bestätigung des aktuellen Kontos und der aktuellen Sitzung kann abgebrochen werden.
- POST Neue E-Mail-Adresse bestätigen und Sitzungen widerrufen
Neue E-Mail-Adresse bestätigen und Sitzungen widerrufen.
- DELETE Browsereinstieg abbrechen
Entwertet offene E-Mail-Challenges und den browsergebundenen Einstieg und entfernt dessen Voranmeldecookie. Eine bestehende Anwendungssitzung wird nicht widerrufen. Erfordert die erlaubte Browserherkunft.