Geotrackable.com

Android app cher

Android Sync tabDaq site origin neH endpoint mojmoH. /api yIchelQo'.

https://Geotrackable.com

local account credentials /api/auth/login?useCookies=false&useSessionCookies=falseDaq yIngeH, ghIq bearer token Hevlu'bogh Authorization headerDaq yIngeH.

janglu' 'e' pIHlu'

bearer token ngeHpa' client HTTP 401 nob route Qanlu'bogh. browserDaq POST-only route poSmoHlu'DI' HTTP 405 nob, GET ngeHmo' browser.

offline sync cycle HochDaq wa'DIch push, cha'DIch pull.

API path Sovbe'lu'boghvaD HTTP 404 noblu'. path Sovlu'boghvaD verb muj lo'lu'chugh, motlh HTTP 405 noblu' 'ej chaq Allow header ngaS. delete-only /api/account pathDaq chIch GET endpoint tu'be'; vaj Qapqa'meH mIw ghajbogh 404 nob GET /api/account. account laDmeH /api/auth/manage/info yIlo'.

host yI'ol, yI'el, private routes Dapongpa' token yI'ol.

DaH account De' route framework identity APIvo' ghoS. account route pIm deletion ru'Ha'vaD neH tu'lu'.

Dotlh 'ol

routevam anonymous 'ej production API host SIchlaHlu' 'e' 'olmeH mIw nomqu'.

curl "https://Geotrackable.com/api/system/status"
{
  "status": "online",
  "utcNow": "2026-06-20T12:00:00Z",
  "androidBetaPageUrl": "https://Geotrackable.com/en-US/Account/Beta"
}

muvmeH mIw

bearer token tlhobpa', email, password, public profile user name je lo'taHvIS local account yIchenmoH. user namemeyDaq Deghmey mach, mI' Deghmey, underscore neH chaw'lu'.

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 token lo'taHvIS 'elmeH mIw

bearer token poQDI' script, app pagh API client, cookies chu'Ha'lu'taHvIS local account credentials yIlo'.

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..."
}

DaH account profile je

GET /api/account profile endpoint tu'be'lu'. signed-in account metadatavaD identity manage-info endpoint yIlo'; public profile 'angmeH website profile pages yIlo'.

GET /api/account read route muchlu'bogh 'oHbe'.

GET /api/auth/manage/info signed-in identity De' nob.

DELETE /api/account DaH account ru'Ha' teq.

curl "https://Geotrackable.com/api/auth/manage/info" \
  -H "Authorization: Bearer <access token>"

Android pagh API-client rarghlu'ghach DanuDDI' routevam yIlo'choH.

mIw He
mIw">GET He">/api/system/status
mIw">POST He">/api/auth/register
mIw">POST He">/api/auth/login?useCookies=false&useSessionCookies=false
mIw">GET He">/api/auth/manage/info
mIw">POST He">/api/sync/push
mIw">POST He">/api/sync/pull
mIw">GET He">/api/notes/public/bounds
mIw">GET He">/api/notes/public/nearby
mIw">GET He">/api/categories/mine
mIw">GET He">/api/notes/mine
mIw">POST He">/api/notes/mine
mIw">POST He">/api/trackables/{trackableId}/notes
mIw">GET He">/api/trackables/public
mIw">POST He">/api/trackables/lookup
mIw">GET He">/api/trackables/active
mIw">DELETE He">/api/account

Daq motlh yIchenmoH, pagh tlha' Doch Dara'boghvaD Daq yIchenmoH.

nIteb Daq motlh chenmoHmeH POST /api/notes/mine yIlo'. tlha' Doch chu'moHlu'ta'bogh nIteb ghajwI' ghaHchugh caller 'elta'bogh, pagh ghomDaj active admin ghaHchugh, POST /api/trackables/{trackableId}/notes yIlo'. POST /api/trackables/{trackableId} yIlo'Qo'; GET neH laj resource routevetlh.

Daq ghItlh property 'oH body'e', content 'oHbe'. wIvlaHlu' categoryId; latitude longitude je nobnISlu' Hoch. URLvo' trackableId Suq tlha' Doch route, vaj trackableIds propertyDaq yIchelqa'Qo'.

map veHmeyDaq public Daqmey

map viewport ghajta'DI' clientlIj 'ej areavetlhvaD public location notes leghlaHbogh neHDI', bounds yIlo'.

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"
  }
]

nIteb Daq motlh yIchenmoH

tlha' Doch rarHa'taHvIS Daq chenmoH routevam. account default Segh lo'meH categoryId yIchelQo'. Daq polta'bogh nob response, 'ej pIq tlhobghachmeyvaD noteId ngaS.

Private, Public, Disabled je rur readable enum pongmey laj create tlhobghachmey, bIngDaq cha'lu'bogh; numeric valueschaj lajtaH. DaH visibility commentPolicy je mI' ngoghmey lo' note responses: visibility 0 'oH Private'e', 1 'oH Public'e', 2 'oH VisibleOnceAssociatedTrackableAccessed'e'; commentPolicy 0 'oH Disabled'e', 1 'oH LoggedInUsers'e', 2 'oH TeamMembers'e'.

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
  }'

tlha' Doch ra'lu'boghvaD Daq yIchenmoH

wa' mIwDaq full Daq QIn je tlha' Doch leng mevDaq je atomically chenmoH routevam. chu'moHlu'ta'nIS tlha' Doch, 'ej nIteb ghajwI'Daj pagh owning team active admin ghaHnIS bearer-token account'e'. team tlha' DochvaD ghom rapDaq QIn chenmoHlu'.

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."
}

outcome Sovbe'lu'bogh timeout qaSpu'DI' POST yIngeHqa'Qo'; Qob. yInIDqa'pa', tlha' Doch leng je DaqmeylIj je tIrefresh, vaj duplicate QIn je mevDaq je chenmoHbe' client.

pegh access pagh active-session access DaghajDI' Daq yIrar

tlha' Doch ra'be'bogh tu'wI' cha' calls lo'nIS: wa'DIch Daq motlh chenmoH, responsevetlhvo' noteId laD, vaj pegh ngoghDaj lo'taHvIS wa' tlha' Doch chu'moHlu'ta'bogh rar. cookie-backed browser session rapDaq active trackablesvaD neH selectedActiveTrackableIds lo'lu'.

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>"
  }'

property pong plural 'oHtaH trackableSecretCodes'e', 'ach tlhobghach HochDaq wa' ngogh neH laj. Quvmey ghajnIS QIn, 'ej chu'moHlu'ta'nIS tlha' Doch. latlh tlha' Doch rarmeH association request yIngeHqa'.

Quvmey ghajbogh lightweight leng pointvaD, 'ach pong, body, Segh, full Daq QIn je Hutlhbogh, POST /api/trackables/{trackableId}/journey-stops yIlo'.

wa'DIch local choHmey yIpush, ghIq user current public area je server view yIpull.

sync route cha' bearer auth poQ. deviceDaq ratlhlaH anonymous private Daqmey, 'ach server sync API lajbe'.

ngeHmeH tlhobghach

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"
      }
    ]
  }'

category leghlaHbogh signed-in account pagh push rapDaq category chellu'bogh ngu'nIS note Hoch. offline bIH DachenmoHtaHvIS record cha'Daq categoryId rap yIpol.

HevmeH tlhobghach

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": []
}

pull Daruchpa' push conflicts yIta'

conflicts collection ghajbogh HTTP 200 noblaH push lugh. entity Hoch sync mIw ngoD 'oH; transport QapHa'ghach 'oHbe'. entityId, entityType, Human meq, code choHbe'bogh, action naQ je ngaS conflict Hoch.

{
  "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."
}

entity lajbe'lu'bogh pegh yIngeHqa'taHQo'. stale_updatevaD pull je merge wuqghach je poQlu'; team_membership_requiredvaD membership chu'qa'lu'bogh poQlu'; online_team_management_required choH online team APIsDaq vIHmoH; accountvamvaD server copy Qap 'e' 'oS entity_ownership_conflict.

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

sensitive credentials bIH secret codes private QR payloads je. chenmoHlu'pu'DI' bIH nobbe' read routes motlh.

wIvlaHlu' secretCode property POST /api/trackablesDaq. system secret code le' chenmoHjaj Geotrackable DaneHDI', secretCode yIchelQo'; code polnISbogh ghajta'DI' physical item, custom value chaw'lu'bogh yIngeH.

public browse lookup je

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"
  }'

browser-style active session chenmoHlaH Secret je QR lookup. pIq active-session callsvaD response cookie jar yIpol, credential DaQanbogh rur filevetlh yIQan, 'ej session poQbe'lu'choHDI' yIteq.

trackable yIchenmoH

tlhobghach chuplu'boghDaq secretCode tu'be'. secretCode yIchelQo'chugh, null 'oHchugh, chImchugh, pagh whitespace neH ghajchugh, code chenmoHjaj server 'e' Datlhob. value chImbe'lu'bogh ngeHlu'chugh, normalization availability checks je qaSpu'DI' custom codevetlh naQ tlhoblu'.

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
  }'

