Параметри конфіденційності

Оскільки ми не змогли впевнено визначити, що цей візит перебуває поза регіоном, де потрібна згода, Geotrackable тимчасово стримує сторонні інструменти для маршруту, доки ви не підтвердите, що слід дозволити цьому візиту.

Підтвердьте рекомендовані типові параметри, щоб рухатися далі, або відкрийте нижче варіанти для цього візиту, якщо спершу хочете суворіший шлях для мап чи аналітики.

Рекомендований маршрутний типово для цього візиту

Geotrackable.com

Налаштування застосунку 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"
}

Дії для зарезервованого префікса

Зарезервовані або недійсні користувацькі значення повертають відповідь про проблему з 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"
}

Призначення кожного поля

Помилки перевірки містять назви полів

Помилки перевірки 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 означає, що потрібно оновити поточний стан трекбла або групи.

Підтримка