Authentification

Scopes

Chaque endpoint exige un scope, et un token ne porte que ce qui a été accordé. Les utilisateurs voient les scopes exacts qu’une app demande : ne demande que le minimum nécessaire.

Scopes disponibles

ScopeDonne accès à
profile:readNom affiché, nom d’utilisateur, unités, genre, taille, objectif
workouts:readHistorique d’entraînement, détail des séances (exercices et séries), templates d’entraînement
records:readRecords personnels (1RM, poids, volume, reps, durée, distance)
measurements:readPoids de corps et mensurations
stats:readStreaks, XP total et trophées
splits:readSplits d’entraînement personnalisés
exercises:readLes catalogues globaux d’exercices et de matériel

L’API est en lecture seule aujourd’hui : il n’existe pas de scopes d’écriture. L’accès en écriture arrivera sous forme de nouveaux scopes explicites, jamais fondu en silence dans les scopes existants.

Application

Les scopes sont appliqués côté serveur à chaque requête. Appeler un endpoint pour lequel ton token n’a pas reçu de scope renvoie 403 avec un corps problem-details :

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."
}

Par défaut

Type de tokenScopes par défaut
Token personnelTous les scopes, sauf si tu les restreins à la création : ce sont tes propres données.
App OAuthUniquement les scopes enregistrés pour ton app et consentis par l’utilisateur.
Connexion MCPUn ensemble de scopes fixe accordé quand tu connectes ton compte ; appliqué à chaque appel d’outil.