secret code naQ yItlhob

custom identifier ghajta'DI' item neH secretCode yIngeH. normalized value lo'laHchugh, laj server 'ej HTTP 201 nob. pIm public code chenmoHlu'bogh; codevetlh wIvtaH 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 Deghmey juSnISbe' custom codes, 'ej public je secret trackable-code namespace naQDaq lo'laHnIS. GT, LN, TB, GK, pagh GC taghbogh codes system-issued pagh origin-site identifiersvaD pollu'; custom Geotrackable secret codes mojlaHbe'.

wa'logh neH pegh De' 'ang chenmoHghach jangghach

SIbI' secretCode scanUrl je cheghbogh yIpol. pIq chIch credentialsvetlh 'angqa'be' list, detail, lookup, comment, journey routes je.

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>"
    }
  ]
}

secret access chu'

valid secret code pagh scan payload 'elDI' browser, nuq poSqa'moHlaH browservetlh 'e' 'ang active-session routes.

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"
  }'

code tlhoblu'bogh ghajlu'ta'DI'

custom code latlh ghajlu'chugh, code trackable_secret_code_taken ghajbogh HTTP 409 chegh. trackable chenmoHbe' tlhobghachvam. value rap yInIDqa'taHQo': code chenmoHlu'bogh HevmeH secretCode yIchelQo', pagh custom code pIm chaw'lu'bogh yIwIv.

{
  "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"
}

prefix pollu'bogh Qapqa'meH mIw

problem jangghach action documentation link je ghajbogh nob custom values pollu'bogh pagh lughbe'bogh. reH QobHa' fallback: create requestvo' secretCode yIteq.

journey stop yIlog

full location note poQbe'lu'DI', direct journey stop 'oH route update tIS.

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"
  }'

trackableDaq comment yIghItlh

bearer identity lo'taHvIS comment ghItlhlaH signed-in callers. active secret-backed session ghajDI' clientvam pagh itemvam naQ accessCode ngeHDI', trackable chu'lu'boghDaq comment ghItlhlaH je anonymous callers.

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": ""
  }'

tlha' Dochmey qech

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

ghom yIchenmoH

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"
  }'

invite link yIchenmoH

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>"

ghommey qech

page pagh content rarbogh visibility pab media support routes je.

nInmey

public-safe parent page tu'lu'DI', list read anonymous laH. upload delete routes je bearer auth poQ.

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"

external link 'ol

Daq, team, trackable pagh trackable groupDaq link Dapolpa' external link yI'ol.

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"
  }'

content error reports je

public-page content SaHghachmeyvaD reports yIlo'; support nuDlaHbogh client-side diagnostics errors je yIlo'.

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."
  }'

APIDaq account yIteq

APIDaq DaH account synced personal De' je ru'Ha' teqlaH authenticated clients. export steps pagh shared trackable retention rules DapoQDI' Delete Data page wa'DIch yIlaD.

curl -X DELETE "https://Geotrackable.com/api/account" \
  -H "Authorization: Bearer <access token>"
{
  "deletedAccount": true,
  "notesDeleted": 14,
  "categoriesDeleted": 6,
  "linkedProvidersDeleted": 2
}

De' yIQaw'

action veb lI' ngaS errors

code choHbe'bogh lo'taHvIS QapHa'ghach ngu' API problem jangghachmey, tlhobghachvam detail luQIj, 'ej 'anglaH pagh pablaH client action lunob. tlhobghach server diagnostics je rarnIS supportDI' requestId yIlo'.

Qagh payload je Qapqa'meH reference je yIlaD

yI'el

machine code yIlo', requestId yIpol, 'ej English ghItlh DapoQHa'moHpa' action yIpab.

application/problem+json je RFC rurbogh problem-details object je lo' API QapHa'ghachmey. poH veb title je detail ghItlh Human laDlaHbogh DublaHlu' pagh mughlaHlu'; program logicvaD value choHbe'bogh 'oH code'e'.

problem jangghach chen

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"
}

field Hoch Qu'

field names ngaS validation errors

errors object chel HTTP 400 validation QapHa'ghachmey. JSON property pagh tlhobghach area lughmoHnISbogh 'oH key Hoch'e'; rule law' bIvlaH field wa' vaj array 'oH value Hoch'e'.

