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).