MetriBeacon
Menü
Deutsch

POST Eine offene Arbeitsbereich-Einladung widerrufen

/api/v1/workspaces/{id}/invitations/{invitation}/revoke

Arbeitsbereich-Rollen und Verwaltungsscopes werden gemeinsam geprüft. Der Owner trägt gemeinsame Kontingente. Einladungen gelten 48 Stunden und können nur mit der eingeladenen, bestätigten E-Mail-Adresse angenommen werden. Mitgliedschaftsänderungen benötigen eine aktionsgebundene Mailbestätigung; dieselbe Bestätigung mit identischer Nutzlast liefert das gespeicherte Ergebnis ohne erneuten Verbrauch. Der Entzug von Editorrechten widerruft ausgegebene Zugangsschlüssel; Mitgliedsentfernung bricht deren Archivjobs ab. Rechte zur Statusseiten-Veröffentlichung bleiben getrennt.

Auf dieser Seite

Zugriff und Rechte

Arbeitsbereich-Rollen und Verwaltungsscopes werden gemeinsam geprüft. Der Owner trägt gemeinsame Kontingente. Einladungen gelten 48 Stunden und können nur mit der eingeladenen, bestätigten E-Mail-Adresse angenommen werden. Mitgliedschaftsänderungen benötigen eine aktionsgebundene Mailbestätigung; dieselbe Bestätigung mit identischer Nutzlast liefert das gespeicherte Ergebnis ohne erneuten Verbrauch. Der Entzug von Editorrechten widerruft ausgegebene Zugangsschlüssel; Mitgliedsentfernung bricht deren Archivjobs ab. Rechte zur Statusseiten-Veröffentlichung bleiben getrennt.

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
idPfadstring; {"format":"uuid"}JaDie konkrete Arbeitsbereich-, Mitglied- oder Einladungskennung. Fremde oder nicht geteilte Arbeitsbereich-Kennungen gewähren keinen Zugriff.
invitationPfadstring; {"format":"uuid"}JaDie konkrete Arbeitsbereich-, Mitglied- oder Einladungskennung. Fremde oder nicht geteilte Arbeitsbereich-Kennungen gewähren keinen Zugriff.

Anfragekörper

FeldTyp und GrenzenErforderlichBedeutung
$object; {"additionalProperties":false}Ja—
$.confirmationActionConfirmationJa—
$.confirmation.codestring; {"pattern":"^[0-9]{6}$"}Ja—
$.confirmation.idstring; {"format":"uuid"}JaUUID dieser Ressource. Bewahren Sie die zurückgegebene Kennung für weitere Operationen auf.

Antworten

application/json

FeldTyp und GrenzenErforderlichBedeutung
$object; {"additionalProperties":true}Ja—
Stabile Fehlercodes
unauthorized
invalid_credential

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
forbidden
csrf
invalid_origin
workspace_scope
confirmation_required
invalid_confirmation

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
not_found

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
already_invited
version_conflict
idempotency_conflict

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
invalid_input
invalid_token
invalid_reference
invalid_action

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
member_limit
rate_limited

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—
Stabile Fehlercodes
unavailable
feature_unavailable

application/problem+json

FeldTyp und GrenzenErforderlichBedeutung
$ProblemJa—
$.codestringJaStabiler maschinenlesbarer Fehlercode
$.detailstringJaKurze lokalisierte Erklärung ohne interne Fehlerdaten
$.instancestringJaEinmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource
$.messagestringJaVorübergehend für bestehende Clients gleich detail
$.message_keystringJaStabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage
$.message_paramsobject; {"additionalProperties":true}JaBenannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML
$.request_idstring; {"pattern":"^[0-9a-f]{32}$"}JaVom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten.
$.statusinteger; {"maximum":599,"minimum":400}Ja—
$.titlestringJaLokalisierte HTTP-Statusbezeichnung
$.typestring; {"const":"about:blank"}Ja—

Wiederholungen und asynchrone Aufträge

Für diese Änderung gibt es keine allgemeine Wiederholungsgarantie. Prüfen Sie bei unklarer Antwort den betroffenen Eintrag, bevor Sie es erneut versuchen. Beachten Sie Wartezeiten aus Retry-After und fordern Sie abgelaufene Anmelde- oder Aktionscodes neu an.

Anfragebeispiele

Ersetzen Sie Demokennungen, Zeitstempel und Platzhalter durch eigene Werte. Behalten Sie bei Wiederholungen Kennungen, Zeit und Inhalt bei. Diese Beispiele führen auf der Seite keine Anfragen aus.

Halten Sie Anmeldelinks, Codes, Cookies und Schlüssel privat. Schreiben Sie sie nicht in Logs und teilen Sie sie nicht in Hilfeanfragen.