{
  "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 Qagh je content type

JSON lughbe' 'oH request validation QapHa'ghach'e'. requestId yIpol, syntax yIlughmoH, 'ej Content-Type: application/json lo'taHvIS body yIngeHqa'. file-upload endpointsvaD multipart/form-data poQlu' 'ej route-specific field name ghajbogh files pagh file part poQlu'.

syntax lugh ghajlaH body, 'ach business rule lajbe'laH. field QaghmeyvaD errors yIlo'; program logicvaD code; contextvaD detail; mIw vebvaD action. server exception tlhol pagh stack trace lo'wI'pu'vaD yI'angQo'.

Dotlh nuq 'oS Qapqa'meH mIw nIDqa'meH qeS
400 Bad Request tlhobghach lajbe' JSON, query values, field constraints, pagh business rule. tu'lu'DI' errors yIlaD; tu'be'DI' code, detail, action je yIlaD. tlhobghach DangeHqa'pa' yIlughmoH. tlhobghach choHbe'lu'bogh yIngeHqa'Qo'.
401 Unauthorized bearer token lo'laH Hevbe' route Qanlu'bogh. email tu'lu' pagh tu'lu'be' 'e' 'angbe'taHvIS HTTP 401 lo' je login QapHa'ghachmey. token yISuq pagh yIchu'qa', Bearer scheme host je yI'ol, ghIq call DaHechbogh wa'logh yIruchqa'. authentication choHta'DI' neH yInIDqa'; nIDmey choHbe'lu'bogh lI'be'.
403 Forbidden caller Sovlu', 'ach ownership, team role, active trackable session, pagh secret-backed access poQlu'bogh ghajbe'. action yIpab: account lo'laH yIlo', access yItlhob, item yIchu'moH, pagh trackablevetlh naQ access yInob. access state choHpa' yInIDqa'Qo'.
404 Not Found route pagh resource Sambe'lu'. private resources tu'lu' 'e' SovlaHbe'nIS callerDI', chIch tu'be' rurlaH bIH. method, route, GUID, public code, current list state je yI'ol. client De' ngo' yIchu'qa'. mIw yIruchqa'taHQo'. identifier DalughmoHta'DI' pagh state Dachu'qa'ta'DI' neH yInIDqa'.
405 Method Not Allowed path tu'lu', 'ach HTTP verb muj; ghantoH, browser GET lo'taHvIS POST-only route poSmoHlu'. method 'angbogh documentationvam yIlo' 'ej noblu'DI' Allow response header yInuD. method lugh je request shape lugh je lo'taHvIS neH yInIDqa'.
409 Conflict tlhobghach lugh, 'ach current server state Qoch; chaq trackable secret code tlhoblu'bogh ghajlu'ta'. current state yIloadqa' pagh value Qoch yIchoH. trackable chenmoHlu'DI', code chenmoHmeH secretCode yIchelQo' pagh custom code latlh yIwIv. create value rap yInIDqa'Qo'; tlhobghach pagh state DachoHta'DI' neH yInIDqa'.
413 Content Too Large size lajlu'bogh juS request body pagh uploaded file set. image mI' pagh size yImachmoH; chaw'DI' workflow upload yIwav; metadata requests media je yIpImmoH. payload mach law' lo'taHvIS neH yInIDqa'.
415 Unsupported Media Type endpoint rapbe' body encoding. JSON endpointsvaD application/json yIlo'; image pagh GPX upload endpointsvaD multipart/form-data yIlo'. multipart boundaries chenmoHjaj HTTP library. Content-Type je body encoding je DalughmoHta'DI' neH yInIDqa'.
429 Too Many Requests request limit juS client pagh ngeHghachmey ghom ngeH nomqu'. tu'lu'DI' Retry-After yIpab, concurrency yImachmoH, public reads yIcache, 'ej duplicate requests yImuvmoH. Retry-After yIloS; tu'be'chugh, jitter ghajbogh exponential backoff je retry cap je yIlo'.
500 Internal Server Error QapHa'ghach pIHbe'lu'bogh QonoS Geotrackable. stack traces pagh internal secrets 'angbe' jangghach. tu'lu'DI' requestId ticketNumber je yIpol, ghIq poH, method, route template, status, code je nobtaHvIS support yIrI'. loSqa'ta'DI' safe reads yInIDqa'. commit state Sovbe'lu'DI', create pagh latlh non-idempotent write Daleghbe'taHvIS yIruchqa'Qo'.

chIch writes yInIDqa'

motlh GET tlhobghachmey nIDqa'lu'chugh QobHa'. jangghach Hevpa' client time outchugh, De' chenmoHlaHtaH POST. trackable chenmoHghach Daruchqa'pa', GET /api/trackables/mine yIchu'qa' 'ej result yIrapmoH, vaj duplicate physical items chenmoHbe' network timeout.

HTTP 429 pagh ru'bogh 500 qaSDI', jitter ghajbogh exponential backoff veHlu'bogh yIlo'. tlhobghach'e' choHnISlu' jatlhDI' action, yImev. 400, 403, 404, 405, 409, 413, pagh 415 automatic retry loop yImojmoHQo'.

credentials 'angbe'taHvIS diagnostics lI' yIpol

Authorization headers yIQonoSQo'; bearer pagh refresh tokens, mu'mey pegh, cookies, secretCode, accessCode, QR payloads, scan URLs pegh, pagh /trackable/{code} 'elmeH paths tlhol je yIQonoSQo'. telemetry, QapHa'ghach ja'meH De', jIH mIlloghmey, QaH chelbogh De' jevaD ngeHlu'pa' bIH yISo'.

diagnostic De' QobHa' ngaS requestId, ticketNumber, HTTP status, code choHbe'bogh, method, route template, client version, timestamp je. Daq ghItlh, coordinates naQ, rI' De', pagh trackable credential ngaSlaHchugh request body naQ yIcopyQo'.

POST /api/trackables -> 409
code=trackable_secret_code_taken
requestId=0HN7EXAMPLE:00000001
secretCode=[REDACTED]

Geotrackable API route muchlu'bogh

Geotrackable endpoint table QaptaHboghvo' chenmoHlu' tetlhvam, vaj host rarlaH ghItlh muchlu'bogh.

mIw He naw'
mIw">DELETE He">/api/account naw'">chaw' poQlu'
mIw">GET He">/api/auth/confirmEmail naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/auth/forgotPassword naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/auth/login naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/auth/manage/2fa naw'">chaw' poQlu'
mIw">GET He">/api/auth/manage/info naw'">chaw' poQlu'
mIw">POST He">/api/auth/manage/info naw'">chaw' poQlu'
mIw">POST He">/api/auth/refresh naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/auth/register naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/auth/resendConfirmationEmail naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/auth/resetPassword naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/categories/mine naw'">chaw' poQlu'
mIw">POST He">/api/categories/mine naw'">chaw' poQlu'
mIw">GET He">/api/categories/mine/tree naw'">chaw' poQlu'
mIw">GET He">/api/categories/mine/tree/children naw'">chaw' poQlu'
mIw">GET He">/api/categories/mine/tree/sections naw'">chaw' poQlu'
mIw">DELETE He">/api/categories/mine/{categoryId} naw'">chaw' poQlu'
mIw">POST He">/api/categories/mine/{categoryId}/move naw'">chaw' poQlu'
mIw">POST He">/api/compliance/errors naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/compliance/reports naw'">chaw' poQlu'
mIw">POST He">/api/compliance/reports naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/compliance/reports/mine naw'">chaw' poQlu'
mIw">GET He">/api/compliance/reports/{contentReportId} naw'">chaw' poQlu'
mIw">PUT He">/api/compliance/reports/{contentReportId} naw'">chaw' poQlu'
mIw">POST He">/api/external-links/verify naw'">chaw' poQlu'
mIw">GET He">/api/images/notes/{noteId} naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/images/notes/{noteId} naw'">chaw' poQlu'
mIw">POST He">/api/images/profiles naw'">chaw' poQlu'
mIw">GET He">/api/images/profiles/{userId} naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/images/teams/{teamId} naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/images/teams/{teamId} naw'">chaw' poQlu'
mIw">GET He">/api/images/trackable-groups/{trackableGroupId} naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/images/trackable-groups/{trackableGroupId} naw'">chaw' poQlu'
mIw">GET He">/api/images/trackables/{trackableId} naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/images/trackables/{trackableId} naw'">chaw' poQlu'
mIw">DELETE He">/api/images/{contentImageId} naw'">chaw' poQlu'
mIw">GET He">/api/images/{contentImageId}/{variant} naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/locations/mine/gpx naw'">chaw' poQlu'
mIw">POST He">/api/locations/mine/gpx naw'">chaw' poQlu'
mIw">GET He">/api/notes/mine naw'">chaw' poQlu'
mIw">POST He">/api/notes/mine naw'">chaw' poQlu'
mIw">GET He">/api/notes/mine/gpx naw'">chaw' poQlu'
mIw">POST He">/api/notes/mine/gpx naw'">chaw' poQlu'
mIw">DELETE He">/api/notes/mine/{noteId} naw'">chaw' poQlu'
mIw">POST He">/api/notes/mine/{noteId}/move naw'">chaw' poQlu'
mIw">GET He">/api/notes/public/bounds naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/notes/public/nearby naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/public/notes/{noteId} naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/public/notes/{noteId}/comments naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/public/notes/{noteId}/comments naw'">chaw' poQlu'
mIw">GET He">/api/public/notes/{noteId}/trackables naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/public/notes/{noteId}/trackables naw'">chaw' poQlu'
mIw">GET He">/api/public/profiles/{userName}/notes/nearby naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/public/teams/{teamName}/notes/nearby naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/sync/pull naw'">chaw' poQlu'
mIw">POST He">/api/sync/push naw'">chaw' poQlu'
mIw">GET He">/api/system/beta-android naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/system/coordinate-locality naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/system/ip-location naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/system/status naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/teams naw'">chaw' poQlu'
mIw">POST He">/api/teams naw'">chaw' poQlu'
mIw">POST He">/api/teams/invite-links/{teamSlug}/{inviteCode}/join naw'">chaw' poQlu'
mIw">DELETE He">/api/teams/{teamId} naw'">chaw' poQlu'
mIw">GET He">/api/teams/{teamId}/categories naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/categories naw'">chaw' poQlu'
mIw">GET He">/api/teams/{teamId}/categories/tree naw'">chaw' poQlu'
mIw">GET He">/api/teams/{teamId}/categories/tree/children naw'">chaw' poQlu'
mIw">GET He">/api/teams/{teamId}/categories/tree/sections naw'">chaw' poQlu'
mIw">DELETE He">/api/teams/{teamId}/categories/{categoryId} naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/categories/{categoryId}/move naw'">chaw' poQlu'
mIw">GET He">/api/teams/{teamId}/invite-links naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/invite-links naw'">chaw' poQlu'
mIw">DELETE He">/api/teams/{teamId}/invite-links/{inviteLinkId} naw'">chaw' poQlu'
mIw">GET He">/api/teams/{teamId}/locations/gpx naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/locations/gpx naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/memberships/invite naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/memberships/request naw'">chaw' poQlu'
mIw">DELETE He">/api/teams/{teamId}/memberships/{membershipId} naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/memberships/{membershipId}/accept naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/memberships/{membershipId}/approve naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/memberships/{membershipId}/deny naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/memberships/{membershipId}/promote-admin naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/memberships/{membershipId}/refuse naw'">chaw' poQlu'
mIw">GET He">/api/teams/{teamId}/notes naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/notes naw'">chaw' poQlu'
mIw">GET He">/api/teams/{teamId}/notes/gpx naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/notes/gpx naw'">chaw' poQlu'
mIw">DELETE He">/api/teams/{teamId}/notes/{noteId} naw'">chaw' poQlu'
mIw">DELETE He">/api/teams/{teamId}/notes/{noteId}/delete naw'">chaw' poQlu'
mIw">POST He">/api/teams/{teamId}/notes/{noteId}/move naw'">chaw' poQlu'
mIw">PUT He">/api/teams/{teamId}/settings naw'">chaw' poQlu'
mIw">POST He">/api/trackables naw'">chaw' poQlu'
mIw">GET He">/api/trackables/active naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/trackables/active-indicator naw'">pegh pagh pong ghajbe'
mIw">DELETE He">/api/trackables/active/{trackableId} naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/trackables/active/{trackableId} naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/trackables/active/{trackableId}/deactivate naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/trackables/active/{trackableId}/message naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/trackables/groups naw'">chaw' poQlu'
mIw">DELETE He">/api/trackables/groups/{trackableGroupId}/watch naw'">chaw' poQlu'
mIw">POST He">/api/trackables/groups/{trackableGroupId}/watch naw'">chaw' poQlu'
mIw">POST He">/api/trackables/legacy-lookup naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/trackables/lookup naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/trackables/lookup naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/trackables/mine naw'">chaw' poQlu'
mIw">GET He">/api/trackables/public naw'">pegh pagh pong ghajbe'
mIw">GET He">/api/trackables/{trackableId} naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/trackables/{trackableId}/activate naw'">chaw' poQlu'
mIw">GET He">/api/trackables/{trackableId}/comments naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/trackables/{trackableId}/comments naw'">pegh pagh pong ghajbe'
mIw">DELETE He">/api/trackables/{trackableId}/comments/{commentId} naw'">chaw' poQlu'
mIw">PUT He">/api/trackables/{trackableId}/comments/{commentId} naw'">chaw' poQlu'
mIw">DELETE He">/api/trackables/{trackableId}/group naw'">chaw' poQlu'
mIw">POST He">/api/trackables/{trackableId}/group naw'">chaw' poQlu'
mIw">GET He">/api/trackables/{trackableId}/journey naw'">pegh pagh pong ghajbe'
mIw">POST He">/api/trackables/{trackableId}/journey-stops naw'">pegh pagh pong ghajbe'
mIw">DELETE He">/api/trackables/{trackableId}/journey-stops/{journeyStopId} naw'">chaw' poQlu'
mIw">POST He">/api/trackables/{trackableId}/notes naw'">chaw' poQlu'
mIw">DELETE He">/api/trackables/{trackableId}/watch naw'">chaw' poQlu'
mIw">POST He">/api/trackables/{trackableId}/watch naw'">chaw' poQlu'

DELETE /api/account

APIDaq DaH account synced personal De' je ru'Ha' teqlaH authenticated clients. export steps pagh shared trackable retention rules DapoQDI' Delete Data page wa'DIch yIlaD.

curl -X DELETE "https://Geotrackable.com/api/account" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

signed-in account je personal De' teqlaHlu'bogh je teqlu'chu'pu'DI', deletion counts nob HTTP 200. Qapbogh responsemo' current session sign out-lu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

bearer token lugh poQ 401. qatlh deletion rInlaHbe' 'e' QIj 400. Qaw' account deletion: timeout outcome Sovbe'lu'bogh qaSpu'DI' yInIDqa'Qo'; wa'DIch sign-in state yI'ol.

GET /api/auth/confirmEmail

confirmation linkvo' user ID je URL-encoded confirmation code je lo'taHvIS email confirmation yIvangmoH.

curl "https://Geotrackable.com/api/auth/confirmEmail?userId=13a2c0b1-582f-4a7b-92aa-16922f7bdb63&code=URL_ENCODED_CONFIRMATION_CODE"

jangghach Qap

identity operation rIn 'e' jatlh HTTP 200. identity payload noblu'chugh yIlaD; chIch success body chIm noblaH password confirmation operations je.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field-level identity validation DevmeH De' ngaS 400; bearer token pagh credentials lo'laHbe'lu' 'e' jatlh 401. action yIpab, 'ej credentials choHbe'lu'bogh yInIDqa'taHQo'.

POST /api/auth/forgotPassword

email-based account recovery pagh confirmation workflow yItagh. email address tu'lu' pagh tu'lu'be' 'e' chIch 'angbe' response.

curl -X POST "https://Geotrackable.com/api/auth/forgotPassword" \
  -H "Content-Type: application/json" \
  -d '{ "email": "api-user@example.com" }'

jangghach Qap

identity operation rIn 'e' jatlh HTTP 200. identity payload noblu'chugh yIlaD; chIch success body chIm noblaH password confirmation operations je.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field-level identity validation DevmeH De' ngaS 400; bearer token pagh credentials lo'laHbe'lu' 'e' jatlh 401. action yIpab, 'ej credentials choHbe'lu'bogh yInIDqa'taHQo'.

POST /api/auth/login

local account credentials je, poQlu'DI' two-factor value je, tItam 'ej bearer refresh tokens je tIHev. cookies disable-nIS API clients.

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!" }'

jangghach Qap

tokenType, accessToken, expiration data, signed-in user summary je nob HTTP 200. credentials platform-secure storageDaq tIpol 'ej not tIlogQo'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

JSON muj pagh fields Hutlhlu'bogh QIj 400. email tu'lu' pagh tu'lu'be' 'e' chIch 'angbe' 401 authentication_failed; credentials yI'ol, pagh yInIDqa'pa' password-reset flow yIlo'. requiresTwoFactor true pol 401 two_factor_required response, 'ej twoFactorCode pagh twoFactorRecoveryCode lo'taHvIS login rI'qa'nIS client 'e' ja'.

POST /api/auth/manage/2fa

signed-in account two-factor authentication yIchu', yIchu'Ha', yIreset, pagh yInuD. credentials pegh bIH Authenticator recovery values je.

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 }'

