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"
}| Pole | Typ | Poznámky |
|---|---|---|
name | string | Povinné. Co stavíš; zobrazuje se ve výpisu tvých tokenů. Max 120 znaků. |
scopes | string[] | Volitelné. Výchozí jsou všechny scopes (jsou to tvoje vlastní data). Viz scopes. |
expiresInDays | number | Volitelné. 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í
| Metoda | Cesta | Popis |
|---|---|---|
| GET | /api/user/personal-tokens | Tvoje 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
| Limit | Hodnota |
|---|---|
| Aktivní tokeny na účet | 10 |
| Maximální platnost | 365 dní |
| Rate limit | 100 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.