Krenk
API

Для разработчиков

Открытый API без платы и тарифов. Это тот же API, которым пользуется приложение.

Ключ

Создайте личный ключ в Настройках → Ключи API (до 10 штук, показывается один раз, удаляется в любой момент) и передавайте в заголовке:

Authorization: Bearer krk_…

Ключ даёт доступ к вашему аккаунту так же, как вход. Не публикуйте его. Ключом нельзя получить вход на сайт (/web-ticket закрыт для ключей). Ответы ошибок: JSON {"error": "…"}; 401 — неверный ключ, 429 — слишком часто.

Основные запросы
ЗапросЧто делает
GET /api/v1/activities?limit=50&offset=0Список ваших поездок (до 200 за запрос)
GET /api/v1/activities/{id}Одна поездка: показатели, тип, велосипед, теги
PUT /api/v1/activities/{id}?filename=ride.fit&sport=gravelЗагрузка файла GPX, FIT или FIT.GZ (тело запроса, до 100 МБ). {id} придумываете вы (UUID): повтор запроса не создаёт дубликат
PATCH /api/v1/activities/{id}Изменить название, тип, описание, теги, велосипед, видимость
GET /api/v1/activities/{id}/originalИсходный файл без изменений
GET /api/v1/activities/{id}/export.gpxПоездка в GPX 1.1
GET /api/v1/activities/{id}/trackТочки для графиков (JSON)
DELETE /api/v1/activities/{id}Удалить поездку и файл
GET /api/v1/bikes, POST /api/v1/bikesСписок и создание велосипедов
Пример: загрузить файл и получить список
KEY=krk_…
ID=$(uuidgen)
curl -X PUT -H "Authorization: Bearer $KEY" --data-binary @ride.fit \
  "https://krenk.ru/api/v1/activities/$ID?filename=ride.fit"
curl -H "Authorization: Bearer $KEY" "https://krenk.ru/api/v1/activities?limit=5"

Полное описание запросов и кодов ответов лежит в репозитории проекта (docs/API.md).