jangghach Qap

identity operation rIn 'e' jatlh HTTP 200. identity payload noblu'chugh yIlaD; chIch success body chIm noblaH password confirmation operations je.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field-level identity validation DevmeH De' ngaS 400; bearer token pagh credentials lo'laHbe'lu' 'e' jatlh 401. action yIpab, 'ej credentials choHbe'lu'bogh yInIDqa'taHQo'.

GET /api/auth/manage/info

signed-in account email je confirmation state je tIlaD, pagh poQlu'DI' current password lo'taHvIS email/password yIchu'qa'.

curl "https://Geotrackable.com/api/auth/manage/info" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

identity operation rIn 'e' jatlh HTTP 200. identity payload noblu'chugh yIlaD; chIch success body chIm noblaH password confirmation operations je.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field-level identity validation DevmeH De' ngaS 400; bearer token pagh credentials lo'laHbe'lu' 'e' jatlh 401. action yIpab, 'ej credentials choHbe'lu'bogh yInIDqa'taHQo'.

POST /api/auth/manage/info

signed-in account email je confirmation state je tIlaD, pagh poQlu'DI' current password lo'taHvIS email/password yIchu'qa'.

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!" }'

jangghach Qap

identity operation rIn 'e' jatlh HTTP 200. identity payload noblu'chugh yIlaD; chIch success body chIm noblaH password confirmation operations je.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field-level identity validation DevmeH De' ngaS 400; bearer token pagh credentials lo'laHbe'lu' 'e' jatlh 401. action yIpab, 'ej credentials choHbe'lu'bogh yInIDqa'taHQo'.

POST /api/auth/refresh

account password ngeHqa'be'taHvIS refresh token lo'laHtaHbogh yItam, access-token response chu' yIHev.

curl -X POST "https://Geotrackable.com/api/auth/refresh" \
  -H "Content-Type: application/json" \
  -d '{ "refreshToken": "<refresh token from login>" }'

jangghach Qap

identity operation rIn 'e' jatlh HTTP 200. identity payload noblu'chugh yIlaD; chIch success body chIm noblaH password confirmation operations je.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field-level identity validation DevmeH De' ngaS 400; bearer token pagh credentials lo'laHbe'lu' 'e' jatlh 401. action yIpab, 'ej credentials choHbe'lu'bogh yInIDqa'taHQo'.

POST /api/auth/register

email address, public user name, password HoSghaj je lo'taHvIS local account yIchenmoH. bearer token nobbe' Registration; ghIq sign in yIta'.

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!" }'

jangghach Qap

local account chenmoHlu'ta' 'e' jatlh HTTP 200. bearer token Hutlh response; ghIq login route yIrI'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

JSON muj pagh email, password, userName field Qaghmey je ngu' 400 validation_failed. errors tetlhlu'bogh tIlughmoH; values rapmo' email pagh public user name pIm poQlu'.

POST /api/auth/resendConfirmationEmail

email-based account recovery pagh confirmation workflow yItagh. email address tu'lu' pagh tu'lu'be' 'e' chIch 'angbe' response.

curl -X POST "https://Geotrackable.com/api/auth/resendConfirmationEmail" \
  -H "Content-Type: application/json" \
  -d '{ "email": "api-user@example.com" }'

jangghach Qap

identity operation rIn 'e' jatlh HTTP 200. identity payload noblu'chugh yIlaD; chIch success body chIm noblaH password confirmation operations je.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field-level identity validation DevmeH De' ngaS 400; bearer token pagh credentials lo'laHbe'lu' 'e' jatlh 401. action yIpab, 'ej credentials choHbe'lu'bogh yInIDqa'taHQo'.

POST /api/auth/resetPassword

emailvo' reset code naQ je password chu' HoSghaj je lo'taHvIS password recovery yIrInmoH. credentials bIH reset codes'e'; yIlogQo'.

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!" }'

jangghach Qap

identity operation rIn 'e' jatlh HTTP 200. identity payload noblu'chugh yIlaD; chIch success body chIm noblaH password confirmation operations je.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field-level identity validation DevmeH De' ngaS 400; bearer token pagh credentials lo'laHbe'lu' 'e' jatlh 401. action yIpab, 'ej credentials choHbe'lu'bogh yInIDqa'taHQo'.

GET /api/categories/mine

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/categories/mine" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

personal category list, management tree, sections, requested children je nob HTTP 200. Qap branches chIm.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

POST /api/categories/mine

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

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 }'

jangghach Qap

category chenmoHlu'bogh pagh vIHmoHlu'bogh nob HTTP 200, pagh descendant rules pablu'pu'DI' deletion 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

GET /api/categories/mine/tree

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/categories/mine/tree" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

personal category list, management tree, sections, requested children je nob HTTP 200. Qap branches chIm.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

GET /api/categories/mine/tree/children

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/categories/mine/tree/children" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

personal category list, management tree, sections, requested children je nob HTTP 200. Qap branches chIm.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

GET /api/categories/mine/tree/sections

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/categories/mine/tree/sections" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

personal category list, management tree, sections, requested children je nob HTTP 200. Qap branches chIm.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

DELETE /api/categories/mine/{categoryId}

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl -X DELETE "https://Geotrackable.com/api/categories/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

category chenmoHlu'bogh pagh vIHmoHlu'bogh nob HTTP 200, pagh descendant rules pablu'pu'DI' deletion 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

POST /api/categories/mine/{categoryId}/move

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

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 }'

