Authentifizierung
Scopes
Jeder Endpoint erfordert einen Scope, und ein Token trägt nur, was gewährt wurde. Nutzer sehen genau die Scopes, die eine App anfragt; fordere also nur das Minimum an, das du brauchst.
Verfügbare Scopes
| Scope | Gewährt Zugriff auf |
|---|---|
profile:read | Anzeigename, Benutzername, Einheiten, Geschlecht, Größe, Trainingsziel |
workouts:read | Workout-Verlauf, Workout-Details (Übungen & Sätze), Workout-Vorlagen |
records:read | Persönliche Rekorde (1RM, Gewicht, Volumen, Wiederholungen, Dauer, Distanz) |
measurements:read | Körpergewicht und Umfangsmessungen |
stats:read | Streaks, Gesamt-XP und Trophäen |
splits:read | Eigene Trainingssplits |
exercises:read | Die globalen Übungs- und Equipment-Kataloge |
Die API ist aktuell Read-only; es gibt keine Write-Scopes. Schreibzugriff kommt als explizite neue Scopes, niemals stillschweigend in bestehende hineingefaltet.
Durchsetzung
Scopes werden serverseitig bei jedem Request geprüft. Der Aufruf eines Endpoints, für den dein Token keinen Scope hat, gibt 403 mit einem Problem-Details-Body zurück:
GET /api/v1/measurements
Authorization: Bearer gat_… (granted: workouts:read stats:read)
HTTP/1.1 403 Forbidden
{
"status": 403,
"title": "Missing scope",
"detail": "This authorization is missing the 'measurements:read' scope."
}Standardwerte
| Token-Typ | Standard-Scopes |
|---|---|
| Persönliches Token | Alle Scopes, sofern du sie beim Erstellen nicht einschränkst; es sind deine eigenen Daten. |
| OAuth-App | Nur die für deine App registrierten Scopes, denen der Nutzer zugestimmt hat. |
| MCP-Verbindung | Ein fester Scope-Satz, gewährt beim Verbinden deines Accounts; geprüft bei jedem Tool-Aufruf. |