Autentizace

Osobní access tokeny

Nejrychlejší cesta dovnitř. Osobní token je vázaný na tvůj vlastní účet a nikdy nevidí data nikoho jiného. Ideální pro dashboardy, skripty, tabulky a vedlejší projekty.

Vytvoření tokenu

Osobní tokeny se spravují z tvého vlastního účtu, takže tyhle tři endpointy používají tvoji běžnou session v Gravl (stejnou autentizaci jako mobilní aplikace), ne token samotný.

Vytvoření
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"
}
PoleTypPoznámky
namestringPovinné. Co stavíš; zobrazuje se ve výpisu tvých tokenů. Max 120 znaků.
scopesstring[]Volitelné. Výchozí jsou všechny scopes (jsou to tvoje vlastní data). Viz scopes.
expiresInDaysnumberVolitelné. 1–365; výchozí je 365.

Hodnota token se vrací jen jednou a ukládá se pouze jako hash. Když ji ztratíš, token zneplatníš a vytvoříš nový; zpětně ji přečíst nejde.

Použití

Posílej token jako bearer token na kterýkoli endpoint /api/v1, pro který má 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
}

Výpis a zneplatnění

MetodaCestaPopis
GET/api/user/personal-tokensTvoje aktivní tokeny: název, clientId, scopes, datum vytvoření, poslední použití, expirace. Nikdy hodnota tokenu.
DELETE/api/user/personal-tokens/{clientId}Okamžitě token zneplatní. Probíhající requesty s ním hned začnou padat na 401.

Limity

LimitHodnota
Aktivní tokeny na účet10
Maximální platnost365 dní
Rate limit100 requestů / 15 minut (na token a uživatele)

Potřebuješ déle žijící automatizaci, přístup mezi aplikacemi nebo vyšší limity? Přesně na to jsou OAuth aplikace.