jangghach Qap

category chenmoHlu'bogh pagh vIHmoHlu'bogh nob HTTP 200, pagh descendant rules pablu'pu'DI' deletion 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

POST /api/compliance/errors

page pagh content rarbogh visibility pab media support routes je.

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." }'

jangghach Qap

error ticket receipt nob HTTP 200 pagh 201. ticket tu'lu'boghvaD request rarlu' 'e' jatlh HTTP 200; ticket chu' chenmoHlu' 'e' jatlh HTTP 201.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

report context Hutlhlu'bogh pagh workflow state muj QIj 400; personal/admin lists Qan 401; reporter pagh SuperAdmin role lugh poQ 403; ID yIpol 'ach report list yIchu'qa' 'e' jatlh 404.

GET /api/compliance/reports

page pagh content rarbogh visibility pab media support routes je.

curl "https://Geotrackable.com/api/compliance/reports" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

signed-in reporter pagh authorized administrator leghlaHbogh report pagh report collection nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

report context Hutlhlu'bogh pagh workflow state muj QIj 400; personal/admin lists Qan 401; reporter pagh SuperAdmin role lugh poQ 403; ID yIpol 'ach report list yIchu'qa' 'e' jatlh 404.

POST /api/compliance/reports

page pagh content rarbogh visibility pab media support routes je.

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." }'

jangghach Qap

content-report receipt je report identifier je nob HTTP 201, pIq follow-upvaD.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

report context Hutlhlu'bogh pagh workflow state muj QIj 400; personal/admin lists Qan 401; reporter pagh SuperAdmin role lugh poQ 403; ID yIpol 'ach report list yIchu'qa' 'e' jatlh 404.

GET /api/compliance/reports/mine

page pagh content rarbogh visibility pab media support routes je.

curl "https://Geotrackable.com/api/compliance/reports/mine" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

signed-in reporter pagh authorized administrator leghlaHbogh report pagh report collection nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

report context Hutlhlu'bogh pagh workflow state muj QIj 400; personal/admin lists Qan 401; reporter pagh SuperAdmin role lugh poQ 403; ID yIpol 'ach report list yIchu'qa' 'e' jatlh 404.

GET /api/compliance/reports/{contentReportId}

page pagh content rarbogh visibility pab media support routes je.

curl "https://Geotrackable.com/api/compliance/reports/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

signed-in reporter pagh authorized administrator leghlaHbogh report pagh report collection nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

report context Hutlhlu'bogh pagh workflow state muj QIj 400; personal/admin lists Qan 401; reporter pagh SuperAdmin role lugh poQ 403; ID yIpol 'ach report list yIchu'qa' 'e' jatlh 404.

PUT /api/compliance/reports/{contentReportId}

page pagh content rarbogh visibility pab media support routes je.

# 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 '{}'

jangghach Qap

signed-in reporter pagh authorized administrator leghlaHbogh report pagh report collection nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

report context Hutlhlu'bogh pagh workflow state muj QIj 400; personal/admin lists Qan 401; reporter pagh SuperAdmin role lugh poQ 403; ID yIpol 'ach report list yIchu'qa' 'e' jatlh 404.

POST /api/external-links/verify

page pagh content rarbogh visibility pab media support routes je.

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" }'

jangghach Qap

normalized destination, verified page title, metadata QobHa' je nob HTTP 200; link polpa' lo'laH editor.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

tu'lu'DI' detail, action, supportUrl, upstreamStatusCode je ngaS 400. verification DanIDqa'pa' destinations botlu'bogh, private-network, muj, SIchlaHbe'lu'bogh, Qutlhbe'lu'bogh je tIlughmoH.

GET /api/images/notes/{noteId}

page pagh content rarbogh visibility pab media support routes je.

curl "https://Geotrackable.com/api/images/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"

jangghach Qap

profile, note, team, trackable, groupvetlhvaD managed image metadata leghlaHlu'bogh nob HTTP 200; array chIm lugh.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

POST /api/images/notes/{noteId}

page pagh content rarbogh visibility pab media support routes je.

curl -X POST "https://Geotrackable.com/api/images/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>" \
  -F "files=@example.jpg"

jangghach Qap

screening je JPEG variant processing je rInDI', managed image metadata je URLs je nob HTTP 200. original filename ratlh 'e' yIpIHQo'; URLs noblu'bogh tIlo'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

POST /api/images/profiles

page pagh content rarbogh visibility pab media support routes je.

curl -X POST "https://Geotrackable.com/api/images/profiles" \
  -H "Authorization: Bearer <access token>" \
  -F "files=@example.jpg"

jangghach Qap

screening je JPEG variant processing je rInDI', managed image metadata je URLs je nob HTTP 200. original filename ratlh 'e' yIpIHQo'; URLs noblu'bogh tIlo'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

GET /api/images/profiles/{userId}

page pagh content rarbogh visibility pab media support routes je.

curl "https://Geotrackable.com/api/images/profiles/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"

jangghach Qap

profile, note, team, trackable, groupvetlhvaD managed image metadata leghlaHlu'bogh nob HTTP 200; array chIm lugh.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

GET /api/images/teams/{teamId}

page pagh content rarbogh visibility pab media support routes je.

curl "https://Geotrackable.com/api/images/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"

jangghach Qap

profile, note, team, trackable, groupvetlhvaD managed image metadata leghlaHlu'bogh nob HTTP 200; array chIm lugh.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

POST /api/images/teams/{teamId}

page pagh content rarbogh visibility pab media support routes je.

curl -X POST "https://Geotrackable.com/api/images/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>" \
  -F "files=@example.jpg"

jangghach Qap

screening je JPEG variant processing je rInDI', managed image metadata je URLs je nob HTTP 200. original filename ratlh 'e' yIpIHQo'; URLs noblu'bogh tIlo'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

GET /api/images/trackable-groups/{trackableGroupId}

page pagh content rarbogh visibility pab media support routes je.

curl "https://Geotrackable.com/api/images/trackable-groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"

jangghach Qap

profile, note, team, trackable, groupvetlhvaD managed image metadata leghlaHlu'bogh nob HTTP 200; array chIm lugh.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

POST /api/images/trackable-groups/{trackableGroupId}

page pagh content rarbogh visibility pab media support routes je.

curl -X POST "https://Geotrackable.com/api/images/trackable-groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>" \
  -F "files=@example.jpg"

jangghach Qap

screening je JPEG variant processing je rInDI', managed image metadata je URLs je nob HTTP 200. original filename ratlh 'e' yIpIHQo'; URLs noblu'bogh tIlo'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

GET /api/images/trackables/{trackableId}

page pagh content rarbogh visibility pab media support routes je.

curl "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"

jangghach Qap

profile, note, team, trackable, groupvetlhvaD managed image metadata leghlaHlu'bogh nob HTTP 200; array chIm lugh.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

POST /api/images/trackables/{trackableId}

page pagh content rarbogh visibility pab media support routes je.

curl -X POST "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>" \
  -F "files=@example.jpg"

jangghach Qap

screening je JPEG variant processing je rInDI', managed image metadata je URLs je nob HTTP 200. original filename ratlh 'e' yIpIHQo'; URLs noblu'bogh tIlo'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

DELETE /api/images/{contentImageId}

page pagh content rarbogh visibility pab media support routes je.

curl -X DELETE "https://Geotrackable.com/api/images/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

image je managed variantsDaj je teqlu'pu' 'e' 'ol HTTP 204; response body tu'be'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

GET /api/images/{contentImageId}/{variant}

page pagh content rarbogh visibility pab media support routes je.

curl "https://Geotrackable.com/api/images/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/thumbnail"

jangghach Qap

JPEG variant leghlaHlu'bogh tlhoblu'bogh streammoH HTTP 200, image content type lo'taHvIS.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

download variants Qutlhlu'bogh tetlh 400 image_variant_invalid, 'ej screening constraints QIj latlh 400 responses; owner pagh team-admin context lugh poQ 401/403; content tu'be'lu' pagh leghlaHbe'lu' 'e' jatlh 404; metadata tu'lu' 'ach variant polta'bogh jablaHbe'lu' 'e' jatlh 500 image_variant_unavailable. files puS pagh mach poQ 413; uploadsvaD multipart/form-data poQ 415.

GET /api/locations/mine/gpx

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/locations/mine/gpx" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

scopevamDaq mapped waypoints chaw'lu'bogh ngaSbogh GPX downloadmoH HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

POST /api/locations/mine/gpx

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl -X POST "https://Geotrackable.com/api/locations/mine/gpx" \
  -H "Authorization: Bearer <access token>" \
  -F "file=@waypoints.gpx"

jangghach Qap

GPX waypoint file process-lu'pu'DI', import counts je item-level results je nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

GET /api/notes/mine

personal locations tItetlh, pagh personal location motlh trackablevaD automatically rarbe'lu'bogh yIchenmoH.

curl "https://Geotrackable.com/api/notes/mine" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

note, comment, attachment, map result leghlaHlu'bogh nob HTTP 200. Qap collections chIm; single resource tu'be'lu'chugh 404 noblu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

