POST E-Mail-Bestätigung oder Plugin-Rechte anfordern
/api/v1/auth/plugin/requests
Eine zehnminütige Browseranfrage für die eigene Verbindung dieses Tokens erstellen. E-Mail-Bestätigung führt Konten nie zusammen; Rechtevorschläge sind auf die fünf Katalogrechte begrenzt und können sich nicht selbst freigeben.
Auf dieser Seite
Zugriff und Rechte
Eine zehnminütige Browseranfrage für die eigene Verbindung dieses Tokens erstellen. E-Mail-Bestätigung führt Konten nie zusammen; Rechtevorschläge sind auf die fünf Katalogrechte begrenzt und können sich nicht selbst freigeben.
Ressourcengebundenes OAuth- oder Maschinen-MCP-Token in Authorization: Bearer.
Parameter und Header
Keine Pfad-, Query- oder zusätzlichen Anfrageheader-Parameter.
Anfragekörper
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object; {"additionalProperties":false} | Ja | — |
| $.kind | string; {"enum":["permissions","email"]} | Ja | — |
| $.expected_revision | integer; {"minimum":1} | Ja | — |
| $.desired_scopes | array<string; {"enum":["account:read","config:read","config:write","telemetry:read","telemetry:write","enterprise:read","notifications:manage"]}>; {"maxItems":7} | Nein | — |
| $.desired_scopes[] | string; {"enum":["account:read","config:read","config:write","telemetry:read","telemetry:write","enterprise:read","notifications:manage"]} | Ja | — |
| $.reason | string; {"maxLength":600} | Nein | — |
Antworten
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
| Stabile Fehlercodes |
|---|
| invalid_token |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
| Stabile Fehlercodes |
|---|
| invalid_request |
| invalid_request |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
| Stabile Fehlercodes |
|---|
| feature_unavailable |
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
Wiederholungen und asynchrone Aufträge
Für diese Änderung gibt es keine allgemeine Wiederholungsgarantie. Prüfen Sie bei unklarer Antwort den betroffenen Eintrag, bevor Sie es erneut versuchen. Beachten Sie Wartezeiten aus Retry-After und fordern Sie abgelaufene Anmelde- oder Aktionscodes neu an.
Anfragebeispiele
Ersetzen Sie Demokennungen, Zeitstempel und Platzhalter durch eigene Werte. Behalten Sie bei Wiederholungen Kennungen, Zeit und Inhalt bei. Diese Beispiele führen auf der Seite keine Anfragen aus.
Halten Sie Anmeldelinks, Codes, Cookies und Schlüssel privat. Schreiben Sie sie nicht in Logs und teilen Sie sie nicht in Hilfeanfragen.
curl --silent --show-error --output /dev/null --write-out "%{http_code}\n" \
--request POST \
--header @"$HOME/.config/metribeacon/headers.txt" \
"https://metribeacon.com/api/v1/auth/plugin/requests"
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())
request = Request("https://metribeacon.com/api/v1/auth/plugin/requests", data=None, 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"));
const response = await fetch("https://metribeacon.com/api/v1/auth/plugin/requests", {
method: "POST", headers, redirect: "manual",
signal: AbortSignal.timeout(10000),
});
console.log(response.status);
await response.body?.cancel();
package main
import (
"fmt"
"net/http"
"time"
"encoding/json"
"os"
"path/filepath"
)
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/plugin/requests", nil)
if err != nil { panic("request failed; credentials and response omitted") }
for name, value := range headers { request.Header.Set(name, value) }
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.
- GET Den Status einer eigenen Plugin-Anfrage lesen
Eine eigene Anfrage und ihren aktuell wirksamen Verbindungszustand lesen. Anfragen anderer Verbindungen lassen sich nicht abfragen.
- POST Eine Besitzchallenge für das lokale Plugin erstellen
Eine fünfminütige Challenge für das aktuelle Maschinenkonto, den Recovery-Key, das Verwaltungscredential und den registrierten Client erstellen. Es werden keine Rechte erteilt.
- POST Die lokale Plugin-Identität authentifizieren
Eine signierte Besitzchallenge prüfen. Initialer Zugriff ist auf Katalogleserechte beschränkt; widerrufene oder abgelaufene Verbindungen verlangen Browserfreigabe. Hier zurückgegebene Tokens sind privater Helferzustand und dürfen nie im Chat erscheinen.