Uwierzytelnianie
Osobiste tokeny dostępu
Najszybsza droga do środka. Token osobisty jest powiązany z Twoim własnym kontem i nigdy nie zobaczy danych nikogo innego. Idealny do dashboardów, skryptów, arkuszy i projektów po godzinach.
Utwórz token
Tokenami osobistymi zarządzasz z poziomu własnego konta, więc te trzy endpointy używają Twojej zwykłej sesji Gravl (tego samego uwierzytelniania, którego używa aplikacja mobilna), a nie samego tokena.
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 | Uwagi |
|---|---|---|
name | string | Wymagane. Co budujesz. Wyświetlane na liście Twoich tokenów. Maks. 120 znaków. |
scopes | string[] | Opcjonalne. Domyślnie wszystkie scope’y (to Twoje własne dane). Zobacz scope’y. |
expiresInDays | number | Opcjonalne. 1–365; domyślnie 365. |
Wartość token jest zwracana tylko raz i przechowywana wyłącznie jako hash. Jeśli ją zgubisz, unieważniasz token i tworzysz nowy. Nie da się jej odczytać ponownie.
Użyj go
Wysyłaj token jako token typu Bearer do dowolnego endpointu /api/v1, do którego ma scope’y:
curl "https://api.gravl.ai/api/v1/stats" \
-H "Authorization: Bearer gat_k3rB…"
{
"streak": { "current": 6, "longest": 14, "workoutsThisWeek": 3 },
"totalXp": 12480,
"trophyCount": 22
}Wylistuj i unieważnij
| Metoda | Ścieżka | Opis |
|---|---|---|
| GET | /api/user/personal-tokens | Twoje aktywne tokeny: nazwa, clientId, scope’y, data utworzenia, ostatnie użycie, wygaśnięcie. Nigdy wartość tokena. |
| DELETE | /api/user/personal-tokens/{clientId} | Unieważnia token natychmiast. Trwające żądania z tym tokenem od razu zaczynają kończyć się kodem 401. |
Limity
| Limit | Wartość |
|---|---|
| Aktywne tokeny na konto | 10 |
| Maksymalny czas życia | 365 dni |
| Limit żądań | 100 żądań / 15 minut (na token na użytkownika) |
Potrzebujesz dłużej działającej automatyzacji, dostępu między aplikacjami albo wyższych limitów? Do tego służą aplikacje OAuth.