API Geotrackable
API Geotrackable доступний у цьому самому робочому домені для застосунку Android та інших авторизованих клієнтів.
Використовуйте ці приклади, щоб перевірити робочий хост, отримати bearer-токен, прочитати публічні дані мапи, синхронізувати локації для користувача, який увійшов, і працювати з трекерами без вгадування назв маршрутів з інтерфейсу сайту.
Відкрити поточний стан Створити звичайні локації та локації для трекблів Дані помилок і відновлення Запит секретного коду трекера Чому GET /api/account повернув 404
Налаштування застосунку Android
На вкладці синхронізації Android збережіть як кінцеву точку лише адресу сайту. Не додавайте /api.
https://Geotrackable.com
Увійдіть, надіславши облікові дані локального облікового запису до /api/auth/login?useCookies=false&useSessionCookies=false, а потім передавайте отриманий bearer-токен у заголовку Authorization.
Очікувані відповіді
Захищені маршрути повертають HTTP 401, доки клієнт не надішле bearer-токен. Відкриття в браузері маршруту лише для POST повертає HTTP 405, оскільки браузер надсилає GET.
Кожен цикл автономної синхронізації має спочатку виконувати push, а потім pull.
Невідомий шлях API повертає HTTP 404. Виклик відомого шляху неправильним HTTP-методом зазвичай повертає HTTP 405 і може містити заголовок Allow. Шлях /api/account призначений лише для видалення й навмисно не має кінцевої точки GET, тому GET /api/account повертає 404 із порадою щодо дій; для читання даних облікового запису використовуйте /api/auth/manage/info.
Перевірте хост, увійдіть і підтвердьте токен перед викликом приватних маршрутів.
Маршрут інформації про поточний обліковий запис походить з identity API фреймворку. Окремий маршрут account використовується лише для остаточного видалення.
Перевірка стану
Цей маршрут анонімний і є найшвидшим способом підтвердити, що робочий хост API доступний.
curl "https://Geotrackable.com/api/system/status"
{
"status": "online",
"utcNow": "2026-06-20T12:00:00Z",
"androidBetaPageUrl": "https://Geotrackable.com/en-US/Account/Beta"
}
Реєстрація
Створіть локальний обліковий запис з електронною поштою, паролем та ім’ям користувача публічного профілю, перш ніж запитувати bearer-токен. Імена користувачів можуть містити лише малі літери, цифри та підкреслення.
curl -X POST "https://Geotrackable.com/api/auth/register" \
-H "Content-Type: application/json" \
-d '{
"email": "tester@example.com",
"userName": "trail_tester",
"password": "StrongP@ssw0rd!"
}'
Bearer-вхід
Використовуйте облікові дані локального облікового запису з вимкненими cookie, коли скрипту, застосунку або API-клієнту потрібен bearer-токен.
curl -X POST "https://Geotrackable.com/api/auth/login?useCookies=false&useSessionCookies=false" \
-H "Content-Type: application/json" \
-d '{
"email": "tester@example.com",
"password": "StrongP@ssw0rd!"
}'
{
"tokenType": "Bearer",
"accessToken": "eyJhbGciOi..."
}
Поточний обліковий запис і профіль
Кінцевої точки профілю GET /api/account немає. Використовуйте кінцеву точку identity manage-info для метаданих облікового запису користувача, який увійшов, а сторінки профілю сайту - для публічного відображення профілю.
GET /api/account не є опублікованим маршрутом читання.
GET /api/auth/manage/info повертає дані ідентичності користувача, який увійшов.
DELETE /api/account остаточно видаляє поточний обліковий запис.
curl "https://Geotrackable.com/api/auth/manage/info" \
-H "Authorization: Bearer <access token>"
Починайте з цих маршрутів, коли перевіряєте підключення Android або API-клієнта.
| Метод | Маршрут |
|---|---|
GET |
/api/system/status |
POST |
/api/auth/register |
POST |
/api/auth/login?useCookies=false&useSessionCookies=false |
GET |
/api/auth/manage/info |
POST |
/api/sync/push |
POST |
/api/sync/pull |
GET |
/api/notes/public/bounds |
GET |
/api/notes/public/nearby |
GET |
/api/categories/mine |
GET |
/api/notes/mine |
POST |
/api/notes/mine |
POST |
/api/trackables/{trackableId}/notes |
GET |
/api/trackables/public |
POST |
/api/trackables/lookup |
GET |
/api/trackables/active |
DELETE |
/api/account |
Створіть звичайну локацію або створіть її безпосередньо для трекбла, яким ви керуєте.
Використовуйте POST /api/notes/mine для звичайної особистої локації. Використовуйте POST /api/trackables/{trackableId}/notes, якщо автентифікований обліковий запис є особистим власником активованого трекбла або адміністратором його команди. Не надсилайте POST до /api/trackables/{trackableId}; цей маршрут ресурсу підтримує лише GET.
Текстова властивість локації — body, а не content. categoryId є необов’язковим, а latitude і longitude потрібно надавати разом. Маршрут трекбла отримує trackableId з URL, тому не повторюйте його у властивості trackableIds.
Публічні локації в межах мапи
Використовуйте межі, коли клієнт уже має область перегляду мапи й потребує видимих публічних нотаток локацій для цієї ділянки.
curl "https://Geotrackable.com/api/notes/public/bounds?minLatitude=41.78&minLongitude=-87.75&maxLatitude=41.96&maxLongitude=-87.54&contentLanguage=en-US"
[
{
"noteId": "4d6c5df3-3c53-4d0e-8e72-7d98a0f8a9f3",
"title": "Trailhead parking",
"body": "Small public lot near the north entrance.",
"contentLanguage": "en-US",
"latitude": 41.8818,
"longitude": -87.6231,
"visibility": 1,
"updatedUtc": "2026-06-20T12:00:00Z"
}
]
Створити звичайну особисту локацію
Цей маршрут створює локацію без прив’язування до трекбла. Не вказуйте categoryId, щоб використати типову категорію облікового запису. Відповідь містить збережену локацію та noteId для наступних запитів.
Запити на створення приймають читабельні назви переліків, як-от Private, Public і Disabled, як показано нижче, а також надалі приймають їхні числові значення. Наразі відповіді для нотаток кодують visibility і commentPolicy числами: visibility 0 означає Private, 1 — Public, а 2 — VisibleOnceAssociatedTrackableAccessed; commentPolicy 0 означає Disabled, 1 — LoggedInUsers, а 2 — TeamMembers.
curl -X POST "https://Geotrackable.com/api/notes/mine" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"title": "Cache hide approach",
"body": "Use the east footpath after rain.",
"contentLanguage": "en-US",
"latitude": 41.8818,
"longitude": -87.6231,
"visibility": "Private",
"commentPolicy": "Disabled"
}'
curl -X POST "https://Geotrackable.com/api/categories/mine" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Weekend route checks",
"contentLanguage": "en-US",
"parentCategoryId": null
}'
Створити локацію для керованого трекбла
Цей одноетапний маршрут атомарно створює повну нотатку про локацію та зупинку подорожі трекбла. Трекбл має бути активований, а обліковий запис токена Bearer — бути його особистим власником або активним адміністратором команди-власника. Для командних трекблів нотатка автоматично створюється в тій самій команді.
curl -X POST "https://Geotrackable.com/api/trackables/<TRACKABLE_ID>/notes" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"title": "Dropped off at spot #1",
"body": "Left near the park.",
"contentLanguage": "en-US",
"latitude": 41.8827,
"longitude": -87.6233,
"visibility": "Private",
"commentPolicy": "Disabled"
}'
{
"trackableId": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63",
"journeyStopId": "3a223d33-5442-4cf7-84a1-3d937a253f30",
"note": {
"noteId": "26f84cdd-02e7-4c18-a153-f2754418f435",
"title": "Dropped off at spot #1",
"body": "Left near the park.",
"latitude": 41.8827,
"longitude": -87.6233
},
"message": "Location note created and added to the trackable journey."
}
Повторювати POST після тайм-ауту з невідомим результатом небезпечно. Перш ніж повторювати запит, оновіть подорож трекбла та свої локації, щоб клієнт не створив дублікати нотатки й зупинки.
Прив’язати локацію за наявності секретного доступу або доступу активного сеансу
Людина, яка знайшла трекбл, але не керує ним, має виконати два виклики: спочатку створити звичайну локацію, прочитати noteId з відповіді, а потім прив’язати один активований трекбл за його секретним кодом. selectedActiveTrackableIds призначено лише для трекблів, активних у тому самому браузерному сеансі, що підтримується файлами cookie.
curl -X POST "https://Geotrackable.com/api/public/notes/<NOTE_ID>/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"trackableSecretCodes": "<TRACKABLE_SECRET_CODE>"
}'
Попри назву властивості у множині, trackableSecretCodes приймає один код на запит. Нотатка повинна мати координати, а трекбл має бути вже активований. Щоб прив’язати інший трекбл, повторіть запит на прив’язування.
Для спрощеної точки подорожі з координатами, але без заголовка, body, категорії чи повної нотатки про локацію, використовуйте POST /api/trackables/{trackableId}/journey-stops.
Спочатку надішліть локальні зміни, а потім отримайте серверне представлення для користувача й поточної публічної області.
Обидва маршрути синхронізації потребують bearer-автентифікації. Анонімні приватні локації можуть залишатися локально на пристрої, але server sync API їх не приймає.
Запит push
curl -X POST "https://Geotrackable.com/api/sync/push" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"deviceId": "5dd06ca7-34a5-4f2e-812d-3f1ef3e48290",
"notes": [
{
"noteId": "ef90c4ca-88a9-4a9b-b3a8-36e2649c5dcb",
"ownerUserId": "a7cfd28f-c17f-4cf7-8913-47fa10fd0d1f",
"categoryId": "ca90c4ca-88a9-4a9b-b3a8-36e2649c5dcb",
"title": "Offline field stop",
"body": "Saved while disconnected.",
"contentLanguage": "en-US",
"latitude": 41.8818,
"longitude": -87.6231,
"visibility": 0,
"isDeleted": false,
"updatedUtc": "2026-06-20T12:05:00Z",
"clientMutationId": "android-offline-42",
"teamId": null
}
],
"categories": [
{
"categoryId": "ca90c4ca-88a9-4a9b-b3a8-36e2649c5dcb",
"ownerUserId": "a7cfd28f-c17f-4cf7-8913-47fa10fd0d1f",
"name": "Offline field notes",
"contentLanguage": "en-US",
"teamId": null,
"parentCategoryId": null,
"sortOrder": 0,
"isDeleted": false,
"updatedUtc": "2026-06-20T12:04:00Z"
}
]
}'
Кожна нотатка має посилатися на категорію, уже видиму обліковому запису, що ввійшов, або на категорію з того самого надсилання. Під час спільного офлайн-створення зберігайте однаковий categoryId в обох записах.
Запит pull
curl -X POST "https://Geotrackable.com/api/sync/pull" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"lastSyncUtc": "2026-06-20T11:30:00Z",
"publicArea": {
"minLatitude": 41.78,
"minLongitude": -87.75,
"maxLatitude": 41.96,
"maxLongitude": -87.54
}
}'
{
"serverSyncUtc": "2026-06-20T12:06:00Z",
"userNotes": [],
"userCategories": [],
"teamCategories": [],
"publicNotes": [],
"teamNotes": []
}
Вирішіть конфлікти надсилання перед отриманням даних
Правильне надсилання може повернути HTTP 200 із колекцією conflicts. Це результат синхронізації окремої сутності, а не збій передавання. Кожен конфлікт містить entityId, entityType, зрозумілий людині reason, стабільний code і конкретний action.
{
"entityId": "ef90c4ca-88a9-4a9b-b3a8-36e2649c5dcb",
"entityType": "Note",
"reason": "Incoming note update is stale.",
"code": "stale_update",
"action": "Pull the current server copy, merge or discard the local edit, and then push a newer update."
}
Не надсилайте відхилену сутність повторно в прихованому циклі. stale_update вимагає отримати дані й вирішити, як їх об’єднати; team_membership_required вимагає оновити членство; online_team_management_required переносить зміну до онлайн-API команди; entity_ownership_conflict означає, що для цього облікового запису перевагу має копія сервера.
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
Секретні коди й приватні QR-навантаження є чутливими обліковими даними. Звичайні маршрути читання не повертають їх після створення.
Властивість secretCode у POST /api/trackables необов’язкова. Пропустіть її, якщо хочете, щоб Geotrackable згенерував унікальний системний секретний код, або надішліть дозволене користувацьке значення, якщо фізичний предмет уже має код, який потрібно зберегти.
Публічний перегляд і пошук
curl "https://Geotrackable.com/api/trackables/public?contentLanguage=en-US"
curl -X POST "https://Geotrackable.com/api/trackables/lookup" \
-c geotrackable.cookies \
-H "Content-Type: application/json" \
-d '{
"code": "GT7F3K9"
}'
Пошук за секретним кодом або QR може створити активний сеанс на зразок браузерного. Збережіть сховище файлів cookie з відповіді для подальших викликів активного сеансу, захищайте цей файл як облікові дані та видаліть його, коли сеанс більше не потрібен.
Створити трекер
У рекомендованому запиті secretCode пропущено. Пропущене значення, null, порожній рядок або лише пробіли вказують серверу згенерувати код. Непорожнє значення запитує саме цей користувацький код після нормалізації та перевірки доступності.
curl -X POST "https://Geotrackable.com/api/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Scout trail coin",
"description": "Move this coin along family-friendly trails.",
"visibility": "AlwaysVisibleToEveryone",
"activateImmediately": true
}'
Запит певного секретного коду
Надсилайте secretCode лише тоді, коли предмет уже має користувацький ідентифікатор. Якщо нормалізоване значення вільне, сервер приймає його й повертає HTTP 201. Згенерований публічний код є окремим і все одно призначається Geotrackable.
curl -X POST "https://Geotrackable.com/api/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Existing event tag",
"description": "Uses the identifier already printed on the tag.",
"visibility": "VisibleOnceAccessed",
"activateImmediately": true,
"secretCode": "TAG42"
}'
Користувацькі коди мають містити не більше 32 символів і бути вільними в усьому просторі публічних і секретних кодів трекерів. Коди, що починаються з GT, LN, TB, GK або GC, зарезервовано для системних ідентифікаторів або ідентифікаторів сайтів походження; їх не можна використовувати як користувацькі секретні коди Geotrackable.
Відповідь на створення — одноразове розкриття
Негайно збережіть повернуті secretCode і scanUrl. Подальші маршрути списку, відомостей, пошуку, коментарів і подорожі навмисно не розкривають ці облікові дані знову.
HTTP/1.1 201 Created
{
"trackableId": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63",
"heading": "Scout trail coin",
"items": [
{
"trackableId": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63",
"name": "Scout trail coin",
"publicCode": "GT-7F3K9Q",
"secretCode": "GT8M2Q7V",
"scanUrl": "https://geotrackable.com/trackable/<private-qr-token>",
"qrPayload": "<private-qr-token>"
}
]
}
Активний секретний доступ
Після введення браузером дійсного секретного коду або сканованого навантаження маршрути активної сесії показують, що цей браузер зараз може відкрити повторно.
curl "https://Geotrackable.com/api/trackables/active" \
-b geotrackable.cookies
curl -X POST "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/message" \
-b geotrackable.cookies \
-H "Content-Type: application/json" \
-d '{
"statusMessage": "Live hunt in progress"
}'
Коли запитаний код уже зайнятий
Конфлікт користувацького коду повертає HTTP 409 із code trackable_secret_code_taken. Цей запит не створив трекер. Не повторюйте запит із тим самим значенням: пропустіть secretCode, щоб отримати згенерований код, або виберіть інший дозволений користувацький код.
{
"type": "/en-US/api-docs#errors-and-problem-details",
"title": "Requested secret code is unavailable.",
"status": 409,
"detail": "That secret code is already in use by another Geotrackable identifier. Supplying a secret code is optional: omit it to receive a unique system-generated code, or choose a different code.",
"instance": "/api/trackables",
"code": "trackable_secret_code_taken",
"field": "secretCode",
"action": "Omit secretCode to receive a unique system-generated code, or submit a different allowed secretCode.",
"requestId": "0HN7EXAMPLE:00000001",
"documentation": "/en-US/api-docs#errors-and-problem-details"
}
Дії для зарезервованого префікса
GTзарезервовано для кодів, які видає система Geotrackable. Пропустіть secretCode і дозвольте цьому хосту видати код.LNналежить трекованим об’єктам LocationNotes; опрацюйте предмет на сайті його походження, а не приймайте його код тут.TBналежить трекованим об’єктам Geocaching.com; скористайтеся процесом відстеження на сайті походження.GKналежить трекованим об’єктам GeoKrety.org; скористайтеся процесом відстеження на сайті походження.GCє ідентифікатором геокеша Geocaching.com, а не секретним кодом Geotrackable.
Зарезервовані або недійсні користувацькі значення повертають відповідь про проблему з action і посиланням на документацію. Безпечний запасний варіант — завжди вилучити secretCode із запиту на створення.
Записати зупинку подорожі
Пряма зупинка подорожі - це легке оновлення маршруту, коли повна нотатка локації не потрібна.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/journey-stops" \
-H "Content-Type: application/json" \
-d '{
"latitude": 41.8818,
"longitude": -87.6231,
"accessCode": "GT-SECRET-OR-SCAN-PAYLOAD"
}'
Коментувати трекер
Виклики від користувачів, які ввійшли, можуть додавати коментарі зі своєю ідентичністю Bearer. Анонімні виклики також можуть коментувати активований трекер, якщо клієнт має активний сеанс, підтверджений секретним кодом, або надсилає accessCode саме цього предмета.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments" \
-b geotrackable.cookies \
-H "Content-Type: application/json" \
-d '{
"body": "Found near the overlook and moved west.",
"accessCode": ""
}'
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
Створіть команду
curl -X POST "https://Geotrackable.com/api/teams" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"name": "trail-club",
"title": "Trail Club",
"description": "Weekend route and trackable group.",
"joinPolicy": "RequestsAllowed",
"pageVisibility": "Public",
"defaultNoteVisibility": "Public",
"contentLanguage": "en-US"
}'
Створити посилання-запрошення
curl -X POST "https://Geotrackable.com/api/teams/73edb511-cd8c-4888-8c45-3a04b3d6da11/invite-links" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"isSingleUse": false
}'
curl -X POST "https://Geotrackable.com/api/teams/invite-links/trail-club/INVITE-CODE/join" \
-H "Authorization: Bearer <access token>"
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
Зображення
Читання списків може бути анонімним, коли батьківська сторінка безпечна для публічного доступу. Маршрути завантаження й видалення потребують bearer-автентифікації.
curl "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
curl -X POST "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@trail-coin.jpg"
Перевірка зовнішнього посилання
Перевірте зовнішнє посилання перед збереженням його в локації, команді, трекері або групі трекерів.
curl -X POST "https://Geotrackable.com/api/external-links/verify" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/trail-guide"
}'
Звіти про вміст і помилки
Використовуйте звіти для питань щодо вмісту публічних сторінок і помилок клієнтської діагностики, які може знадобитися переглянути підтримці.
curl -X POST "https://Geotrackable.com/api/compliance/reports" \
-H "Content-Type: application/json" \
-d '{
"pageType": "Trackable",
"contentType": "Trackable",
"pageTitle": "Scout trail coin",
"pageUrl": "https://Geotrackable.com/trackable/GT7F3K9",
"pageReference": "GT7F3K9",
"contentLabel": "Trackable page",
"contentReference": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63",
"contentPreview": "Move this coin along family-friendly trails.",
"reportTitle": "Outdated public link",
"reportExplanation": "The linked trail guide now points somewhere unexpected."
}'
Видалити обліковий запис через API
Автентифіковані клієнти можуть остаточно видалити поточний обліковий запис і синхронізовані персональні дані через API. Спочатку прочитайте сторінку Видалити дані, якщо потрібні кроки експорту або правила збереження спільних трекерів.
curl -X DELETE "https://Geotrackable.com/api/account" \
-H "Authorization: Bearer <access token>"
{
"deletedAccount": true,
"notesDeleted": 14,
"categoriesDeleted": 6,
"linkedProvidersDeleted": 2
}
Помилки містять наступну корисну дію
Відповіді API про проблеми позначають помилку стабільним code, пояснюють обставини конкретного запиту в detail і надають action, який клієнт може показати або виконати. Надайте requestId, коли підтримці потрібно зіставити запит із діагностикою сервера.
Обробляйте машинний code, зберігайте requestId і виконуйте action замість розбору англійського тексту.
Помилки API використовують application/problem+json і об’єкт відомостей про проблему у стилі RFC. Зрозумілі людині тексти title і detail можуть із часом змінюватися або локалізуватися; стабільним значенням для програмної логіки є code.
Структура відповіді про проблему
Content-Type: application/problem+json
{
"type": "/en-US/api-docs#errors-and-problem-details",
"title": "Trackable access is required.",
"status": 403,
"detail": "This request needs access to this specific trackable.",
"instance": "/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments",
"code": "trackable_access_code_required",
"action": "Sign in, keep this trackable active in this client, or provide its secret code or private QR access value.",
"requestId": "0HN7EXAMPLE:00000002",
"documentation": "/en-US/api-docs#errors-and-problem-details"
}
Призначення кожного поля
type- Стабільний URI цієї угоди про відомості щодо проблеми. Щоб розрізняти конкретні помилки в клієнтській логіці, використовуйте code, а не type чи зрозумілий людині текст.
title- Короткий зрозумілий підсумок, придатний для заголовка. Не будуйте розгалуження клієнтської логіки на цьому тексті.
status- HTTP status повторено в тілі, щоб збережена діагностика залишалася зрозумілою.
detail- Пояснення для конкретного запиту, яке описує помилку, але не повторює облікові дані чи приватні токени.
instance- Шлях запиту, пов’язаний із цим випадком. Вхідні шляхи сайту, що містять секрети, можуть бути приховані.
code- Стабільний машинозчитуваний ідентифікатор, за яким клієнти мають розгалужувати логіку.
action- Конкретний крок відновлення: виправити поле, пройти автентифікацію, зачекати, зменшити корисне навантаження або вибрати інше значення.
requestId- Значення кореляції, яке безпечно додавати до звернення в підтримку. Збережіть його разом зі status, code, методом і шаблоном маршруту.
documentation- Адреса довідки для цієї групи помилок або точного code.
Помилки перевірки містять назви полів
Помилки перевірки HTTP 400 додають об’єкт errors. Кожен ключ — це властивість JSON або частина запиту, яку треба виправити, а кожне значення є масивом, оскільки одне поле може порушувати кілька правил.
{
"type": "/en-US/api-docs#errors-and-problem-details",
"title": "Request validation failed.",
"status": 400,
"detail": "One or more request fields are invalid. Correct every field listed in errors and submit the request again.",
"instance": "/api/trackables",
"code": "validation_failed",
"action": "Correct every field listed in errors and submit the request again.",
"requestId": "0HN7EXAMPLE:00000003",
"documentation": "/en-US/api-docs#errors-and-problem-details",
"errors": {
"name": ["Name cannot be longer than 160 characters."],
"secretCode": ["Secret code cannot be longer than 32 characters."]
}
}
Неправильний JSON і тип вмісту
Недійсний JSON є помилкою перевірки запиту. Збережіть requestId, виправте синтаксис і знову надішліть тіло з Content-Type: application/json. Кінцеві точки завантаження файлів натомість вимагають multipart/form-data та частину files або file з назвою поля, визначеною для конкретного маршруту.
Навіть синтаксично правильне тіло запиту може порушувати бізнес-правило. Для проблем окремих полів використовуйте errors, для програмної логіки — code, для контексту — detail, а для наступного кроку — action. Не показуйте користувачам необроблені винятки сервера чи трасування стека.
| Стан | Що це означає | Відновлення | Поради щодо повторних спроб |
|---|---|---|---|
400 Bad Request |
JSON, значення запиту, обмеження полів або бізнес-правило відхилили запит. | Якщо є errors, прочитайте їх; інакше прочитайте code, detail і action. Виправте запит, перш ніж надсилати його знову. | Не повторюйте запит без змін. |
401 Unauthorized |
Захищений маршрут не отримав придатного токена Bearer. Помилки входу також повертають 401, не розкриваючи, чи існує вказана електронна адреса. | Отримайте або оновіть токен, перевірте схему Bearer і хост, а потім один раз повторіть потрібний виклик. | Повторюйте запит лише після зміни автентифікації; незмінені повторні спроби не допоможуть. |
403 Forbidden |
Виклик належить відомому користувачу, але йому бракує потрібного права власності, ролі в команді, активного сеансу трекера або доступу, підтвердженого секретним кодом. | Виконайте action: скористайтеся відповідним обліковим записом, запросіть доступ, активуйте предмет або надайте доступ саме до цього трекера. | Не повторюйте запит, доки не зміниться стан доступу. |
404 Not Found |
Маршрут або ресурс не знайдено. Приватні ресурси можуть навмисно виглядати відсутніми, якщо виклик не повинен дізнаватися про їх існування. | Перевірте метод, маршрут, GUID, публічний код і поточний стан списку. Оновіть застарілі дані клієнта. | Не запускайте цикл повторів. Повторюйте запит лише після виправлення ідентифікатора або оновлення стану. |
405 Method Not Allowed |
Шлях існує, але використано неправильний HTTP-метод, наприклад маршрут лише для POST відкрито в браузері через GET. | Використовуйте метод, указаний у цій документації, і перевіряйте заголовок відповіді Allow, коли його надано. | Повторюйте запит лише з правильним методом і структурою запиту. |
409 Conflict |
Запит правильний, але конфліктує з поточним станом сервера; зокрема, запитаний секретний код трекера вже зайнятий. | Перезавантажте поточний стан або змініть конфліктне значення. Під час створення трекера пропустіть secretCode, щоб його було згенеровано, або виберіть інший користувацький код. | Не повторюйте створення з тим самим значенням; повторюйте лише після зміни запиту або стану. |
413 Content Too Large |
Тіло запиту або набір завантажених файлів перевищує дозволений розмір. | Зменште кількість або розмір зображень, розділіть завантаження, якщо це дозволяє робочий процес, і надсилайте запити метаданих окремо від медіафайлів. | Повторюйте запит лише з меншим корисним навантаженням. |
415 Unsupported Media Type |
Кодування тіла не відповідає вимогам кінцевої точки. | Для кінцевих точок JSON використовуйте application/json, а для завантаження зображень або GPX — multipart/form-data. Дозвольте HTTP-бібліотеці згенерувати межі multipart. | Повторюйте запит лише після виправлення Content-Type і кодування тіла. |
429 Too Many Requests |
Клієнт перевищив ліміт запитів або надсилає серії запитів надто швидко. | Дотримуйтеся Retry-After, якщо його надано, зменште паралельність, кешуйте публічні читання й об’єднуйте однакові запити. | Зачекайте відповідно до Retry-After; якщо його немає, використовуйте експоненційну затримку з випадковим розкидом та обмеженням кількості спроб. |
500 Internal Server Error |
Geotrackable зареєстрував неочікувану помилку. Відповідь не розкриває трасування стека чи внутрішні секрети. | Збережіть requestId і ticketNumber, якщо вони є, а потім зверніться до підтримки, указавши час, метод, шаблон маршруту, status і code. | Повторюйте безпечне читання після затримки. Не повторюйте наосліп створення чи інший неідемпотентний запис, якщо стан його фіксації невідомий. |
Повторюйте записи обдумано
GET-запити зазвичай безпечно повторювати. POST може створити дані, навіть якщо на клієнті сплив час очікування до отримання відповіді. Перш ніж знову створювати трекер, оновіть GET /api/trackables/mine і звірте результат, щоб через мережевий тайм-аут не створити дублікати фізичних предметів.
Для 429 або тимчасової 500 використовуйте обмежену експоненційну затримку з випадковим розкидом. Зупиніться, якщо action вказує, що треба змінити сам запит. Ніколи не перетворюйте 400, 403, 404, 405, 409, 413 або 415 на цикл автоматичних повторів.
Зберігайте корисність діагностики без витоку облікових даних
Ніколи не записуйте до журналів заголовки Authorization, токени Bearer чи оновлення, паролі, файли cookie, secretCode, accessCode, QR-дані, приватні URL-адреси сканування або необроблені вхідні шляхи /trackable/{code}. Приховуйте їх перед передаванням у телеметрію, звіти про збої, знімки екрана й додатки до звернень у підтримку.
До безпечних діагностичних полів належать requestId, ticketNumber, HTTP status, стабільний code, метод, шаблон маршруту, версія клієнта й позначка часу. Не копіюйте повне тіло запиту, якщо воно може містити текст про місце, точні координати, контактні дані або облікові дані трекера.
POST /api/trackables -> 409
code=trackable_secret_code_taken
requestId=0HN7EXAMPLE:00000001
secretCode=[REDACTED]
Опубліковані маршрути API Geotrackable
Ця таблиця створюється з активної таблиці кінцевих точок Geotrackable, щоб опублікована документація відповідала хосту.
| Метод | Маршрут | Доступ |
|---|---|---|
DELETE |
/api/account |
Потрібна авторизація |
GET |
/api/auth/confirmEmail |
Анонім |
POST |
/api/auth/forgotPassword |
Анонім |
POST |
/api/auth/login |
Анонім |
POST |
/api/auth/manage/2fa |
Потрібна авторизація |
GET |
/api/auth/manage/info |
Потрібна авторизація |
POST |
/api/auth/manage/info |
Потрібна авторизація |
POST |
/api/auth/refresh |
Анонім |
POST |
/api/auth/register |
Анонім |
POST |
/api/auth/resendConfirmationEmail |
Анонім |
POST |
/api/auth/resetPassword |
Анонім |
GET |
/api/categories/mine |
Потрібна авторизація |
POST |
/api/categories/mine |
Потрібна авторизація |
GET |
/api/categories/mine/tree |
Потрібна авторизація |
GET |
/api/categories/mine/tree/children |
Потрібна авторизація |
GET |
/api/categories/mine/tree/sections |
Потрібна авторизація |
DELETE |
/api/categories/mine/{categoryId} |
Потрібна авторизація |
POST |
/api/categories/mine/{categoryId}/move |
Потрібна авторизація |
POST |
/api/compliance/errors |
Анонім |
GET |
/api/compliance/reports |
Потрібна авторизація |
POST |
/api/compliance/reports |
Анонім |
GET |
/api/compliance/reports/mine |
Потрібна авторизація |
GET |
/api/compliance/reports/{contentReportId} |
Потрібна авторизація |
PUT |
/api/compliance/reports/{contentReportId} |
Потрібна авторизація |
POST |
/api/external-links/verify |
Потрібна авторизація |
GET |
/api/images/notes/{noteId} |
Анонім |
POST |
/api/images/notes/{noteId} |
Потрібна авторизація |
POST |
/api/images/profiles |
Потрібна авторизація |
GET |
/api/images/profiles/{userId} |
Анонім |
GET |
/api/images/teams/{teamId} |
Анонім |
POST |
/api/images/teams/{teamId} |
Потрібна авторизація |
GET |
/api/images/trackable-groups/{trackableGroupId} |
Анонім |
POST |
/api/images/trackable-groups/{trackableGroupId} |
Потрібна авторизація |
GET |
/api/images/trackables/{trackableId} |
Анонім |
POST |
/api/images/trackables/{trackableId} |
Потрібна авторизація |
DELETE |
/api/images/{contentImageId} |
Потрібна авторизація |
GET |
/api/images/{contentImageId}/{variant} |
Анонім |
GET |
/api/locations/mine/gpx |
Потрібна авторизація |
POST |
/api/locations/mine/gpx |
Потрібна авторизація |
GET |
/api/notes/mine |
Потрібна авторизація |
POST |
/api/notes/mine |
Потрібна авторизація |
GET |
/api/notes/mine/gpx |
Потрібна авторизація |
POST |
/api/notes/mine/gpx |
Потрібна авторизація |
DELETE |
/api/notes/mine/{noteId} |
Потрібна авторизація |
POST |
/api/notes/mine/{noteId}/move |
Потрібна авторизація |
GET |
/api/notes/public/bounds |
Анонім |
GET |
/api/notes/public/nearby |
Анонім |
GET |
/api/public/notes/{noteId} |
Анонім |
GET |
/api/public/notes/{noteId}/comments |
Анонім |
POST |
/api/public/notes/{noteId}/comments |
Потрібна авторизація |
GET |
/api/public/notes/{noteId}/trackables |
Анонім |
POST |
/api/public/notes/{noteId}/trackables |
Потрібна авторизація |
GET |
/api/public/profiles/{userName}/notes/nearby |
Анонім |
GET |
/api/public/teams/{teamName}/notes/nearby |
Анонім |
POST |
/api/sync/pull |
Потрібна авторизація |
POST |
/api/sync/push |
Потрібна авторизація |
GET |
/api/system/beta-android |
Анонім |
GET |
/api/system/coordinate-locality |
Анонім |
GET |
/api/system/ip-location |
Анонім |
GET |
/api/system/status |
Анонім |
GET |
/api/teams |
Потрібна авторизація |
POST |
/api/teams |
Потрібна авторизація |
POST |
/api/teams/invite-links/{teamSlug}/{inviteCode}/join |
Потрібна авторизація |
DELETE |
/api/teams/{teamId} |
Потрібна авторизація |
GET |
/api/teams/{teamId}/categories |
Потрібна авторизація |
POST |
/api/teams/{teamId}/categories |
Потрібна авторизація |
GET |
/api/teams/{teamId}/categories/tree |
Потрібна авторизація |
GET |
/api/teams/{teamId}/categories/tree/children |
Потрібна авторизація |
GET |
/api/teams/{teamId}/categories/tree/sections |
Потрібна авторизація |
DELETE |
/api/teams/{teamId}/categories/{categoryId} |
Потрібна авторизація |
POST |
/api/teams/{teamId}/categories/{categoryId}/move |
Потрібна авторизація |
GET |
/api/teams/{teamId}/invite-links |
Потрібна авторизація |
POST |
/api/teams/{teamId}/invite-links |
Потрібна авторизація |
DELETE |
/api/teams/{teamId}/invite-links/{inviteLinkId} |
Потрібна авторизація |
GET |
/api/teams/{teamId}/locations/gpx |
Потрібна авторизація |
POST |
/api/teams/{teamId}/locations/gpx |
Потрібна авторизація |
POST |
/api/teams/{teamId}/memberships/invite |
Потрібна авторизація |
POST |
/api/teams/{teamId}/memberships/request |
Потрібна авторизація |
DELETE |
/api/teams/{teamId}/memberships/{membershipId} |
Потрібна авторизація |
POST |
/api/teams/{teamId}/memberships/{membershipId}/accept |
Потрібна авторизація |
POST |
/api/teams/{teamId}/memberships/{membershipId}/approve |
Потрібна авторизація |
POST |
/api/teams/{teamId}/memberships/{membershipId}/deny |
Потрібна авторизація |
POST |
/api/teams/{teamId}/memberships/{membershipId}/promote-admin |
Потрібна авторизація |
POST |
/api/teams/{teamId}/memberships/{membershipId}/refuse |
Потрібна авторизація |
GET |
/api/teams/{teamId}/notes |
Потрібна авторизація |
POST |
/api/teams/{teamId}/notes |
Потрібна авторизація |
GET |
/api/teams/{teamId}/notes/gpx |
Потрібна авторизація |
POST |
/api/teams/{teamId}/notes/gpx |
Потрібна авторизація |
DELETE |
/api/teams/{teamId}/notes/{noteId} |
Потрібна авторизація |
DELETE |
/api/teams/{teamId}/notes/{noteId}/delete |
Потрібна авторизація |
POST |
/api/teams/{teamId}/notes/{noteId}/move |
Потрібна авторизація |
PUT |
/api/teams/{teamId}/settings |
Потрібна авторизація |
POST |
/api/trackables |
Потрібна авторизація |
GET |
/api/trackables/active |
Анонім |
GET |
/api/trackables/active-indicator |
Анонім |
DELETE |
/api/trackables/active/{trackableId} |
Анонім |
GET |
/api/trackables/active/{trackableId} |
Анонім |
POST |
/api/trackables/active/{trackableId}/deactivate |
Анонім |
POST |
/api/trackables/active/{trackableId}/message |
Анонім |
POST |
/api/trackables/groups |
Потрібна авторизація |
DELETE |
/api/trackables/groups/{trackableGroupId}/watch |
Потрібна авторизація |
POST |
/api/trackables/groups/{trackableGroupId}/watch |
Потрібна авторизація |
POST |
/api/trackables/legacy-lookup |
Анонім |
GET |
/api/trackables/lookup |
Анонім |
POST |
/api/trackables/lookup |
Анонім |
GET |
/api/trackables/mine |
Потрібна авторизація |
GET |
/api/trackables/public |
Анонім |
GET |
/api/trackables/{trackableId} |
Анонім |
POST |
/api/trackables/{trackableId}/activate |
Потрібна авторизація |
GET |
/api/trackables/{trackableId}/comments |
Анонім |
POST |
/api/trackables/{trackableId}/comments |
Анонім |
DELETE |
/api/trackables/{trackableId}/comments/{commentId} |
Потрібна авторизація |
PUT |
/api/trackables/{trackableId}/comments/{commentId} |
Потрібна авторизація |
DELETE |
/api/trackables/{trackableId}/group |
Потрібна авторизація |
POST |
/api/trackables/{trackableId}/group |
Потрібна авторизація |
GET |
/api/trackables/{trackableId}/journey |
Анонім |
POST |
/api/trackables/{trackableId}/journey-stops |
Анонім |
DELETE |
/api/trackables/{trackableId}/journey-stops/{journeyStopId} |
Потрібна авторизація |
POST |
/api/trackables/{trackableId}/notes |
Потрібна авторизація |
DELETE |
/api/trackables/{trackableId}/watch |
Потрібна авторизація |
POST |
/api/trackables/{trackableId}/watch |
Потрібна авторизація |
DELETE /api/account
Автентифіковані клієнти можуть остаточно видалити поточний обліковий запис і синхронізовані персональні дані через API. Спочатку прочитайте сторінку Видалити дані, якщо потрібні кроки експорту або правила збереження спільних трекерів.
curl -X DELETE "https://Geotrackable.com/api/account" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає кількість видалених записів після остаточного вилучення облікового запису, у який було виконано вхід, і відповідних особистих даних. Успішна відповідь завершує поточний сеанс.
Поширені помилки та відновлення
401 вимагає чинний bearer-токен. 400 пояснює, чому видалення неможливо завершити. Видалення облікового запису є руйнівною операцією: не повторюйте її автоматично після тайм-ауту з невідомим результатом; спочатку перевірте стан входу.
GET /api/auth/confirmEmail
Завершити підтвердження адреси електронної пошти за допомогою ID користувача та URL-кодованого коду підтвердження з посилання.
curl "https://Geotrackable.com/api/auth/confirmEmail?userId=13a2c0b1-582f-4a7b-92aa-16922f7bdb63&code=URL_ENCODED_CONFIRMATION_CODE"
Успішна відповідь
HTTP 200 означає, що операцію Identity завершено. Прочитайте повернуті дані Identity, якщо операція їх надає; операції з паролем і підтвердженням можуть навмисно повертати порожнє тіло успішної відповіді.
Поширені помилки та відновлення
400 містить вказівки щодо перевірки ідентифікаційних даних на рівні полів; 401 означає, що bearer-токен або облікові дані непридатні. Виконайте action і не повторюйте в циклі ті самі незмінені облікові дані.
POST /api/auth/forgotPassword
Розпочати відновлення або підтвердження облікового запису через електронну пошту. Відповідь навмисно не розкриває, чи існує ця адреса електронної пошти.
curl -X POST "https://Geotrackable.com/api/auth/forgotPassword" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com" }'
Успішна відповідь
HTTP 200 означає, що операцію Identity завершено. Прочитайте повернуті дані Identity, якщо операція їх надає; операції з паролем і підтвердженням можуть навмисно повертати порожнє тіло успішної відповіді.
Поширені помилки та відновлення
400 містить вказівки щодо перевірки ідентифікаційних даних на рівні полів; 401 означає, що bearer-токен або облікові дані непридатні. Виконайте action і не повторюйте в циклі ті самі незмінені облікові дані.
POST /api/auth/login
Обміняти облікові дані локального облікового запису та, за потреби, значення двофакторної автентифікації на bearer- і refresh-токени. Клієнти API мають тримати cookie вимкненими.
curl -X POST "https://Geotrackable.com/api/auth/login?useCookies=false&useSessionCookies=false" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com", "password": "Use-a-strong-password-123!" }'
Успішна відповідь
HTTP 200 повертає tokenType, accessToken, дані про закінчення строку дії та зведення про користувача, який увійшов у систему. Зберігайте облікові дані в захищеному сховищі платформи й ніколи не записуйте їх у журнал.
Поширені помилки та відновлення
400 охоплює неправильно сформований JSON або відсутні поля. 401 authentication_failed навмисно не розкриває, чи існує адреса електронної пошти; перевірте облікові дані або скористайтеся процедурою скидання пароля перед повторною спробою. Відповідь 401 two_factor_required залишає requiresTwoFactor зі значенням true і вказує клієнту повторити вхід із twoFactorCode або twoFactorRecoveryCode.
POST /api/auth/manage/2fa
Увімкнути, вимкнути, скинути або перевірити двофакторну автентифікацію для облікового запису, у який виконано вхід. Значення автентифікатора й відновлення є конфіденційними обліковими даними.
curl -X POST "https://Geotrackable.com/api/auth/manage/2fa" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "enable": true, "twoFactorCode": "123456", "resetSharedKey": false, "resetRecoveryCodes": false, "forgetMachine": false }'
Успішна відповідь
HTTP 200 означає, що операцію Identity завершено. Прочитайте повернуті дані Identity, якщо операція їх надає; операції з паролем і підтвердженням можуть навмисно повертати порожнє тіло успішної відповіді.
Поширені помилки та відновлення
400 містить вказівки щодо перевірки ідентифікаційних даних на рівні полів; 401 означає, що bearer-токен або облікові дані непридатні. Виконайте action і не повторюйте в циклі ті самі незмінені облікові дані.
GET /api/auth/manage/info
Прочитати адресу електронної пошти й стан її підтвердження для облікового запису, у який виконано вхід, або за потреби оновити адресу чи пароль за допомогою поточного пароля.
curl "https://Geotrackable.com/api/auth/manage/info" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 означає, що операцію Identity завершено. Прочитайте повернуті дані Identity, якщо операція їх надає; операції з паролем і підтвердженням можуть навмисно повертати порожнє тіло успішної відповіді.
Поширені помилки та відновлення
400 містить вказівки щодо перевірки ідентифікаційних даних на рівні полів; 401 означає, що bearer-токен або облікові дані непридатні. Виконайте action і не повторюйте в циклі ті самі незмінені облікові дані.
POST /api/auth/manage/info
Прочитати адресу електронної пошти й стан її підтвердження для облікового запису, у який виконано вхід, або за потреби оновити адресу чи пароль за допомогою поточного пароля.
curl -X POST "https://Geotrackable.com/api/auth/manage/info" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "newEmail": "new-api-user@example.com", "oldPassword": "Use-a-strong-password-123!" }'
Успішна відповідь
HTTP 200 означає, що операцію Identity завершено. Прочитайте повернуті дані Identity, якщо операція їх надає; операції з паролем і підтвердженням можуть навмисно повертати порожнє тіло успішної відповіді.
Поширені помилки та відновлення
400 містить вказівки щодо перевірки ідентифікаційних даних на рівні полів; 401 означає, що bearer-токен або облікові дані непридатні. Виконайте action і не повторюйте в циклі ті самі незмінені облікові дані.
POST /api/auth/refresh
Обміняти ще придатний refresh-токен на нову відповідь із токеном доступу, не надсилаючи пароль облікового запису повторно.
curl -X POST "https://Geotrackable.com/api/auth/refresh" \
-H "Content-Type: application/json" \
-d '{ "refreshToken": "<refresh token from login>" }'
Успішна відповідь
HTTP 200 означає, що операцію Identity завершено. Прочитайте повернуті дані Identity, якщо операція їх надає; операції з паролем і підтвердженням можуть навмисно повертати порожнє тіло успішної відповіді.
Поширені помилки та відновлення
400 містить вказівки щодо перевірки ідентифікаційних даних на рівні полів; 401 означає, що bearer-токен або облікові дані непридатні. Виконайте action і не повторюйте в циклі ті самі незмінені облікові дані.
POST /api/auth/register
Створити локальний обліковий запис з адресою електронної пошти, публічним ім’ям користувача й надійним паролем. Реєстрація не повертає bearer-токен; далі виконайте вхід.
curl -X POST "https://Geotrackable.com/api/auth/register" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com", "userName": "api_trail_user", "password": "Use-a-strong-password-123!" }'
Успішна відповідь
HTTP 200 означає, що локальний обліковий запис створено. Відповідь не містить bearer-токена; далі викличте маршрут входу.
Поширені помилки та відновлення
400 validation_failed вказує на неправильно сформований JSON або помилки полів email, password і userName. Виправте перелічені помилки; для повторюваних значень потрібна інша адреса електронної пошти або інше публічне ім’я користувача.
POST /api/auth/resendConfirmationEmail
Розпочати відновлення або підтвердження облікового запису через електронну пошту. Відповідь навмисно не розкриває, чи існує ця адреса електронної пошти.
curl -X POST "https://Geotrackable.com/api/auth/resendConfirmationEmail" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com" }'
Успішна відповідь
HTTP 200 означає, що операцію Identity завершено. Прочитайте повернуті дані Identity, якщо операція їх надає; операції з паролем і підтвердженням можуть навмисно повертати порожнє тіло успішної відповіді.
Поширені помилки та відновлення
400 містить вказівки щодо перевірки ідентифікаційних даних на рівні полів; 401 означає, що bearer-токен або облікові дані непридатні. Виконайте action і не повторюйте в циклі ті самі незмінені облікові дані.
POST /api/auth/resetPassword
Завершити відновлення пароля за допомогою точного коду скидання з електронного листа й нового надійного пароля. Коди скидання є обліковими даними, тому їх не можна записувати в журнал.
curl -X POST "https://Geotrackable.com/api/auth/resetPassword" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com", "resetCode": "URL_ENCODED_RESET_CODE", "newPassword": "Use-a-new-strong-password-456!" }'
Успішна відповідь
HTTP 200 означає, що операцію Identity завершено. Прочитайте повернуті дані Identity, якщо операція їх надає; операції з паролем і підтвердженням можуть навмисно повертати порожнє тіло успішної відповіді.
Поширені помилки та відновлення
400 містить вказівки щодо перевірки ідентифікаційних даних на рівні полів; 401 означає, що bearer-токен або облікові дані непридатні. Виконайте action і не повторюйте в циклі ті самі незмінені облікові дані.
GET /api/categories/mine
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/categories/mine" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає список особистих категорій, дерево керування, розділи або запитані дочірні елементи. Порожні гілки є успішним результатом.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
POST /api/categories/mine
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl -X POST "https://Geotrackable.com/api/categories/mine" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Trail research", "contentLanguage": "en-US", "parentCategoryId": null }'
Успішна відповідь
HTTP 200 повертає створену чи переміщену категорію або підтверджує видалення після виконання правил щодо нащадків.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
GET /api/categories/mine/tree
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/categories/mine/tree" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає список особистих категорій, дерево керування, розділи або запитані дочірні елементи. Порожні гілки є успішним результатом.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
GET /api/categories/mine/tree/children
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/categories/mine/tree/children" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає список особистих категорій, дерево керування, розділи або запитані дочірні елементи. Порожні гілки є успішним результатом.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
GET /api/categories/mine/tree/sections
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/categories/mine/tree/sections" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає список особистих категорій, дерево керування, розділи або запитані дочірні елементи. Порожні гілки є успішним результатом.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
DELETE /api/categories/mine/{categoryId}
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl -X DELETE "https://Geotrackable.com/api/categories/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає створену чи переміщену категорію або підтверджує видалення після виконання правил щодо нащадків.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
POST /api/categories/mine/{categoryId}/move
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl -X POST "https://Geotrackable.com/api/categories/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/move" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "parentCategoryId": null }'
Успішна відповідь
HTTP 200 повертає створену чи переміщену категорію або підтверджує видалення після виконання правил щодо нащадків.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
POST /api/compliance/errors
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl -X POST "https://Geotrackable.com/api/compliance/errors" \
-H "Content-Type: application/json" \
-d '{ "requestUrl": "/api/example", "httpMethod": "POST", "responseStatusCode": 500, "traceIdentifier": "0HN7EXAMPLE:00000004", "userExplanation": "The save failed after the map was updated." }'
Успішна відповідь
HTTP 200 або 201 повертає підтвердження реєстрації тікета помилки. HTTP 200 означає, що запит приєднано до наявного тікета; HTTP 201 означає, що створено новий тікет.
Поширені помилки та відновлення
400 пояснює відсутній контекст звіту або неприпустимий стан робочого процесу; 401 захищає особисті й адміністративні списки; 403 вимагає відповідних прав автора звіту або ролі SuperAdmin; 404 означає, що ID слід зберегти, але список звітів потрібно оновити.
GET /api/compliance/reports
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl "https://Geotrackable.com/api/compliance/reports" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає звіт або колекцію звітів, видимі користувачу, який увійшов і подав звіт, або уповноваженому адміністратору.
Поширені помилки та відновлення
400 пояснює відсутній контекст звіту або неприпустимий стан робочого процесу; 401 захищає особисті й адміністративні списки; 403 вимагає відповідних прав автора звіту або ролі SuperAdmin; 404 означає, що ID слід зберегти, але список звітів потрібно оновити.
POST /api/compliance/reports
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl -X POST "https://Geotrackable.com/api/compliance/reports" \
-H "Content-Type: application/json" \
-d '{ "pageType": "Trackable", "contentType": "Trackable", "pageTitle": "Scout trail coin", "pageUrl": "/trackable/GT-EXAMPLE", "reportTitle": "Outdated public link", "reportExplanation": "The destination is no longer related to this trackable." }'
Успішна відповідь
HTTP 201 повертає підтвердження отримання звіту про вміст та ідентифікатор звіту для подальшого відстеження.
Поширені помилки та відновлення
400 пояснює відсутній контекст звіту або неприпустимий стан робочого процесу; 401 захищає особисті й адміністративні списки; 403 вимагає відповідних прав автора звіту або ролі SuperAdmin; 404 означає, що ID слід зберегти, але список звітів потрібно оновити.
GET /api/compliance/reports/mine
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl "https://Geotrackable.com/api/compliance/reports/mine" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає звіт або колекцію звітів, видимі користувачу, який увійшов і подав звіт, або уповноваженому адміністратору.
Поширені помилки та відновлення
400 пояснює відсутній контекст звіту або неприпустимий стан робочого процесу; 401 захищає особисті й адміністративні списки; 403 вимагає відповідних прав автора звіту або ролі SuperAdmin; 404 означає, що ID слід зберегти, але список звітів потрібно оновити.
GET /api/compliance/reports/{contentReportId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl "https://Geotrackable.com/api/compliance/reports/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає звіт або колекцію звітів, видимі користувачу, який увійшов і подав звіт, або уповноваженому адміністратору.
Поширені помилки та відновлення
400 пояснює відсутній контекст звіту або неприпустимий стан робочого процесу; 401 захищає особисті й адміністративні списки; 403 вимагає відповідних прав автора звіту або ролі SuperAdmin; 404 означає, що ID слід зберегти, але список звітів потрібно оновити.
PUT /api/compliance/reports/{contentReportId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X PUT "https://Geotrackable.com/api/compliance/reports/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає звіт або колекцію звітів, видимі користувачу, який увійшов і подав звіт, або уповноваженому адміністратору.
Поширені помилки та відновлення
400 пояснює відсутній контекст звіту або неприпустимий стан робочого процесу; 401 захищає особисті й адміністративні списки; 403 вимагає відповідних прав автора звіту або ролі SuperAdmin; 404 означає, що ID слід зберегти, але список звітів потрібно оновити.
POST /api/external-links/verify
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl -X POST "https://Geotrackable.com/api/external-links/verify" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "url": "https://example.com/resource" }'
Успішна відповідь
HTTP 200 повертає нормалізовану адресу призначення, перевірений заголовок сторінки й безпечні метадані, які редактор може використати перед збереженням посилання.
Поширені помилки та відновлення
Коли дані доступні, 400 містить detail, action, supportUrl і upstreamStatusCode. Виправте заблоковані, внутрішньомережеві, неправильно сформовані, недоступні або непідтримувані адреси призначення перед повторною перевіркою.
GET /api/images/notes/{noteId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl "https://Geotrackable.com/api/images/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Успішна відповідь
HTTP 200 повертає видимі метадані керованих зображень для цього профілю, нотатки, команди, трекбла або групи; порожній масив є допустимим.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
POST /api/images/notes/{noteId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl -X POST "https://Geotrackable.com/api/images/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Успішна відповідь
HTTP 200 повертає метадані й URL керованих зображень після перевірки та обробки варіантів JPEG. Використовуйте повернуті URL, а не припускайте, що початкове ім’я файлу збережеться.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
POST /api/images/profiles
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl -X POST "https://Geotrackable.com/api/images/profiles" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Успішна відповідь
HTTP 200 повертає метадані й URL керованих зображень після перевірки та обробки варіантів JPEG. Використовуйте повернуті URL, а не припускайте, що початкове ім’я файлу збережеться.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
GET /api/images/profiles/{userId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl "https://Geotrackable.com/api/images/profiles/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Успішна відповідь
HTTP 200 повертає видимі метадані керованих зображень для цього профілю, нотатки, команди, трекбла або групи; порожній масив є допустимим.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
GET /api/images/teams/{teamId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl "https://Geotrackable.com/api/images/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Успішна відповідь
HTTP 200 повертає видимі метадані керованих зображень для цього профілю, нотатки, команди, трекбла або групи; порожній масив є допустимим.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
POST /api/images/teams/{teamId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl -X POST "https://Geotrackable.com/api/images/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Успішна відповідь
HTTP 200 повертає метадані й URL керованих зображень після перевірки та обробки варіантів JPEG. Використовуйте повернуті URL, а не припускайте, що початкове ім’я файлу збережеться.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
GET /api/images/trackable-groups/{trackableGroupId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl "https://Geotrackable.com/api/images/trackable-groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Успішна відповідь
HTTP 200 повертає видимі метадані керованих зображень для цього профілю, нотатки, команди, трекбла або групи; порожній масив є допустимим.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
POST /api/images/trackable-groups/{trackableGroupId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl -X POST "https://Geotrackable.com/api/images/trackable-groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Успішна відповідь
HTTP 200 повертає метадані й URL керованих зображень після перевірки та обробки варіантів JPEG. Використовуйте повернуті URL, а не припускайте, що початкове ім’я файлу збережеться.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
GET /api/images/trackables/{trackableId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Успішна відповідь
HTTP 200 повертає видимі метадані керованих зображень для цього профілю, нотатки, команди, трекбла або групи; порожній масив є допустимим.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
POST /api/images/trackables/{trackableId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl -X POST "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Успішна відповідь
HTTP 200 повертає метадані й URL керованих зображень після перевірки та обробки варіантів JPEG. Використовуйте повернуті URL, а не припускайте, що початкове ім’я файлу збережеться.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
DELETE /api/images/{contentImageId}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl -X DELETE "https://Geotrackable.com/api/images/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 204 підтверджує видалення зображення та його керованих варіантів; тіло відповіді відсутнє.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
GET /api/images/{contentImageId}/{variant}
Маршрути медіа й підтримки дотримуються видимості сторінки або вмісту, до якого вони прив'язані.
curl "https://Geotrackable.com/api/images/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/thumbnail"
Успішна відповідь
HTTP 200 передає потоком запитаний видимий варіант JPEG із типом вмісту зображення.
Поширені помилки та відновлення
400 image_variant_invalid перелічує підтримувані варіанти завантаження, а інші відповіді 400 пояснюють обмеження перевірки; 401/403 вимагають чинного контексту власника або адміністратора команди; 404 означає, що вміст відсутній або невидимий; 500 image_variant_unavailable означає, що метадані існують, але збережений варіант неможливо віддати. 413 вимагає менше файлів або файли меншого розміру; 415 вимагає multipart/form-data для завантажень.
GET /api/locations/mine/gpx
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/locations/mine/gpx" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 завантажує GPX із придатними нанесеними на мапу маршрутними точками в цій області.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
POST /api/locations/mine/gpx
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl -X POST "https://Geotrackable.com/api/locations/mine/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@waypoints.gpx"
Успішна відповідь
HTTP 200 повертає кількість імпортованих елементів і результати для кожного елемента після обробки файлу маршрутних точок GPX.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
GET /api/notes/mine
Перелічити особисті локації або створити звичайну особисту локацію, яка не прив’язується до трекбла автоматично.
curl "https://Geotrackable.com/api/notes/mine" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає видиму нотатку, коментар, вкладення або результат на мапі. Порожні колекції є успішними; якщо окремий ресурс відсутній, повертається 404.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
POST /api/notes/mine
Перелічити особисті локації або створити звичайну особисту локацію, яка не прив’язується до трекбла автоматично.
curl -X POST "https://Geotrackable.com/api/notes/mine" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "title": "Trailhead", "body": "Parking and route notes.", "contentLanguage": "en-US", "latitude": 41.8818, "longitude": -87.6231, "visibility": "Private" }'
Успішна відповідь
HTTP 200 повертає збережену нотатку, коментар, вкладення, результат переміщення або підтвердження видалення для запитаної області.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
GET /api/notes/mine/gpx
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/notes/mine/gpx" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 завантажує GPX із придатними нанесеними на мапу маршрутними точками в цій області.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
POST /api/notes/mine/gpx
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl -X POST "https://Geotrackable.com/api/notes/mine/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@waypoints.gpx"
Успішна відповідь
HTTP 200 повертає кількість імпортованих елементів і результати для кожного елемента після обробки файлу маршрутних точок GPX.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
DELETE /api/notes/mine/{noteId}
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl -X DELETE "https://Geotrackable.com/api/notes/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає збережену нотатку, коментар, вкладення, результат переміщення або підтвердження видалення для запитаної області.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
POST /api/notes/mine/{noteId}/move
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/notes/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/move" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає збережену нотатку, коментар, вкладення, результат переміщення або підтвердження видалення для запитаної області.
Поширені помилки та відновлення
400 вказує на проблеми з полями, ієрархією, межами області, GPX або правилами переміщення чи видалення; 401 вимагає токен; 403 вимагає право власності; 404 означає, що слід оновити стан особистого робочого простору. Завантаження також можуть повертати 413 або 415.
GET /api/notes/public/bounds
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/notes/public/bounds?minLatitude=41.78&minLongitude=-87.75&maxLatitude=41.96&maxLongitude=-87.54&contentLanguage=en-US"
Успішна відповідь
HTTP 200 повертає видиму нотатку, коментар, вкладення або результат на мапі. Порожні колекції є успішними; якщо окремий ресурс відсутній, повертається 404.
Поширені помилки та відновлення
400 вказує на неповні межі області, неприпустимі діапазони координат або неправильні дані коментаря чи вкладення; 403 захищає обмежені операції запису; 404 може приховувати приватну або відсутню сторінку. Виправте запит відповідно до вказівок у errors та action.
GET /api/notes/public/nearby
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/notes/public/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"
Успішна відповідь
HTTP 200 повертає видиму нотатку, коментар, вкладення або результат на мапі. Порожні колекції є успішними; якщо окремий ресурс відсутній, повертається 404.
Поширені помилки та відновлення
400 вказує на неповні межі області, неприпустимі діапазони координат або неправильні дані коментаря чи вкладення; 403 захищає обмежені операції запису; 404 може приховувати приватну або відсутню сторінку. Виправте запит відповідно до вказівок у errors та action.
GET /api/public/notes/{noteId}
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Успішна відповідь
HTTP 200 повертає видиму нотатку, коментар, вкладення або результат на мапі. Порожні колекції є успішними; якщо окремий ресурс відсутній, повертається 404.
Поширені помилки та відновлення
400 вказує на неповні межі області, неприпустимі діапазони координат або неправильні дані коментаря чи вкладення; 403 захищає обмежені операції запису; 404 може приховувати приватну або відсутню сторінку. Виправте запит відповідно до вказівок у errors та action.
GET /api/public/notes/{noteId}/comments
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments"
Успішна відповідь
HTTP 200 повертає видиму панель коментарів, політику та поточні коментарі. Порожній список коментарів є успішним результатом.
Поширені помилки та відновлення
400 trackable_activation_required означає, що відповідний власник повинен спочатку активувати трекбл; 403 trackable_access_code_required або trackable_access_code_invalid вимагає сеанс чи облікові дані саме цього елемента; 404 означає, що застарілі ID потрібно оновити.
POST /api/public/notes/{noteId}/comments
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl -X POST "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "body": "Found near the overlook.", "accessCode": "" }'
Успішна відповідь
HTTP 200 повертає збережений стан коментарів. Для анонімного запису потрібен активний сеанс цього клієнта або accessCode саме для цього активованого трекбла.
Поширені помилки та відновлення
400 trackable_activation_required означає, що відповідний власник повинен спочатку активувати трекбл; 403 trackable_access_code_required або trackable_access_code_invalid вимагає сеанс чи облікові дані саме цього елемента; 404 означає, що застарілі ID потрібно оновити.
GET /api/public/notes/{noteId}/trackables
Прочитати видимі прив’язки трекблів або приєднати один активований трекбл до наявної керованої локації за секретним кодом чи активним сеансом у тому самому браузері.
curl "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/trackables"
Успішна відповідь
HTTP 200 повертає видиму нотатку, коментар, вкладення або результат на мапі. Порожні колекції є успішними; якщо окремий ресурс відсутній, повертається 404.
Поширені помилки та відновлення
400 вказує на неповні межі області, неприпустимі діапазони координат або неправильні дані коментаря чи вкладення; 403 захищає обмежені операції запису; 404 може приховувати приватну або відсутню сторінку. Виправте запит відповідно до вказівок у errors та action.
POST /api/public/notes/{noteId}/trackables
Прочитати видимі прив’язки трекблів або приєднати один активований трекбл до наявної керованої локації за секретним кодом чи активним сеансом у тому самому браузері.
curl -X POST "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "trackableSecretCodes": "TAG42", "selectedActiveTrackableIds": [] }'
Успішна відповідь
HTTP 200 повертає збережену нотатку, коментар, вкладення, результат переміщення або підтвердження видалення для запитаної області.
Поширені помилки та відновлення
400 вказує на неповні межі області, неприпустимі діапазони координат або неправильні дані коментаря чи вкладення; 403 захищає обмежені операції запису; 404 може приховувати приватну або відсутню сторінку. Виправте запит відповідно до вказівок у errors та action.
GET /api/public/profiles/{userName}/notes/nearby
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/public/profiles/trail-guide/notes/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"
Успішна відповідь
HTTP 200 повертає видиму нотатку, коментар, вкладення або результат на мапі. Порожні колекції є успішними; якщо окремий ресурс відсутній, повертається 404.
Поширені помилки та відновлення
400 вказує на неповні межі області, неприпустимі діапазони координат або неправильні дані коментаря чи вкладення; 403 захищає обмежені операції запису; 404 може приховувати приватну або відсутню сторінку. Виправте запит відповідно до вказівок у errors та action.
GET /api/public/teams/{teamName}/notes/nearby
Публічні читання мапи анонімні; запис особистих локацій і категорій потребує bearer-автентифікації.
curl "https://Geotrackable.com/api/public/teams/trail-club/notes/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"
Успішна відповідь
HTTP 200 повертає видиму нотатку, коментар, вкладення або результат на мапі. Порожні колекції є успішними; якщо окремий ресурс відсутній, повертається 404.
Поширені помилки та відновлення
400 вказує на неповні межі області, неприпустимі діапазони координат або неправильні дані коментаря чи вкладення; 403 захищає обмежені операції запису; 404 може приховувати приватну або відсутню сторінку. Виправте запит відповідно до вказівок у errors та action.
POST /api/sync/pull
Спочатку надішліть локальні зміни, а потім отримайте серверне представлення для користувача й поточної публічної області.
curl -X POST "https://Geotrackable.com/api/sync/pull" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "lastSyncUtc": "2026-06-20T11:30:00Z", "publicArea": { "minLatitude": 41.78, "minLongitude": -87.75, "maxLatitude": 41.96, "maxLongitude": -87.54 } }'
Успішна відповідь
HTTP 200 повертає поточне особисте, публічне й командне подання синхронізації. Викликайте цей маршрут після push у кожному офлайн-циклі.
Поширені помилки та відновлення
400 вказує на неправильно сформовані пакети синхронізації або запит, відхилений до початку обробки; 401 вимагає новий bearer-токен. Проблеми узгодження окремих сутностей повертаються з HTTP 200 у conflicts разом із code та action. Ніколи не повторюйте push наосліп після тайм-ауту з невідомим результатом.
POST /api/sync/push
Спочатку надішліть локальні зміни, а потім отримайте серверне представлення для користувача й поточної публічної області.
curl -X POST "https://Geotrackable.com/api/sync/push" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "deviceId": "5dd06ca7-34a5-4f2e-812d-3f1ef3e48290", "notes": [], "categories": [] }'
Успішна відповідь
HTTP 200 підтверджує прийняті зміни клієнта й повідомляє результати синхронізації. Зберігайте клієнтські ID, щоб наступний pull міг узгодити ті самі записи.
Поширені помилки та відновлення
400 вказує на неправильно сформовані пакети синхронізації або запит, відхилений до початку обробки; 401 вимагає новий bearer-токен. Проблеми узгодження окремих сутностей повертаються з HTTP 200 у conflicts разом із code та action. Ніколи не повторюйте push наосліп після тайм-ауту з невідомим результатом.
GET /api/system/beta-android
Цей маршрут анонімний і є найшвидшим способом підтвердити, що робочий хост API доступний.
curl "https://Geotrackable.com/api/system/beta-android"
Успішна відповідь
HTTP 200 повертає метадані поточного бета-випуску Android та вказівки із завантаження, коли опубліковано бета-пакет.
Поширені помилки та відновлення
400 вказує на відсутнє або неправильно сформоване прив’язування параметрів запиту; 500 містить requestId для служби підтримки. Необов’язкові дані бета-версії Android повертають HTTP 200 з available:false. Помилки діапазону координат або постачальника геолокації повертають HTTP 200 з resolved:false, а також failureMessage, action і retryable.
GET /api/system/coordinate-locality
Цей маршрут анонімний і є найшвидшим способом підтвердити, що робочий хост API доступний.
curl "https://Geotrackable.com/api/system/coordinate-locality?latitude=41.8818&longitude=-87.6231"
Успішна відповідь
HTTP 200 повертає найкращі доступні відомості про місцевість. Успішна відповідь може містити частково заповнені або недоступні поля локації, якщо визначення місця навмисно обмежено.
Поширені помилки та відновлення
400 вказує на відсутнє або неправильно сформоване прив’язування параметрів запиту; 500 містить requestId для служби підтримки. Необов’язкові дані бета-версії Android повертають HTTP 200 з available:false. Помилки діапазону координат або постачальника геолокації повертають HTTP 200 з resolved:false, а також failureMessage, action і retryable.
GET /api/system/ip-location
Цей маршрут анонімний і є найшвидшим способом підтвердити, що робочий хост API доступний.
curl "https://Geotrackable.com/api/system/ip-location"
Успішна відповідь
HTTP 200 повертає найкращі доступні відомості про місцевість. Успішна відповідь може містити частково заповнені або недоступні поля локації, якщо визначення місця навмисно обмежено.
Поширені помилки та відновлення
400 вказує на відсутнє або неправильно сформоване прив’язування параметрів запиту; 500 містить requestId для служби підтримки. Необов’язкові дані бета-версії Android повертають HTTP 200 з available:false. Помилки діапазону координат або постачальника геолокації повертають HTTP 200 з resolved:false, а також failureMessage, action і retryable.
GET /api/system/status
Цей маршрут анонімний і є найшвидшим способом підтвердити, що робочий хост API доступний.
curl "https://Geotrackable.com/api/system/status"
Успішна відповідь
HTTP 200 повертає стан служби, час сервера в UTC та URL сторінки бета-версії Android. Це підтверджує доступність служби, а не автентифікований доступ.
Поширені помилки та відновлення
Помилка мережі, DNS, TLS або 500 означає, що перевірку хоста не завершено. Зберігайте requestId, коли його повернуто, і застосовуйте відступ із обмеженою тривалістю; status не повертає 401.
GET /api/teams
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl "https://Geotrackable.com/api/teams" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає дані команди, робочого простору, членства, категорії, нотатки або посилання-запрошення, видимі учаснику, який увійшов у систему.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X POST "https://Geotrackable.com/api/teams" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Trail Club", "title": "Trail Club", "description": "Shared field work.", "joinPolicy": "InviteOnly", "pageVisibility": "Public", "defaultNoteVisibility": "Public", "contentLanguage": "en-US" }'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/invite-links/{teamSlug}/{inviteCode}/join
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/invite-links/trail-club/INVITE-CODE/join" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
DELETE /api/teams/{teamId}
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
GET /api/teams/{teamId}/categories
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає дані команди, робочого простору, членства, категорії, нотатки або посилання-запрошення, видимі учаснику, який увійшов у систему.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/categories
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Team trail research", "contentLanguage": "en-US", "parentCategoryId": null }'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
GET /api/teams/{teamId}/categories/tree
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/tree" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає дані команди, робочого простору, членства, категорії, нотатки або посилання-запрошення, видимі учаснику, який увійшов у систему.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
GET /api/teams/{teamId}/categories/tree/children
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/tree/children" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає дані команди, робочого простору, членства, категорії, нотатки або посилання-запрошення, видимі учаснику, який увійшов у систему.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
GET /api/teams/{teamId}/categories/tree/sections
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/tree/sections" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає дані команди, робочого простору, членства, категорії, нотатки або посилання-запрошення, видимі учаснику, який увійшов у систему.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
DELETE /api/teams/{teamId}/categories/{categoryId}
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/categories/{categoryId}/move
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/move" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "parentCategoryId": null }'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
GET /api/teams/{teamId}/invite-links
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/invite-links" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає дані команди, робочого простору, членства, категорії, нотатки або посилання-запрошення, видимі учаснику, який увійшов у систему.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/invite-links
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/invite-links" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "isSingleUse": true }'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
DELETE /api/teams/{teamId}/invite-links/{inviteLinkId}
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/invite-links/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
GET /api/teams/{teamId}/locations/gpx
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/locations/gpx" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 завантажує GPX із нанесеними на мапу командними маршрутними точками, видимими учаснику.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/locations/gpx
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/locations/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@waypoints.gpx"
Успішна відповідь
HTTP 200 повертає кількість імпортованих елементів командного GPX і результати для кожного елемента.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/memberships/invite
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/invite" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/memberships/request
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/request" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
DELETE /api/teams/{teamId}/memberships/{membershipId}
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/memberships/{membershipId}/accept
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/accept" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/memberships/{membershipId}/approve
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/approve" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/memberships/{membershipId}/deny
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/deny" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/memberships/{membershipId}/promote-admin
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/promote-admin" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/memberships/{membershipId}/refuse
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/refuse" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
GET /api/teams/{teamId}/notes
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає дані команди, робочого простору, членства, категорії, нотатки або посилання-запрошення, видимі учаснику, який увійшов у систему.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/notes
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "title": "Team trailhead", "body": "Shared route notes.", "contentLanguage": "en-US", "latitude": 41.8818, "longitude": -87.6231, "visibility": "Public" }'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
GET /api/teams/{teamId}/notes/gpx
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/gpx" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 завантажує GPX із нанесеними на мапу командними маршрутними точками, видимими учаснику.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/notes/gpx
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@waypoints.gpx"
Успішна відповідь
HTTP 200 повертає кількість імпортованих елементів командного GPX і результати для кожного елемента.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
DELETE /api/teams/{teamId}/notes/{noteId}
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
DELETE /api/teams/{teamId}/notes/{noteId}/delete
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/delete" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/teams/{teamId}/notes/{noteId}/move
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/move" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
PUT /api/teams/{teamId}/settings
API команд керують спільними локаціями, категоріями, посиланнями-запрошеннями, рішеннями щодо членства та областю трекерів, що належать команді.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X PUT "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/settings" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан команди або підтверджує операцію з членством, робочим простором, запрошенням, налаштуваннями чи видаленням.
Поширені помилки та відновлення
400 пояснює правила членства, запрошень, ієрархії, GPX, переміщення або видалення; 401 вимагає входу; 403 вимагає зазначеної ролі учасника або адміністратора; 404 означає, що перед надсиланням іншої зміни потрібно оновити стан команди.
POST /api/trackables
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X POST "https://Geotrackable.com/api/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Scout trail coin", "description": "Move this coin along family-friendly trails.", "visibility": "AlwaysVisibleToEveryone", "activateImmediately": true }'
Успішна відповідь
HTTP 201 повертає одноразово розкриті дані. Пропустіть secretCode, щоб отримати згенерований код GT; доступне дозволене користувацьке значення буде прийнято. Збережіть secretCode і scanUrl зараз, адже маршрути читання не розкриють їх пізніше.
Поширені помилки та відновлення
400 validation_failed вказує на неприпустимі поля; 400 trackable_secret_code_reserved пояснює префікси GT, LN, TB, GK або GC; 409 trackable_secret_code_taken означає, що для генерації слід пропустити secretCode або вибрати інше значення; 401 вимагає входу.
GET /api/trackables/active
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl "https://Geotrackable.com/api/trackables/active"
Успішна відповідь
HTTP 200 повертає активні трекбли із секретним доступом, які запам’ятав цей клієнт. Порожній масив є успішним результатом, а не помилкою автентифікації.
Поширені помилки та відновлення
404 означає, що цей клієнт більше не має запитаного активного сеансу трекбла; знову відкрийте маршрут приватного коду або сканування. 400 охоплює неприпустимий текст стану. Цей сеанс використовує cookie, тому зберігайте сховище cookie між викликами.
GET /api/trackables/active-indicator
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl "https://Geotrackable.com/api/trackables/active-indicator"
Успішна відповідь
HTTP 200 повертає дані трекбла, видимі викликачу в контексті публічного доступу, входу в систему або активного сеансу.
Поширені помилки та відновлення
404 означає, що цей клієнт більше не має запитаного активного сеансу трекбла; знову відкрийте маршрут приватного коду або сканування. 400 охоплює неприпустимий текст стану. Цей сеанс використовує cookie, тому зберігайте сховище cookie між викликами.
DELETE /api/trackables/active/{trackableId}
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X DELETE "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Успішна відповідь
HTTP 200 завершує збережений цим клієнтом сеанс доступу до цього трекбла за секретним кодом. Це не видаляє й не деактивує трекбл.
Поширені помилки та відновлення
404 означає, що цей клієнт більше не має запитаного активного сеансу трекбла; знову відкрийте маршрут приватного коду або сканування. 400 охоплює неприпустимий текст стану. Цей сеанс використовує cookie, тому зберігайте сховище cookie між викликами.
GET /api/trackables/active/{trackableId}
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Успішна відповідь
HTTP 200 повертає поточний стан активної цільової сторінки або оновлене повідомлення про стан трекбла, доки цей клієнт має сеанс доступу до нього за секретним кодом.
Поширені помилки та відновлення
404 означає, що цей клієнт більше не має запитаного активного сеансу трекбла; знову відкрийте маршрут приватного коду або сканування. 400 охоплює неприпустимий текст стану. Цей сеанс використовує cookie, тому зберігайте сховище cookie між викликами.
POST /api/trackables/active/{trackableId}/deactivate
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/deactivate" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає поточний стан активної цільової сторінки або оновлене повідомлення про стан трекбла, доки цей клієнт має сеанс доступу до нього за секретним кодом.
Поширені помилки та відновлення
404 означає, що цей клієнт більше не має запитаного активного сеансу трекбла; знову відкрийте маршрут приватного коду або сканування. 400 охоплює неприпустимий текст стану. Цей сеанс використовує cookie, тому зберігайте сховище cookie між викликами.
POST /api/trackables/active/{trackableId}/message
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X POST "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/message" \
-H "Content-Type: application/json" \
-d '{ "statusMessage": "Live hunt in progress" }'
Успішна відповідь
HTTP 200 повертає поточний стан активної цільової сторінки або оновлене повідомлення про стан трекбла, доки цей клієнт має сеанс доступу до нього за секретним кодом.
Поширені помилки та відновлення
404 означає, що цей клієнт більше не має запитаного активного сеансу трекбла; знову відкрийте маршрут приватного коду або сканування. 400 охоплює неприпустимий текст стану. Цей сеанс використовує cookie, тому зберігайте сховище cookie між викликами.
POST /api/trackables/groups
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X POST "https://Geotrackable.com/api/trackables/groups" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Trail event set", "description": "Event inventory", "trackableCount": 12, "visibility": "AlwaysVisibleToEveryone", "activateImmediately": false, "watchGroupActivityWhenCreated": true }'
Успішна відповідь
HTTP 201 повертає нову групу та одноразові публічні, секретні й сканувальні дані доступу для кожного згенерованого елемента. Збережіть розкриті дані, перш ніж залишити цю відповідь.
Поширені помилки та відновлення
400 пояснює помилки в типових значеннях, кількості, видимості, категорії чи правилах команди; 401 вимагає входу; 403 означає, що викликач не може створювати в цій команді. Виправте запит перед повторним виконанням пакетної операції.
DELETE /api/trackables/groups/{trackableGroupId}/watch
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X DELETE "https://Geotrackable.com/api/trackables/groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає підсумковий стан трекбла або групи після зміни налаштування стеження для облікового запису, у який виконано вхід. Повторне встановлення бажаного кінцевого стану не має створювати дублікати підписок.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
POST /api/trackables/groups/{trackableGroupId}/watch
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/trackables/groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан трекбла або групи після зміни налаштування стеження для облікового запису, у який виконано вхід. Повторне встановлення бажаного кінцевого стану не має створювати дублікати підписок.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
POST /api/trackables/legacy-lookup
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/trackables/legacy-lookup" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан трекбла після завершення запитаної операції володіння, групування або спостереження.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
GET /api/trackables/lookup
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl "https://Geotrackable.com/api/trackables/lookup?code=GT-EXAMPLE"
Успішна відповідь
HTTP 200 повертає found, визначений ID трекбла, тип збігу й вказівки щодо переспрямування. Звичайний помилково введений або невідомий код також дає HTTP 200 із found false, щоб інтерфейс пошуку міг залишатися на місці.
Поширені помилки та відновлення
Невідомий або помилково введений код зазвичай дає HTTP 200 із found false, а не відомості про проблему. 400 зарезервовано для неправильно сформованих вхідних даних. Під час діагностики пошуку ніколи не записуйте в журнал надіслане секретне або QR-значення.
POST /api/trackables/lookup
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X POST "https://Geotrackable.com/api/trackables/lookup" \
-H "Content-Type: application/json" \
-d '{ "code": "GT-EXAMPLE" }'
Успішна відповідь
HTTP 200 повертає found, визначений ID трекбла, тип збігу й вказівки щодо переспрямування. Звичайний помилково введений або невідомий код також дає HTTP 200 із found false, щоб інтерфейс пошуку міг залишатися на місці.
Поширені помилки та відновлення
Невідомий або помилково введений код зазвичай дає HTTP 200 із found false, а не відомості про проблему. 400 зарезервовано для неправильно сформованих вхідних даних. Під час діагностики пошуку ніколи не записуйте в журнал надіслане секретне або QR-значення.
GET /api/trackables/mine
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl "https://Geotrackable.com/api/trackables/mine" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає дані трекбла, видимі викликачу в контексті публічного доступу, входу в систему або активного сеансу.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
GET /api/trackables/public
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl "https://Geotrackable.com/api/trackables/public?contentLanguage=en-US"
Успішна відповідь
HTTP 200 повертає дані трекбла, видимі викликачу в контексті публічного доступу, входу в систему або активного сеансу.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
GET /api/trackables/{trackableId}
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Успішна відповідь
HTTP 200 повертає дані трекбла, видимі викликачу в контексті публічного доступу, входу в систему або активного сеансу.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
POST /api/trackables/{trackableId}/activate
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/activate" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Activated trail coin", "description": "Ready to travel", "teamId": null }'
Успішна відповідь
HTTP 200 повертає відомості про активований трекбл після встановлення особистого чи командного права власності та метаданих рівня елемента.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
GET /api/trackables/{trackableId}/comments
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments"
Успішна відповідь
HTTP 200 повертає видиму панель коментарів, політику та поточні коментарі. Порожній список коментарів є успішним результатом.
Поширені помилки та відновлення
400 trackable_activation_required означає, що відповідний власник повинен спочатку активувати трекбл; 403 trackable_access_code_required або trackable_access_code_invalid вимагає сеанс чи облікові дані саме цього елемента; 404 означає, що застарілі ID потрібно оновити.
POST /api/trackables/{trackableId}/comments
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments" \
-H "Content-Type: application/json" \
-d '{ "body": "Found near the overlook.", "accessCode": "" }'
Успішна відповідь
HTTP 200 повертає збережений стан коментарів. Для анонімного запису потрібен активний сеанс цього клієнта або accessCode саме для цього активованого трекбла.
Поширені помилки та відновлення
400 trackable_activation_required означає, що відповідний власник повинен спочатку активувати трекбл; 403 trackable_access_code_required або trackable_access_code_invalid вимагає сеанс чи облікові дані саме цього елемента; 404 означає, що застарілі ID потрібно оновити.
DELETE /api/trackables/{trackableId}/comments/{commentId}
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає збережений стан коментарів. Для анонімного запису потрібен активний сеанс цього клієнта або accessCode саме для цього активованого трекбла.
Поширені помилки та відновлення
400 trackable_activation_required означає, що відповідний власник повинен спочатку активувати трекбл; 403 trackable_access_code_required або trackable_access_code_invalid вимагає сеанс чи облікові дані саме цього елемента; 404 означає, що застарілі ID потрібно оновити.
PUT /api/trackables/{trackableId}/comments/{commentId}
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X PUT "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "body": "Updated field note." }'
Успішна відповідь
HTTP 200 повертає збережений стан коментарів. Для анонімного запису потрібен активний сеанс цього клієнта або accessCode саме для цього активованого трекбла.
Поширені помилки та відновлення
400 trackable_activation_required означає, що відповідний власник повинен спочатку активувати трекбл; 403 trackable_access_code_required або trackable_access_code_invalid вимагає сеанс чи облікові дані саме цього елемента; 404 означає, що застарілі ID потрібно оновити.
DELETE /api/trackables/{trackableId}/group
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/group" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає підсумковий стан трекбла після завершення запитаної операції володіння, групування або спостереження.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
POST /api/trackables/{trackableId}/group
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/group" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "trackableGroupId": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63" }'
Успішна відповідь
HTTP 200 повертає підсумковий стан трекбла після завершення запитаної операції володіння, групування або спостереження.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
GET /api/trackables/{trackableId}/journey
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/journey"
Успішна відповідь
HTTP 200 повертає видимі точки подорожі в порядку маршруту. Активований трекбл без зареєстрованих зупинок повертає порожню колекцію.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
POST /api/trackables/{trackableId}/journey-stops
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/journey-stops" \
-H "Content-Type: application/json" \
-d '{ "latitude": 41.8818, "longitude": -87.6231, "accessCode": "" }'
Успішна відповідь
HTTP 200 повертає збережену пряму зупинку подорожі. latitude і longitude стають незмінною точкою історії маршруту активованого трекбла.
Поширені помилки та відновлення
400 trackable_activation_required означає, що відповідний власник повинен спочатку активувати трекбл; 403 trackable_access_code_required або trackable_access_code_invalid вимагає сеанс чи облікові дані саме цього елемента; 404 означає, що застарілі ID потрібно оновити.
DELETE /api/trackables/{trackableId}/journey-stops/{journeyStopId}
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/journey-stops/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 підтверджує, що пряму зупинку подорожі видалено з належним дозволом. Оновіть подорож, перш ніж пропонувати іншу дію для цієї зупинки.
Поширені помилки та відновлення
400 trackable_activation_required означає, що відповідний власник повинен спочатку активувати трекбл; 403 trackable_access_code_required або trackable_access_code_invalid вимагає сеанс чи облікові дані саме цього елемента; 404 означає, що застарілі ID потрібно оновити.
POST /api/trackables/{trackableId}/notes
Атомарно створити повну нанесену на карту нотатку про локацію й точку подорожі для одного активованого трекбла, яким керує особистий власник, що ввійшов у систему, або чинний адміністратор команди.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "title": "Trackable drop", "body": "Placed near the east trail marker.", "contentLanguage": "en-US", "latitude": 41.8818, "longitude": -87.6231, "visibility": "Private", "commentPolicy": "Disabled" }'
Успішна відповідь
HTTP 201 повертає trackableId, journeyStopId і повну збережену нотатку про локацію. Заголовок Location вказує на /api/public/notes/{noteId}; якщо прив’язування завершиться помилкою, ані нотатку, ані точку подорожі не буде зафіксовано.
Поширені помилки та відновлення
400 validation_failed називає непідтримувані поля, як-от content або trackableIds; 400 trackable_note_location_required вимагає обидві координати; 400 trackable_activation_required вимагає активації; 403 trackable_management_required вимагає особистого власника або чинного адміністратора команди; 404 trackable_not_found вимагає оновлений ID. Після тайм-ауту з невідомим результатом оновіть дані перед повторною спробою, щоб уникнути дублікатів.
DELETE /api/trackables/{trackableId}/watch
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
-H "Authorization: Bearer <access token>"
Успішна відповідь
HTTP 200 повертає підсумковий стан трекбла або групи після зміни налаштування стеження для облікового запису, у який виконано вхід. Повторне встановлення бажаного кінцевого стану не має створювати дублікати підписок.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.
POST /api/trackables/{trackableId}/watch
Маршрути трекерів охоплюють публічний перегляд, приватне володіння, запам'ятаний секретний доступ, коментарі та зупинки подорожі.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Успішна відповідь
HTTP 200 повертає підсумковий стан трекбла або групи після зміни налаштування стеження для облікового запису, у який виконано вхід. Повторне встановлення бажаного кінцевого стану не має створювати дублікати підписок.
Поширені помилки та відновлення
400 повідомляє про бізнес-правило трекбла; 401 стосується керування, доступного лише з bearer-токеном; 403 надає action щодо права власності, командної ролі, групування або доступу; 404 означає, що потрібно оновити поточний стан трекбла або групи.