shell
curl --fail-with-body --request POST --header @"$HOME/.config/metribeacon/headers.txt" --header 'Content-Type: application/json' --data-binary '{"confirmation":{"id":"00000000-0000-4000-8000-000000000002","code":"00000000"}}' "https://metribeacon.com/api/v1/workspaces/00000000-0000-4000-8000-000000000001/invitations/00000000-0000-4000-8000-000000000001/revoke"
python
import json, os, urllib.request
request = urllib.request.Request("https://metribeacon.com/api/v1/workspaces/00000000-0000-4000-8000-000000000001/invitations/00000000-0000-4000-8000-000000000001/revoke", method="POST", headers={"Cookie": os.environ["MB_COOKIE"], "X-CSRF-Token": os.environ["MB_CSRF"], "Content-Type": "application/json"}, data=json.dumps({'confirmation': {'id': '00000000-0000-4000-8000-000000000002', 'code': '00000000'}}).encode())
with urllib.request.urlopen(request, timeout=30) as response:
    print(json.load(response))
javascript
const response = await fetch("https://metribeacon.com/api/v1/workspaces/00000000-0000-4000-8000-000000000001/invitations/00000000-0000-4000-8000-000000000001/revoke", {method: "POST", credentials: "same-origin", headers: {"Content-Type": "application/json", "X-CSRF-Token": csrfToken}, body: JSON.stringify({"confirmation":{"id":"00000000-0000-4000-8000-000000000002","code":"00000000"}})});
console.log(response.status, await response.json());
go
package main
import ("fmt"; "net/http"; "os"; "strings"; "time")
func main() { client := &http.Client{Timeout:30*time.Second}; request, err := http.NewRequest("POST", "https://metribeacon.com/api/v1/workspaces/00000000-0000-4000-8000-000000000001/invitations/00000000-0000-4000-8000-000000000001/revoke", strings.NewReader("{\"confirmation\":{\"id\":\"00000000-0000-4000-8000-000000000002\",\"code\":\"00000000\"}}")); if err != nil { panic(err) }; request.Header.Set("Cookie", os.Getenv("MB_COOKIE")); request.Header.Set("X-CSRF-Token",os.Getenv("MB_CSRF"));request.Header.Set("Content-Type","application/json");response,err:=client.Do(request);if err!=nil{panic(err)};defer response.Body.Close();fmt.Println(response.StatusCode) }
  • HTTP-API, OAuth und MCP

    Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.

  • POST Ein verifiziertes Konto in einen Arbeitsbereich einladen

    Arbeitsbereich-Rollen und Verwaltungsscopes werden gemeinsam geprüft. Der Owner trägt gemeinsame Kontingente. Einladungen gelten 48 Stunden und können nur mit der eingeladenen, bestätigten E-Mail-Adresse angenommen werden. Mitgliedschaftsänderungen benötigen eine aktionsgebundene Mailbestätigung; dieselbe Bestätigung mit identischer Nutzlast liefert das gespeicherte Ergebnis ohne erneuten Verbrauch. Der Entzug von Editorrechten widerruft ausgegebene Zugangsschlüssel; Mitgliedsentfernung bricht deren Archivjobs ab. Rechte zur Statusseiten-Veröffentlichung bleiben getrennt.

  • GET Mitgliedschaftsänderungen des Arbeitsbereichs lesen

    Arbeitsbereich-Rollen und Verwaltungsscopes werden gemeinsam geprüft. Der Owner trägt gemeinsame Kontingente. Einladungen gelten 48 Stunden und können nur mit der eingeladenen, bestätigten E-Mail-Adresse angenommen werden. Mitgliedschaftsänderungen benötigen eine aktionsgebundene Mailbestätigung; dieselbe Bestätigung mit identischer Nutzlast liefert das gespeicherte Ergebnis ohne erneuten Verbrauch. Der Entzug von Editorrechten widerruft ausgegebene Zugangsschlüssel; Mitgliedsentfernung bricht deren Archivjobs ab. Rechte zur Statusseiten-Veröffentlichung bleiben getrennt.

  • GET Mitglieder und Einladungen des Arbeitsbereichs auflisten

    Arbeitsbereich-Rollen und Verwaltungsscopes werden gemeinsam geprüft. Der Owner trägt gemeinsame Kontingente. Einladungen gelten 48 Stunden und können nur mit der eingeladenen, bestätigten E-Mail-Adresse angenommen werden. Mitgliedschaftsänderungen benötigen eine aktionsgebundene Mailbestätigung; dieselbe Bestätigung mit identischer Nutzlast liefert das gespeicherte Ergebnis ohne erneuten Verbrauch. Der Entzug von Editorrechten widerruft ausgegebene Zugangsschlüssel; Mitgliedsentfernung bricht deren Archivjobs ab. Rechte zur Statusseiten-Veröffentlichung bleiben getrennt.