POST /api/notes/mine

personal locations tItetlh, pagh personal location motlh trackablevaD automatically rarbe'lu'bogh yIchenmoH.

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" }'

jangghach Qap

requested scopevaD note, comment, attachment polta'bogh, move result, pagh deletion acknowledgement nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

GET /api/notes/mine/gpx

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/notes/mine/gpx" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

scopevamDaq mapped waypoints chaw'lu'bogh ngaSbogh GPX downloadmoH HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

POST /api/notes/mine/gpx

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl -X POST "https://Geotrackable.com/api/notes/mine/gpx" \
  -H "Authorization: Bearer <access token>" \
  -F "file=@waypoints.gpx"

jangghach Qap

GPX waypoint file process-lu'pu'DI', import counts je item-level results je nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

DELETE /api/notes/mine/{noteId}

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl -X DELETE "https://Geotrackable.com/api/notes/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

requested scopevaD note, comment, attachment polta'bogh, move result, pagh deletion acknowledgement nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

POST /api/notes/mine/{noteId}/move

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

# 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 '{}'

jangghach Qap

requested scopevaD note, comment, attachment polta'bogh, move result, pagh deletion acknowledgement nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

field, hierarchy, bounds, GPX, move/delete rules je ngu' 400; token poQ 401; ownership poQ 403; personal workspace state yIchu'qa' 'e' jatlh 404. 413 pagh 415 noblaH je Uploads.

GET /api/notes/public/bounds

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/notes/public/bounds?minLatitude=41.78&minLongitude=-87.75&maxLatitude=41.96&maxLongitude=-87.54&contentLanguage=en-US"

jangghach Qap

note, comment, attachment, map result leghlaHlu'bogh nob HTTP 200. Qap collections chIm; single resource tu'be'lu'chugh 404 noblu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

bounds naQbe', coordinate ranges muj, comment/attachment input muj je ngu' 400; restricted writes Qan 403; private page pagh page tu'be'lu'bogh So'laH 404. errors action je ra'ghach pabtaHvIS query yIlughmoH.

GET /api/notes/public/nearby

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/notes/public/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"

jangghach Qap

note, comment, attachment, map result leghlaHlu'bogh nob HTTP 200. Qap collections chIm; single resource tu'be'lu'chugh 404 noblu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

bounds naQbe', coordinate ranges muj, comment/attachment input muj je ngu' 400; restricted writes Qan 403; private page pagh page tu'be'lu'bogh So'laH 404. errors action je ra'ghach pabtaHvIS query yIlughmoH.

GET /api/public/notes/{noteId}

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"

jangghach Qap

note, comment, attachment, map result leghlaHlu'bogh nob HTTP 200. Qap collections chIm; single resource tu'be'lu'chugh 404 noblu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

bounds naQbe', coordinate ranges muj, comment/attachment input muj je ngu' 400; restricted writes Qan 403; private page pagh page tu'be'lu'bogh So'laH 404. errors action je ra'ghach pabtaHvIS query yIlughmoH.

GET /api/public/notes/{noteId}/comments

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments"

jangghach Qap

comment panel leghlaHlu'bogh, policy, current comments je nob HTTP 200. result Qap 'oH comment list chIm'e'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

wa'DIch activate-nIS owner chaw'lu'bogh 'e' jatlh 400 trackable_activation_required; itemvam naQ session pagh credential poQ 403 trackable_access_code_required pagh trackable_access_code_invalid; IDs ngo' tIchu'qa' 'e' jatlh 404.

POST /api/public/notes/{noteId}/comments

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

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": "" }'

jangghach Qap

comment state polta'bogh nob HTTP 200. anonymous writesvaD clientvam active session pagh activated trackablevam naQ accessCode poQlu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

wa'DIch activate-nIS owner chaw'lu'bogh 'e' jatlh 400 trackable_activation_required; itemvam naQ session pagh credential poQ 403 trackable_access_code_required pagh trackable_access_code_invalid; IDs ngo' tIchu'qa' 'e' jatlh 404.

GET /api/public/notes/{noteId}/trackables

trackable associations leghlaHlu'bogh tIlaD, pagh secret code pagh same-browser active session lo'taHvIS wa' activated trackable yIrar, location tu'lu'bogh ra'laHlu'boghvaD.

curl "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/trackables"

jangghach Qap

note, comment, attachment, map result leghlaHlu'bogh nob HTTP 200. Qap collections chIm; single resource tu'be'lu'chugh 404 noblu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

bounds naQbe', coordinate ranges muj, comment/attachment input muj je ngu' 400; restricted writes Qan 403; private page pagh page tu'be'lu'bogh So'laH 404. errors action je ra'ghach pabtaHvIS query yIlughmoH.

POST /api/public/notes/{noteId}/trackables

trackable associations leghlaHlu'bogh tIlaD, pagh secret code pagh same-browser active session lo'taHvIS wa' activated trackable yIrar, location tu'lu'bogh ra'laHlu'boghvaD.

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": [] }'

jangghach Qap

requested scopevaD note, comment, attachment polta'bogh, move result, pagh deletion acknowledgement nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

bounds naQbe', coordinate ranges muj, comment/attachment input muj je ngu' 400; restricted writes Qan 403; private page pagh page tu'be'lu'bogh So'laH 404. errors action je ra'ghach pabtaHvIS query yIlughmoH.

GET /api/public/profiles/{userName}/notes/nearby

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/public/profiles/trail-guide/notes/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"

jangghach Qap

note, comment, attachment, map result leghlaHlu'bogh nob HTTP 200. Qap collections chIm; single resource tu'be'lu'chugh 404 noblu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

bounds naQbe', coordinate ranges muj, comment/attachment input muj je ngu' 400; restricted writes Qan 403; private page pagh page tu'be'lu'bogh So'laH 404. errors action je ra'ghach pabtaHvIS query yIlughmoH.

GET /api/public/teams/{teamName}/notes/nearby

public map laDghach anonymous; personal Daq category ghItlhghach je bearer auth poQ.

curl "https://Geotrackable.com/api/public/teams/trail-club/notes/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"

jangghach Qap

note, comment, attachment, map result leghlaHlu'bogh nob HTTP 200. Qap collections chIm; single resource tu'be'lu'chugh 404 noblu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

bounds naQbe', coordinate ranges muj, comment/attachment input muj je ngu' 400; restricted writes Qan 403; private page pagh page tu'be'lu'bogh So'laH 404. errors action je ra'ghach pabtaHvIS query yIlughmoH.

POST /api/sync/pull

wa'DIch local choHmey yIpush, ghIq user current public area je server view yIpull.

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 } }'

jangghach Qap

personal, public, team synchronization view DaH nob HTTP 200. offline cycle HochDaq push rInDI' yIrI'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

sync envelopes muj pagh processing taghpa' request lajbe'lu'bogh ngu' 400; bearer token chu' poQ 401. entity Hoch reconciliation QaghmeyvaD conflicts qoDDaq code action je tlhej HTTP 200 noblu'. timeout outcome Sovbe'lu'bogh qaSpu'DI' push yInIDqa'Qo'.

POST /api/sync/push

wa'DIch local choHmey yIpush, ghIq user current public area je server view yIpull.

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": [] }'

jangghach Qap

client choHmey lajlu'bogh lu'ol HTTP 200 'ej synchronization results ja'. client IDs tIpol, vaj pull veb records rap rarlaH.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

sync envelopes muj pagh processing taghpa' request lajbe'lu'bogh ngu' 400; bearer token chu' poQ 401. entity Hoch reconciliation QaghmeyvaD conflicts qoDDaq code action je tlhej HTTP 200 noblu'. timeout outcome Sovbe'lu'bogh qaSpu'DI' push yInIDqa'Qo'.

GET /api/system/beta-android

routevam anonymous 'ej production API host SIchlaHlu' 'e' 'olmeH mIw nomqu'.

curl "https://Geotrackable.com/api/system/beta-android"

jangghach Qap

beta package publish-lu'DI', Android beta release metadata DaH je download DevmeH De' je nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

query binding Hutlhlu'bogh pagh muj ngu' 400; supportvaD requestId ngaS 500. wIvlaHlu'bogh Android beta De'vaD available:false tlhej HTTP 200 noblu'. coordinate range location-provider QapHa'ghachmeyvaD resolved:false, failureMessage, action, retryable je tlhej HTTP 200 noblu'.

GET /api/system/coordinate-locality

routevam anonymous 'ej production API host SIchlaHlu' 'e' 'olmeH mIw nomqu'.

curl "https://Geotrackable.com/api/system/coordinate-locality?latitude=41.8818&longitude=-87.6231"

jangghach Qap

locality ngoDmey nIv tu'lu'bogh nob HTTP 200. chIch resolution vuSlu'DI', partial pagh unavailable location fields ngaSlaH response Qapbogh.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

query binding Hutlhlu'bogh pagh muj ngu' 400; supportvaD requestId ngaS 500. wIvlaHlu'bogh Android beta De'vaD available:false tlhej HTTP 200 noblu'. coordinate range location-provider QapHa'ghachmeyvaD resolved:false, failureMessage, action, retryable je tlhej HTTP 200 noblu'.

