Autenticação

Tokens de acesso pessoais

A forma mais rápida de entrar. Um token pessoal está associado à sua própria conta e nunca pode ver os dados de outra pessoa: perfeito para dashboards, scripts, folhas de cálculo e projetos pessoais.

Criar um token

Os tokens pessoais são geridos a partir da sua própria conta, por isso estes três endpoints usam a sua sessão normal do Gravl (a mesma autenticação que a app móvel usa), não o próprio token.

Criar
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"
}
CampoTipoNotas
namestringObrigatório. O que está a construir; aparece quando lista os seus tokens. Máximo 120 caracteres.
scopesstring[]Opcional. Por omissão são todos os scopes (os dados são seus). Ver scopes.
expiresInDaysnumberOpcional. 1–365; por omissão 365.

O valor de token é devolvido uma única vez e guardado apenas como hash. Se o perder, revoga e cria outro; não há forma de o voltar a ler.

Usar o token

Envie o token como bearer token para qualquer endpoint /api/v1 para o qual tenha scopes:

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

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

Listar e revogar

MétodoCaminhoDescrição
GET/api/user/personal-tokensOs seus tokens ativos: nome, clientId, scopes, criação, última utilização, expiração. Nunca o valor do token.
DELETE/api/user/personal-tokens/{clientId}Revoga o token imediatamente. Os pedidos em curso com ele passam logo a falhar com 401.

Limites

LimiteValor
Tokens ativos por conta10
Duração máxima365 dias
Limite de pedidos100 pedidos / 15 minutos (por token e por utilizador)

Precisa de automação mais duradoura, acesso app-a-app ou limites mais altos? É para isso que servem as apps OAuth.