Перейти к содержанию

API-токены Grom

Персональные токены доступа (PAT) позволяют обращаться к HTTP API Grom из скриптов и внешних приложений без сессии входа в веб или мобильный клиент.

Где управлять токенами

Откройте IntegrationGrom в веб- или мобильном приложении. Можно создать до 10 токенов на аккаунт и отозвать их в любой момент.

При создании токена Grom показывает полный секрет один раз. Скопируйте его сразу и храните надёжно (менеджер паролей, связка ключей ОС или хранилище секретов вашей автоматизации). Позже секрет снова посмотреть нельзя; в списке виден только короткий префикс (например grom_pat_a1…).

Формат токена

Authorization: Bearer grom_pat_<secret>

Срок жизни по умолчанию — 90 дней. Можно выбрать другую длительность или явно создать токен без срока действия (с предупреждением в UI).

Области доступа (scopes)

Scope Разрешает
workouts:read Список и чтение своих локальных тренировок, треков, графиков, превью карт и медиа
workouts:write Создание, обновление, удаление тренировок; загрузка треков и медиа
equipment:read Список снаряжения
equipment:write Создание, обновление, удаление снаряжения

Лайки, комментарии, социальные функции, импорт Strava и эндпоинты профиля требуют обычного входа в UI (JWT), не PAT.

Доступ PAT к тренировкам ограничен вашими собственными локальными тренировками (не социальная лента и не федеративные тренировки с других инстансов).

Пример

# Список ваших тренировок (PAT с workouts:read)
curl -sS -H "Authorization: Bearer grom_pat_YOUR_TOKEN" \
  "https://your-grom.example/api/v1/workouts?scope=own"

# Создать токен (нужен JWT после входа — для повседневного использования лучше UI приложения)
curl -sS -X POST -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{"name":"Backup","scopes":["workouts:read"],"expires_in_days":90}' \
  "https://your-grom.example/api/v1/auth/pat"

Полное описание API: Swagger UI на /api/docs/ вашего сервера.

Хранение и миграция

Токены хранятся на сервере в personal_access_tokens.yaml (драйвер file) или в бакете bbolt personal_access_tokens. grom migrate-storage копирует токены между драйверами, чтобы существующие секреты grom_pat_… продолжали работать после смены storage.driver.