GET /api/system/ip-location

routevam anonymous 'ej production API host SIchlaHlu' 'e' 'olmeH mIw nomqu'.

curl "https://Geotrackable.com/api/system/ip-location"

jangghach Qap

locality ngoDmey nIv tu'lu'bogh nob HTTP 200. chIch resolution vuSlu'DI', partial pagh unavailable location fields ngaSlaH response Qapbogh.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

query binding Hutlhlu'bogh pagh muj ngu' 400; supportvaD requestId ngaS 500. wIvlaHlu'bogh Android beta De'vaD available:false tlhej HTTP 200 noblu'. coordinate range location-provider QapHa'ghachmeyvaD resolved:false, failureMessage, action, retryable je tlhej HTTP 200 noblu'.

GET /api/system/status

routevam anonymous 'ej production API host SIchlaHlu' 'e' 'olmeH mIw nomqu'.

curl "https://Geotrackable.com/api/system/status"

jangghach Qap

service status, server UTC time, Android beta-page URL je nob HTTP 200. SIchlaHlu' 'e' neH 'ol; authenticated access 'olbe'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

network, DNS, TLS, 500 QapHa'ghach je qaSlu'chugh, host check rInbe'. noblu'DI' requestId yIpol 'ej bounded backoff yIlo'; 401 nobbe' status.

GET /api/teams

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl "https://Geotrackable.com/api/teams" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

'elta'bogh muvwI' leghlaHbogh ghom De', vummeH Daq De', muvwI' De', Segh De', QIn De', muvmeH rarwI' De' joq nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

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" }'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/invite-links/{teamSlug}/{inviteCode}/join

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

DELETE /api/teams/{teamId}

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

GET /api/teams/{teamId}/categories

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

'elta'bogh muvwI' leghlaHbogh ghom De', vummeH Daq De', muvwI' De', Segh De', QIn De', muvmeH rarwI' De' joq nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/categories

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

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 }'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

GET /api/teams/{teamId}/categories/tree

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/tree" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

'elta'bogh muvwI' leghlaHbogh ghom De', vummeH Daq De', muvwI' De', Segh De', QIn De', muvmeH rarwI' De' joq nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

GET /api/teams/{teamId}/categories/tree/children

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/tree/children" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

'elta'bogh muvwI' leghlaHbogh ghom De', vummeH Daq De', muvwI' De', Segh De', QIn De', muvmeH rarwI' De' joq nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

GET /api/teams/{teamId}/categories/tree/sections

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/tree/sections" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

'elta'bogh muvwI' leghlaHbogh ghom De', vummeH Daq De', muvwI' De', Segh De', QIn De', muvmeH rarwI' De' joq nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

DELETE /api/teams/{teamId}/categories/{categoryId}

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/categories/{categoryId}/move

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

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 }'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

GET /api/teams/{teamId}/invite-links

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/invite-links" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

'elta'bogh muvwI' leghlaHbogh ghom De', vummeH Daq De', muvwI' De', Segh De', QIn De', muvmeH rarwI' De' joq nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/invite-links

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

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 }'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

DELETE /api/teams/{teamId}/invite-links/{inviteLinkId}

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

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>"

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

GET /api/teams/{teamId}/locations/gpx

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/locations/gpx" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

team member leghlaHbogh mapped team waypointsvaD GPX downloadmoH HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/locations/gpx

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/locations/gpx" \
  -H "Authorization: Bearer <access token>" \
  -F "file=@waypoints.gpx"

jangghach Qap

team GPX import counts je item-level results je nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/memberships/invite

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/memberships/request

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

DELETE /api/teams/{teamId}/memberships/{membershipId}

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/memberships/{membershipId}/accept

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/memberships/{membershipId}/approve

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/memberships/{membershipId}/deny

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/memberships/{membershipId}/promote-admin

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/memberships/{membershipId}/refuse

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

GET /api/teams/{teamId}/notes

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

'elta'bogh muvwI' leghlaHbogh ghom De', vummeH Daq De', muvwI' De', Segh De', QIn De', muvmeH rarwI' De' joq nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/notes

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

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" }'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

GET /api/teams/{teamId}/notes/gpx

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/gpx" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

team member leghlaHbogh mapped team waypointsvaD GPX downloadmoH HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/notes/gpx

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/gpx" \
  -H "Authorization: Bearer <access token>" \
  -F "file=@waypoints.gpx"

jangghach Qap

team GPX import counts je item-level results je nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

DELETE /api/teams/{teamId}/notes/{noteId}

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

DELETE /api/teams/{teamId}/notes/{noteId}/delete

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

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>"

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/teams/{teamId}/notes/{noteId}/move

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

PUT /api/teams/{teamId}/settings

shared Daqmey, categorymey, invite links, membership wuqghachmey, team-owned trackable scope je vu' Team APIs.

# 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 '{}'

jangghach Qap

mIw Qavmo' ghom Dotlh chenbogh nob HTTP 200; pagh ghom muvghach, vummeH Daq, muvmeH rI'ghach, DuHmey wIvta'bogh, teqmeH mIw je 'ol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

membership, invite, hierarchy, GPX, move, deletion rules je QIj 400; login poQ 401; member/admin role ja'lu'bogh poQ 403; latlh choH Danobpa' team state yIchu'qa' 'e' jatlh 404.

POST /api/trackables

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

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 }'

jangghach Qap

one-time reveal nob HTTP 201. GT code chenmoHlu'bogh HevmeH secretCode yIchelQo'; custom value tu'lu'bogh chaw'lu'bogh quvmoHlu'. DaH secretCode scanUrl je tIpol, pIq 'angbe'mo' read routes.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

fields muj ngu' 400 validation_failed; GT, LN, TB, GK, GC prefixes je QIj 400 trackable_secret_code_reserved; ngogh chenmoHlu'meH secretCode yIchelQo', pagh value latlh yIwIv 'e' jatlh 409 trackable_secret_code_taken; login poQ 401.

GET /api/trackables/active

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl "https://Geotrackable.com/api/trackables/active"

jangghach Qap

active secret-backed trackables qawbogh clientvam nob HTTP 200. result Qap 'oH array chIm'e'; authentication failure 'oHbe'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

active trackable session tlhoblu'bogh ghajbe'choH clientvam 'e' jatlh 404; private code pagh scan route yI'elqa'. status ghItlh muj QIj 400. cookies lo' sessionvam, vaj calls veghDI' cookie jar yIpol.

GET /api/trackables/active-indicator

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl "https://Geotrackable.com/api/trackables/active-indicator"

jangghach Qap

caller's public, signed-in, active-session access contextDaq trackable De' leghlaHlu'bogh nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

active trackable session tlhoblu'bogh ghajbe'choH clientvam 'e' jatlh 404; private code pagh scan route yI'elqa'. status ghItlh muj QIj 400. cookies lo' sessionvam, vaj calls veghDI' cookie jar yIpol.

DELETE /api/trackables/active/{trackableId}

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl -X DELETE "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"

jangghach Qap

itemvamvaD clientvam secret-backed session qawlu'bogh rInmoH HTTP 200. trackable teqbe' 'ej chu'Ha'be'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

active trackable session tlhoblu'bogh ghajbe'choH clientvam 'e' jatlh 404; private code pagh scan route yI'elqa'. status ghItlh muj QIj 400. cookies lo' sessionvam, vaj calls veghDI' cookie jar yIpol.

GET /api/trackables/active/{trackableId}

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"

jangghach Qap

current active landing state pagh status message chu'moHlu'bogh nob HTTP 200, clientvam secret-backed sessionDaj ghajtaHvIS.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

active trackable session tlhoblu'bogh ghajbe'choH clientvam 'e' jatlh 404; private code pagh scan route yI'elqa'. status ghItlh muj QIj 400. cookies lo' sessionvam, vaj calls veghDI' cookie jar yIpol.

POST /api/trackables/active/{trackableId}/deactivate

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

# 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 '{}'

jangghach Qap

current active landing state pagh status message chu'moHlu'bogh nob HTTP 200, clientvam secret-backed sessionDaj ghajtaHvIS.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

active trackable session tlhoblu'bogh ghajbe'choH clientvam 'e' jatlh 404; private code pagh scan route yI'elqa'. status ghItlh muj QIj 400. cookies lo' sessionvam, vaj calls veghDI' cookie jar yIpol.

POST /api/trackables/active/{trackableId}/message

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

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" }'

jangghach Qap

current active landing state pagh status message chu'moHlu'bogh nob HTTP 200, clientvam secret-backed sessionDaj ghajtaHvIS.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

active trackable session tlhoblu'bogh ghajbe'choH clientvam 'e' jatlh 404; private code pagh scan route yI'elqa'. status ghItlh muj QIj 400. cookies lo' sessionvam, vaj calls veghDI' cookie jar yIpol.

POST /api/trackables/groups

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

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 }'

jangghach Qap

group chu' je member chenmoHlu'bogh HochvaD one-time public, secret, scan credentials je nob HTTP 201. response DajeSpa' reveal yIpol.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

