Autenticazione

Personal access token

La via più rapida per iniziare. Un token personale è legato al tuo account e non può mai vedere i dati di nessun altro: perfetto per dashboard, script, fogli di calcolo e progetti personali.

Crea un token

I token personali si gestiscono dal tuo account, quindi questi tre endpoint usano la tua normale sessione Gravl (la stessa autenticazione dell'app mobile), non il token stesso.

Creazione
POST https://api.gravl.ai/api/user/personal-tokens
Authorization: Bearer <your Gravl session token>
Content-Type: application/json

{
  "name": "My stats dashboard",
  "scopes": ["workouts:read", "stats:read"],
  "expiresInDays": 365
}

{
  "token": "gat_k3rB…",          // ← shown exactly once, store it now
  "clientId": "gci_9fJq…",
  "name": "My stats dashboard",
  "scopes": "workouts:read stats:read",
  "expiresAt": "2027-07-14T09:30:00Z"
}
CampoTipoNote
namestringObbligatorio. Cosa stai costruendo: viene mostrato quando elenchi i tuoi token. Max 120 caratteri.
scopesstring[]Facoltativo. Il default sono tutti gli scope (sono i tuoi dati). Vedi scope.
expiresInDaysnumberFacoltativo. Da 1 a 365; il default è 365.

Il valore di token viene restituito una sola volta e salvato solo come hash. Se lo perdi, revoca e ricrea: non c'è modo di rileggerlo.

Usalo

Invia il token come bearer token verso qualsiasi endpoint /api/v1 per cui ha gli scope:

curl "https://api.gravl.ai/api/v1/stats" \
  -H "Authorization: Bearer gat_k3rB…"

{
  "streak": { "current": 6, "longest": 14, "workoutsThisWeek": 3 },
  "totalXp": 12480,
  "trophyCount": 22
}

Elenca e revoca

MetodoPercorsoDescrizione
GET/api/user/personal-tokensI tuoi token attivi: nome, clientId, scope, data di creazione, ultimo utilizzo, scadenza. Mai il valore del token.
DELETE/api/user/personal-tokens/{clientId}Revoca il token immediatamente. Le richieste in corso che lo usano iniziano subito a fallire con 401.

Limiti

LimiteValore
Token attivi per account10
Durata massima365 giorni
Rate limit100 richieste / 15 minuti (per token per utente)

Ti servono automazioni più longeve, accesso app-to-app o limiti più alti? È a questo che servono le app OAuth.