Autenticazione
Scope
Ogni endpoint richiede uno scope e un token porta con sé solo ciò che è stato concesso. Gli utenti vedono gli scope esatti che un'app richiede: chiedi il minimo necessario.
Scope disponibili
| Scope | Dà accesso a |
|---|---|
profile:read | Nome visualizzato, username, unità di misura, genere, altezza, obiettivo |
workouts:read | Cronologia degli allenamenti, dettaglio dell'allenamento (esercizi e serie), template di allenamento |
records:read | Record personali (1RM, peso, volume, ripetizioni, durata, distanza) |
measurements:read | Peso corporeo e misurazioni delle circonferenze |
stats:read | Streak, XP totali e trofei |
splits:read | Split di allenamento personalizzati |
exercises:read | I cataloghi globali di esercizi e attrezzatura |
Oggi l'API è in sola lettura: non esistono scope di scrittura. L'accesso in scrittura verrà introdotto come nuovi scope espliciti, mai incorporato in silenzio in quelli esistenti.
Applicazione
Gli scope vengono applicati lato server a ogni richiesta. Chiamare un endpoint per cui il tuo token non ha lo scope restituisce 403 con un corpo 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."
}Valori predefiniti
| Tipo di token | Scope predefiniti |
|---|---|
| Token personale | Tutti gli scope, a meno che tu non li restringa alla creazione: sono i tuoi dati. |
| App OAuth | Solo gli scope registrati per la tua app e approvati dall'utente. |
| Connessione MCP | Un insieme fisso di scope concesso quando colleghi il tuo account; applicato a ogni chiamata di tool. |