defaults, count, visibility, category, team rules muj je QIj 400; login poQ 401; teamvetlhDaq chenmoHlaHbe' caller 'e' jatlh 403. batch DanIDqa'pa' request yIlughmoH.

DELETE /api/trackables/groups/{trackableGroupId}/watch

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl -X DELETE "https://Geotrackable.com/api/trackables/groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

signed-in account watch preference choHlu'pu'DI', trackable pagh group state resulting nob HTTP 200. final state neHlu'bogh jatlhqa'lu'chugh duplicate watches chenmoHbe'nIS.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

POST /api/trackables/groups/{trackableGroupId}/watch

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

# 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 '{}'

jangghach Qap

signed-in account watch preference choHlu'pu'DI', trackable pagh group state resulting nob HTTP 200. final state neHlu'bogh jatlhqa'lu'chugh duplicate watches chenmoHbe'nIS.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

POST /api/trackables/legacy-lookup

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

# 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 '{}'

jangghach Qap

ownership, grouping, monitoring operation tlhoblu'bogh rInDI', trackable state resulting nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

GET /api/trackables/lookup

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl "https://Geotrackable.com/api/trackables/lookup?code=GT-EXAMPLE"

jangghach Qap

found, trackable ID resolve-lu'bogh, match type, redirect DevmeH De' je nob HTTP 200. lookup UI ratlhmeH, code ghItlhHa'lu'bogh pagh Sovbe'lu'boghvaD je found false tlhej HTTP 200 noblu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

motlh code Sovbe'lu'bogh pagh code ghItlhHa'lu'boghvaD found false tlhej HTTP 200 noblu', problem details nobbe'lu'. input mujvaD 400 pollu'. lookup Qagh DanuDtaHvIS secret pagh QR value ngeHlu'bogh yIlogQo'.

POST /api/trackables/lookup

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl -X POST "https://Geotrackable.com/api/trackables/lookup" \
  -H "Content-Type: application/json" \
  -d '{ "code": "GT-EXAMPLE" }'

jangghach Qap

found, trackable ID resolve-lu'bogh, match type, redirect DevmeH De' je nob HTTP 200. lookup UI ratlhmeH, code ghItlhHa'lu'bogh pagh Sovbe'lu'boghvaD je found false tlhej HTTP 200 noblu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

motlh code Sovbe'lu'bogh pagh code ghItlhHa'lu'boghvaD found false tlhej HTTP 200 noblu', problem details nobbe'lu'. input mujvaD 400 pollu'. lookup Qagh DanuDtaHvIS secret pagh QR value ngeHlu'bogh yIlogQo'.

GET /api/trackables/mine

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl "https://Geotrackable.com/api/trackables/mine" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

caller's public, signed-in, active-session access contextDaq trackable De' leghlaHlu'bogh nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

GET /api/trackables/public

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl "https://Geotrackable.com/api/trackables/public?contentLanguage=en-US"

jangghach Qap

caller's public, signed-in, active-session access contextDaq trackable De' leghlaHlu'bogh nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

GET /api/trackables/{trackableId}

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"

jangghach Qap

caller's public, signed-in, active-session access contextDaq trackable De' leghlaHlu'bogh nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

POST /api/trackables/{trackableId}/activate

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

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 }'

jangghach Qap

personal pagh team ownership je item-level metadata je cherlu'pu'DI', activated trackable details nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

GET /api/trackables/{trackableId}/comments

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments"

jangghach Qap

comment panel leghlaHlu'bogh, policy, current comments je nob HTTP 200. result Qap 'oH comment list chIm'e'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

wa'DIch activate-nIS owner chaw'lu'bogh 'e' jatlh 400 trackable_activation_required; itemvam naQ session pagh credential poQ 403 trackable_access_code_required pagh trackable_access_code_invalid; IDs ngo' tIchu'qa' 'e' jatlh 404.

POST /api/trackables/{trackableId}/comments

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

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": "" }'

jangghach Qap

comment state polta'bogh nob HTTP 200. anonymous writesvaD clientvam active session pagh activated trackablevam naQ accessCode poQlu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

wa'DIch activate-nIS owner chaw'lu'bogh 'e' jatlh 400 trackable_activation_required; itemvam naQ session pagh credential poQ 403 trackable_access_code_required pagh trackable_access_code_invalid; IDs ngo' tIchu'qa' 'e' jatlh 404.

DELETE /api/trackables/{trackableId}/comments/{commentId}

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

comment state polta'bogh nob HTTP 200. anonymous writesvaD clientvam active session pagh activated trackablevam naQ accessCode poQlu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

wa'DIch activate-nIS owner chaw'lu'bogh 'e' jatlh 400 trackable_activation_required; itemvam naQ session pagh credential poQ 403 trackable_access_code_required pagh trackable_access_code_invalid; IDs ngo' tIchu'qa' 'e' jatlh 404.

PUT /api/trackables/{trackableId}/comments/{commentId}

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

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." }'

jangghach Qap

comment state polta'bogh nob HTTP 200. anonymous writesvaD clientvam active session pagh activated trackablevam naQ accessCode poQlu'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

wa'DIch activate-nIS owner chaw'lu'bogh 'e' jatlh 400 trackable_activation_required; itemvam naQ session pagh credential poQ 403 trackable_access_code_required pagh trackable_access_code_invalid; IDs ngo' tIchu'qa' 'e' jatlh 404.

DELETE /api/trackables/{trackableId}/group

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/group" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

ownership, grouping, monitoring operation tlhoblu'bogh rInDI', trackable state resulting nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

POST /api/trackables/{trackableId}/group

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

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" }'

jangghach Qap

ownership, grouping, monitoring operation tlhoblu'bogh rInDI', trackable state resulting nob HTTP 200.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

GET /api/trackables/{trackableId}/journey

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/journey"

jangghach Qap

route orderDaq journey points leghlaHlu'bogh nob HTTP 200. stops ja'lu'bogh Hutlh activated trackable vaj collection chIm nob.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

POST /api/trackables/{trackableId}/journey-stops

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

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": "" }'

jangghach Qap

direct journey stop polta'bogh nob HTTP 200. activated trackablevaD route-history point choHbe'bogh moj latitude longitude je.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

wa'DIch activate-nIS owner chaw'lu'bogh 'e' jatlh 400 trackable_activation_required; itemvam naQ session pagh credential poQ 403 trackable_access_code_required pagh trackable_access_code_invalid; IDs ngo' tIchu'qa' 'e' jatlh 404.

DELETE /api/trackables/{trackableId}/journey-stops/{journeyStopId}

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

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>"

jangghach Qap

direct journey stop chaw'lu'bogh teqlu'pu' 'e' 'ol HTTP 200. stopvetlhDaq latlh action Dachuppa' journey yIchu'qa'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

wa'DIch activate-nIS owner chaw'lu'bogh 'e' jatlh 400 trackable_activation_required; itemvam naQ session pagh credential poQ 403 trackable_access_code_required pagh trackable_access_code_invalid; IDs ngo' tIchu'qa' 'e' jatlh 404.

POST /api/trackables/{trackableId}/notes

wa' transactionDaq full mapped location note je journey stop je tIchenmoH, wa' activated trackable bIngDaq; trackablevam ra'nIS signed-in personal owner pagh active team admin.

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" }'

jangghach Qap

trackableId, journeyStopId, note naQ polta'bogh je nob HTTP 201. /api/public/notes/{noteId}Daq Qeq Location header; association QapHa'chugh note pagh journey stop commit-lu'be'.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

fields Qutlhbe'lu'bogh, content pagh trackableIds rurbogh, pong 400 validation_failed; coordinates cha' poQ 400 trackable_note_location_required; activation poQ 400 trackable_activation_required; personal owner pagh active team admin poQ 403 trackable_management_required; ID chu'moHlu'ta'bogh poQ 404 trackable_not_found. timeout outcome Sovbe'lu'bogh qaSpu'DI' duplicates botmeH yIchu'qa' ghIq yInIDqa'.

DELETE /api/trackables/{trackableId}/watch

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
  -H "Authorization: Bearer <access token>"

jangghach Qap

signed-in account watch preference choHlu'pu'DI', trackable pagh group state resulting nob HTTP 200. final state neHlu'bogh jatlhqa'lu'chugh duplicate watches chenmoHbe'nIS.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

POST /api/trackables/{trackableId}/watch

HochvaD leghmeH mIw, peghbogh ghajghach, qawlu'bogh pegh naw', QInmey, leng mevmeH Daqmey je ngaS trackable Hemey.

# 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 '{}'

jangghach Qap

signed-in account watch preference choHlu'pu'DI', trackable pagh group state resulting nob HTTP 200. final state neHlu'bogh jatlhqa'lu'chugh duplicate watches chenmoHbe'nIS.

QapHa'ghachmey motlh je Qapqa'meH mIwmey

trackable business rule ja' 400; bearer-only managementvaD 401 lo'lu'; ownership, team-role, grouping, access action je nob 403; trackable pagh group state DaH yIchu'qa' 'e' jatlh 404.

QaH