URL wa'DIch je patmey
URL wa'DIch
pagevamDaq mIspu' Hoch DaH production host qel:
https://www.locationnotes.com
mIw
requests je responses JSON lulo'. GUIDs notes, categories, teams, je devices botlh primary identifiers 'oH.
chaw'ghach
pegh, sync, and team endpoints require an
Authorization: Bearer <access token>
route bIngDaq public mojlu'moHbe'chugh header yIlo'.
Hol
public je SeH laDghachmey chol
contentLanguage=en-US
pagh supported content language latlh lo'taHvIS returned note/category content yIfilter.
QonoSghach je Bearer tokens
website sign-in pages je external-provider setup Dellu' naDev
QonoSmoH
nav. caller LocationNotes account ghajbe'taHchugh, wa'DIch register yIta'.
API clientpu' bearer token neHchugh, identity API login route cookies QonoSbe'meH yIlo' pIq; Android app pat rap Dalo'.
POST /api/auth/register
pegh pagh pong ghajbe'
register poQ De'
{
"email": "tester@example.com",
"password": "StrongP@ssw0rd!"
}
register mIw
register QapDI', account chenmoHlu', 'ach login rapHa'moHbe'. client private, sync, ghom, pagh manage routemeyvaD access token poQDI', bearer login route yIlo' pIq.
POST /api/auth/login?useCookies=false&useSessionCookies=false
pegh pagh pong ghajbe'
request QIn
{
"email": "tester@example.com",
"password": "StrongP@ssw0rd!"
}
jang ghItlhHom
{
"tokenType": "Bearer",
"accessToken": "eyJhbGciOi..."
}
curl -X POST "https://www.locationnotes.com/api/auth/login?useCookies=false&useSessionCookies=false" \
-H "Content-Type: application/json" \
-d '{
"email": "tester@example.com",
"password": "StrongP@ssw0rd!"
}'
route inventory naQ bIngDaq tu'lu'bogh current framework-managed identity routemey je Del; /api/auth bIngDaq cha'lu'.
full interactive website flow, provider callbackmey, account-Qotlh navmey, pagh provider-rar mIw DapoQchugh, yIlo'
QonoS page.
map botlhmeyDaq public note'mey
endpointvam public map windows je browse-by-area experiencesvaD yIlo'. mIwvam'e' homepage map lo'bogh route 'oH.
GET /api/notes/public/bounds
pegh pagh pong ghajbe'
- query ghItlh poQlu'bogh:
minLatitude, minLongitude, maxLatitude, maxLongitude
- query ghItlh optional:
contentLanguage
- responses site public-data exposure limitmo' botlu', DaHjaj 500 default 'oH, je recent activity botlh wa'DIch Seghlu'.
public map readsvam notes Hoch cha'lu'bogh motlh chel, je notes VisibleOnceAssociatedTrackableAccessed lo'bogh chel, associated trackablemey ghajbe'taHvIS neH. trackable rarDI', note anonymous public-map discoveryvo' mej, SuchwI' associated trackablemey wa' unlockta'be'pa' page-level routeDaq.
curl "https://www.locationnotes.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",
"ownerUserId": "a7cfd28f-c17f-4cf7-8913-47fa10fd0d1f",
"categoryId": "4de6bb76-f25d-4c73-b8e3-81b9ca3bf08f",
"title": "Dock gate closed",
"body": "Security redirected vehicles to the south entrance.",
"contentLanguage": "en-US",
"latitude": 41.8818,
"longitude": -87.6231,
"visibility": "Public",
"isDeleted": false,
"updatedUtc": "2026-03-13T20:10:00Z",
"clientMutationId": "web-demo-public-1",
"teamId": null
}
]
point SumDaq public note'mey
client center point Sovta'taH je rectangular map window qaq law'be', distance-limited result set neHchugh endpointvam yIlo'.
GET /api/notes/public/nearby
pegh pagh pong ghajbe'
- query ghItlh poQlu'bogh:
latitude, longitude
- query ghItlh optional:
radiusKm (motlh 5), contentLanguage
- nearby results site public-data exposure limitmo' botlu', DaHjaj 500 default 'oHmo'.
naDev bounds endpoint rap visibility rule lI'. public notes motlh chellu', je VisibleOnceAssociatedTrackableAccessed notes wa'DIch associated trackable ghajpa' neH chellu'.
curl "https://www.locationnotes.com/api/notes/public/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"
profile public je ghom page note tlheghmey
routesvam public profile je public team pagesDaq published map je note strip QapmoH. pagevetlh note-access rules rap lulo' je nearby center point pagh full map bounds lajlaH.
GET /api/public/profiles/{userName}/notes/nearby
anonymous qoj Bearer
GET /api/public/teams/{teamName}/notes/nearby
anonymous qoj Bearer
query ghItlh poQlu'bogh: latitude, longitude pagh full map bounds botlh minLatitude, minLongitude, maxLatitude, maxLongitude.
query ghItlh optional: radiusKm (motlh 5), contentLanguage, includeAllLanguages
website motlh current route language contentLanguage rur ngeH, vaj /en-US je /tlh public pages map pagh strip rapDaq authored note Holmey motlh DuDbe'.
includeAllLanguages=true yIcher neH, client multilingual browse surface intentionally chenmoHchugh, website page mirroringbe'taHvIS.
curl "https://www.locationnotes.com/api/public/profiles/michael-kappel/notes/nearby?minLatitude=41.87&minLongitude=-87.64&maxLatitude=41.89&maxLongitude=-87.62&contentLanguage=en-US"
sync mIw offline
sync clients local dirty data wa'DIch pushnIS, vaj user, active teams, je current areaDaq public notesvaD server choHmey pullnIS.
sync mIw cha' botlhDaq Bearer auth poQlu'.
POST /api/sync/push
Bearer token
{
"deviceId": "5dd06ca7-34a5-4f2e-812d-3f1ef3e48290",
"notes": [
{
"noteId": "ef90c4ca-88a9-4a9b-b3a8-36e2649c5dcb",
"ownerUserId": "a7cfd28f-c17f-4cf7-8913-47fa10fd0d1f",
"categoryId": "4de6bb76-f25d-4c73-b8e3-81b9ca3bf08f",
"title": "Offline inspection",
"body": "Saved while disconnected.",
"contentLanguage": "en-US",
"latitude": null,
"longitude": null,
"visibility": "Private",
"externalLinkUrl": "https://example.com/offline-inspection",
"externalLinkDescription": "",
"applyExternalLinkChanges": true,
"isDeleted": false,
"updatedUtc": "2026-03-13T20:12:00Z",
"clientMutationId": "android-offline-42",
"teamId": null
}
],
"categories": []
}
{
"appliedNoteIds": [
"ef90c4ca-88a9-4a9b-b3a8-36e2649c5dcb"
],
"appliedCategoryIds": [],
"conflicts": []
}
POST /api/sync/pull
Bearer token
{
"lastSyncUtc": "2026-03-13T19:45:00Z",
"publicArea": {
"minLatitude": 41.78,
"minLongitude": -87.75,
"maxLatitude": 41.96,
"maxLongitude": -87.54
}
}
{
"serverSyncUtc": "2026-03-13T20:13:02Z",
"userNotes": [],
"userCategories": [],
"teamCategories": [],
"publicNotes": [],
"teamNotes": []
}
sync endpoints anonymous requests lajbe'. Android beta build qan server botchugh, yIlegh
GET /api/system/status
minimum compatible version je beta-page URLvaD
personal note'mey je categorymey
routesvam signed-in website workspace je personal Android sync state QapmoH. Hoch bearer auth poQ.
personal note'mey yIlaD
GET /api/notes/mine
Bearer token
query ghItlh optional: contentLanguage je full map bounds botlh minLatitude, minLongitude, maxLatitude, maxLongitude.
note laD payloadmey DaH chel lastActivityUtc vaj clients latest activity persistence/update timestampsvo' separate cha'laH.
yIchenmoH a note
POST /api/notes/mine
Bearer token
{
"categoryId": "4de6bb76-f25d-4c73-b8e3-81b9ca3bf08f",
"title": "Category-only feedback",
"body": "This note stays off the map on purpose.",
"contentLanguage": "en-US",
"externalLinkUrl": "https://example.com/field-guide",
"externalLinkDescription": "",
"latitude": null,
"longitude": null,
"visibility": "VisibleOnceAssociatedTrackableAccessed",
"commentPolicy": "LoggedInUsers"
}
visibility Seghmey Private, Public, je VisibleOnceAssociatedTrackableAccessed laj. associated-trackable mIw Public rurtaH, note associated trackablemey wa' pagh law' ghajbe'taHvIS. pItlhDI', public discovery je note-page access lo'nIS SuchwI' associated trackablemeyvetlh wa' poSmoHta'pu'chugh.
- no associated trackablemey yet: the note behaves like a public note.
- wa'DIch association pItlhDI': note anonymous public discoveryDaq tu'lu'be'choH je normal public note-page accessDaq tu'lu'be'choH.
- viewer yI'ngaQHa'ta'bogh: rarlu'ta'bogh trackable wa' yI'ngaQHa'ta'pu'bogh ghot, note nav yIpoSlaH je public note-nav API mIwmey rarbogh lo'laH.
- ghajwI' pagh team lo'wI' chaw'lu'ta'bogh: ghItlhDaq chaw' motlh je ra'ghach taH.
note page laDghachmey je ta'mey
GET /api/public/notes/{noteId}
anonymous qoj Bearer
GET /api/public/notes/{noteId}/comments
anonymous qoj Bearer
POST /api/public/notes/{noteId}/comments
Bearer token
GET /api/public/notes/{noteId}/trackables
anonymous qoj Bearer
POST /api/public/notes/{noteId}/trackables
Bearer token
{
"body": "I found it too."
}
{
"trackableSecretCodes": "LN4C8R2Z",
"selectedActiveTrackableIds": [
"f3a8f841-20db-4f1e-a3f8-9f14bc0b3c31"
],
"activeTrackableAttachMode": "Self"
}
note-page routesvam note-access pabmey lob, pegh note je associated-trackable accessmo' botlu'bogh note je. note page poSlaHchugh caller, notevetlhvaD API commentmey je visible trackablemey noblaH. trackable rarmeH note ghajwI' pagh team admin poQlu'.
- wa'DIch associated trackable tu'lu'pa', routesvam motlh public note-page routes rurtaH.
- association wa' tu'lu'ta'DI' neH, wa' associated trackableDaq access ghajbe'bogh callers public note-page routesDaq 404 loSnIS, note taHtaHchugh je.
- notevetlhvaD 200 noblaHtaH ghajwI', ghom memberpu' chavbogh, qoj trackable wa' unlockta'bogh leghwI'.
categorymey yIlaD
GET /api/categories/mine
Bearer token
GET /api/categories/mine/tree
Bearer token
workspace tree helper routemey
GET /api/categories/mine/tree/sections
Bearer token
GET /api/categories/mine/tree/children?parentCategoryId={categoryId}
Bearer token
category picker lazy-loadlu'bogh je sidebar tree'meyvaD helper routemey tInHa'vam yIlo'. tree/sections root categorymey contentLanguage botlh ghommoH. tree/children wa' parentvaD direct child node'mey cheghmoH je childCategoryCount chel; vaj client expand affordance cha'nIS'a' 'e' wuqlaH, grandchildren loadlu'pa'.
[
{
"contentLanguage": "en-US",
"rootCategories": [
{
"categoryId": "68cb4c9b-d9bd-4bde-8c6a-a03a4c70b283",
"name": "Field Reports",
"contentLanguage": "en-US",
"parentCategoryId": null,
"childCategoryCount": 2
}
]
}
]
[
{
"categoryId": "c4b2e65f-5cf2-4ab6-8577-a89dfb51407f",
"name": "Dock checks",
"contentLanguage": "en-US",
"parentCategoryId": "68cb4c9b-d9bd-4bde-8c6a-a03a4c70b283",
"childCategoryCount": 0
}
]
yIchenmoH or move categories
POST /api/categories/mine
Bearer token
POST /api/categories/mine/{categoryId}/move
Bearer token
{
"name": "Field Reports",
"contentLanguage": "en-US",
"parentCategoryId": null
}
SoHvaD GPX Daq botlh jemeH mIw
GET /api/notes/mine/gpx
Bearer token
GET /api/notes/mine/gpx SoHvaD note'mey maplu'bogh coordinatemey polta'bogh neH GPX 1.1 Daq botlhmeyDaq tlhap.
POST /api/notes/mine/gpx
Bearer token
POST /api/notes/mine/gpx file, visibility, je contentLanguage optional ghajbogh multipart form data chaj. Daq botlh entry'mey neH laD; note'mey maplu'bogh motlh chenmoH; note tu'lu'ta'bogh cherqa'be'.
duplicate checkmey SoHvaD botlh wIvta'boghDaq neH ratlh. pong je coordinatemey rap note botlh De' rap je, duplicate 'oHlu'. pong je coordinatemey rap 'ach note botlh De' nImchugh, cherqa'Qo'meH pe'lu'.
curl "https://www.locationnotes.com/api/notes/mine/gpx" \
-H "Authorization: Bearer <access token>"
curl -X POST "https://www.locationnotes.com/api/notes/mine/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@waypoints.gpx;type=application/gpx+xml" \
-F "visibility=Private" \
-F "contentLanguage=en-US"
Import je Export nuq?
GPX Daq botlh jemeH mIw chay' JSON Hoch je portable ZIP account exportmey nIm net Del.
ghom endpointmey
team routes membership, invites, settings, team notes, team categories je qel. bearer auth Hoch poQlu', route HochDaq admin/member permissions server pabmoH.
laDghach motlhmey
GET /api/teams
GET /api/teams/{teamId}/notes
GET /api/teams/{teamId}/categories
GET /api/teams/{teamId}/categories/tree
GET /api/teams/{teamId}/invite-links
ghom je ghom-note laD mIw chel lastActivityUtc. public trimming wa'DIch records Qapchu'pu' pItlhbogh wIv.
ghom category tree helper routemey
GET /api/teams/{teamId}/categories/tree/sections
Bearer token
GET /api/teams/{teamId}/categories/tree/children?parentCategoryId={categoryId}
Bearer token
routemeyvam personal workspace tree helpermey section je child-node pat rap lo', 'ach De'vetlh ghom scope wIvta'boghDaq ratlhtaH je active ghomwI'ghach poQtaH.
yIlo' DELETE /api/teams/{teamId}/notes/{noteId} note ghom workspacevo' mejnISchugh 'ach ghajwI'vaD taHnISchugh, je yIlo' DELETE /api/teams/{teamId}/notes/{noteId}/delete ghom note'e' naQ yIQaw'nISchugh.
yIchenmoH a team
{
"name": "Beta Testers",
"title": "Beta Testers",
"description": "Public beta release gate for Android validation.",
"externalLinkUrl": "https://example.com/beta-program",
"externalLinkDescription": "",
"joinPolicy": "RequestsAllowed",
"pageVisibility": "Public",
"defaultNoteVisibility": "Public",
"contentLanguage": "en-US"
}
yIchenmoH a team note
POST /api/teams/{teamId}/notes
Bearer token
{
"categoryId": "68cb4c9b-d9bd-4bde-8c6a-a03a4c70b283",
"title": "Shared dock inspection",
"body": "Visible to the team until we publish it.",
"contentLanguage": "en-US",
"externalLinkUrl": "https://example.com/shared-briefing",
"externalLinkDescription": "",
"latitude": 41.8818,
"longitude": -87.6231,
"visibility": "Private",
"commentPolicy": "TeamMembers"
}
ghom GPX Daq botlh jemeH mIw
GET /api/teams/{teamId}/notes/gpx
Bearer token
POST /api/teams/{teamId}/notes/gpx
Bearer token
GET /api/teams/{teamId}/notes/gpx je POST /api/teams/{teamId}/notes/gpx ghom botlh wIvta'boghDaq rap GPX rules lo'. duplicate je cherqa' checkmey note'mey ghomvetlh neH cha'qa'.
curl "https://www.locationnotes.com/api/teams/{teamId}/notes/gpx" \
-H "Authorization: Bearer <access token>"
curl -X POST "https://www.locationnotes.com/api/teams/{teamId}/notes/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@team-waypoints.gpx;type=application/gpx+xml" \
-F "visibility=Public" \
-F "contentLanguage=en-US"
ghomwI'ghach je invite ta'mey
POST /api/teams/{teamId}/memberships/request
POST /api/teams/{teamId}/memberships/invite
POST /api/teams/{teamId}/memberships/{membershipId}/accept
POST /api/teams/{teamId}/memberships/{membershipId}/refuse
POST /api/teams/{teamId}/memberships/{membershipId}/approve
POST /api/teams/{teamId}/memberships/{membershipId}/deny
POST /api/teams/{teamId}/memberships/{membershipId}/promote-admin
DELETE /api/teams/{teamId}/memberships/{membershipId}
POST /api/teams/invite-links/{teamSlug}/{inviteCode}/join
{
"isSingleUse": false
}
{
"inviteLinkId": "9a4726dc-4fb1-4c16-b7b3-5d48ea68fdce",
"teamId": "0f4ddf5d-f3dc-4417-b96d-8e212d24235e",
"teamName": "Invite Team",
"teamSlug": "invite-team",
"code": "8K4V9T",
"createdByDisplayName": "invite-admin",
"createdByCurrentUser": true,
"inviterIsCurrentlyAdmin": true,
"isSingleUse": false,
"createdUtc": "2026-03-18T21:15:00Z"
}
{
"teamSlug": "invite-team",
"membershipStatus": "RequestingMembership"
}
trackable endpointmey
trackablemeyDaq ngogh public DelmeH laH, ngogh pegh pagh QR access scan-only, pegh cha'ghach wa'logh chenmoHtaHvIS, sessions browser-side active, commentmey, je inventory mIwmey ghomlu'ta'bogh tu'lu'.
mach pegh ngoghmey je scan-only QR URLmey create endpointmey bIngDaq neH chegh. read, lookup, comment, pagh detail mIwmeyDaq cheghqa'be'lu'.
trackable pabmey potlh:
- public ngoghmey mach 'oH; trackablemey HochDaq pImchu' taH.
- public ngoghmey je pegh ngogh machmey rapbe'chu'. vaj ngogh mach wa' botlh cha' pongmey Delbe'.
- mach pegh ngoghmey je scan-only QR URLmey poSmeH pegh Dochmey 'oH.
- trackablemey je trackable-ghommey yIbuS: wa'logh Daluchavta'DI' cha'lu'bogh pagh HochvaD reH cha'lu'bogh. access pegh sign-inbogh accountDaq pollaHtaH, vaj devices pItlhmey lo'laH.
- website note-attachment formmey wa'leS wa' trackable ngogh neH laj, 'ej pegh ngogh mach tu'lu'ta'bogh rapchugh neH rarmoH.
- ngogh external registerlu'ta'be'chugh, trackable wa'DIch yIchenmoH. entry note-attachment manual ngoghmey third-party chu' registerchoHmoHbe'.
- OwnerUserIdvo' chu'moHghach Sovlu'; persisted activation flag pIm tu'lu'be'.
- unactivated trackablemey cannot be attached to notes and cannot accept commentmey.
- trackable wa' ghom neH ghajlaH. ghom choHmeH, wa'DIch yIteq, vaj yIrarqa'.
ghov ngogh mIwmey je ghantoHmey
| mIw |
ghantoH |
nej pab |
| public ngogh token |
LN-7K4V9T |
short public token qo' HochDaq unique. public lookup je public linksvaD Qobbe'. |
| public yI'elmeH mIw |
GET /trackable/LN-7K4V9T |
public share URL mach. base route rap lo'lu' public ngoghmeyvaD, pegh ngogh machmeyvaD, je QR tokenmey scan-only tIqvaD. |
| trackable public page Holghomlu'ta'bogh |
GET /en-US/trackables/LN-7K4V9T |
share URL ngogh DelchoHDI', language-specific rendered public page pawlu'bogh 'oH. |
| pegh yI'elmeH mIw |
GET /trackable/LN4C8R2Z |
Doch ghajbogh nuvvaD mach possession-based entry URL 'oH. public form je scan form nI' tlhejbogh base route rap <code>/trackable/{code}</code> lo'. |
| system short pegh ngogh |
LN4C8R2Z |
trackablemey HochDaq unique 'oH; public ngoghmeyDaq unique je. possession-based manual entryvaD nablu'. |
| system prefix pIm |
GT8M2Q7V |
<code>GT</code> prefix lo'bogh sister deploymentsDaq short-secret pattern rap chenmoHlu'ta'bogh. |
| bring-your-own pegh ngogh |
ITEM42X |
external identifier chu'qu'. trackablemey HochDaq ngerbe' net poQ; <code>LN</code> pagh <code>GT</code> tagh yIlo'Qo'. |
| pegh scan route |
https://locationnotes.com/trackable/AB4D5QW2...<100 chars total>... |
trackablemey HochDaq unique 'ej QR scanvo' pawmeH nablu', manual entryvo' ghobe'. |
public ngogh tokens chenmoHlu'ta'bogh je short pegh porghmey chenmoHlu'ta'bogh Degh porgh rap lo'. ngogh leghmeH mIw O 0 rur net Har, I pagh L 1 rur, S 5 rur, je U V rur. system short pegh ngoghmeyvaD, motlhmoHmeH mIwvam porgh chenmoHlu'ta'boghDaq neH Qap, prefix motlhDaq Qo'. public ngoghmey prefix rap lo' je dash chel porgh chenmoHlu'ta'boghDaq, vaj short pegh ngoghmeyvo' leghlu'DI' pIm law'.
tlhegh je ghItlh laDghachmey
public list reads site public-data exposure limitmo' botlu', DaHjaj 500 default 'oHmo'.
Trackable je trackable-group read models lastActivityUtc ghaj; vaj dashboards je API clients recent activity clear cha'laH.
GET /api/trackables/public
GET /api/trackables/mine
GET /api/trackables/{trackableId}
POST /api/trackables/{trackableId}/watch
DELETE /api/trackables/{trackableId}/watch
GET /api/trackables/{trackableId}/journey
POST /api/trackables/{trackableId}/journey-stops
DELETE /api/trackables/{trackableId}/journey-stops/{journeyStopId}
GET /api/trackables/public je website public trackable browse navmey multilingual taH, vaj route Holmo' public journey je logistics data So'be'lu'.
public trackable data rapDaq localized chrome DaneHchugh, website Hol yIchoH.
wa' trackable yIchenmoH
POST /api/trackables
Bearer token
{
"name": "Promo coin",
"description": "Launch event inventory item",
"externalLinkUrl": "https://example.com/promo-coin",
"externalLinkDescription": "",
"teamId": null,
"visibility": "AlwaysVisibleToEveryone",
"activateImmediately": false,
"secretCode": ""
}
{
"trackableId": "f3a8f841-20db-4f1e-a3f8-9f14bc0b3c31",
"heading": "Unactivated Trackable",
"description": "Please activate this trackable item",
"items": [
{
"trackableId": "f3a8f841-20db-4f1e-a3f8-9f14bc0b3c31",
"name": "Unactivated Trackable",
"publicCode": "LN-7K4V9T",
"secretCode": "LN4C8R2Z",
"scanUrl": "https://locationnotes.com/trackable/ABCD...<100 characters total>...",
"qrPayload": "ABCD...<100 characters total>..."
}
]
}
bring your own pegh ngogh
{
"name": "Marketing token",
"description": "Bring-your-own identifier",
"teamId": null,
"visibility": "VisibleOnceAccessed",
"activateImmediately": true,
"secretCode": "TAG42"
}
server pegh ngoghmey caller nobta'bogh laj, LN, GT, pagh GC taghbe'chugh je ngogh pegh tu'lu'ta'bogh pagh ngogh public tu'lu'ta'bogh rapbe'chugh. ngogh public cheghlu'bogh system chenmoHta'lu'taH.
yIchenmoH a ghom
POST /api/trackables/groups
Bearer token
{
"name": "Gnomes in this hunt",
"description": "Seasonal hunt inventory",
"defaultTrackableTitle": "",
"defaultTrackableDescription": "",
"defaultExternalLinkUrl": "https://example.com/hunt-rules",
"defaultExternalLinkDescription": "",
"trackableCount": 12,
"teamId": null,
"visibility": "AlwaysVisibleToEveryone",
"activateImmediately": false,
"watchGroupActivityWhenCreated": true
}
wa' ghomDaq 100 trackablemey potlh neH ngaSlaH. chu'moHlu'pa'bogh Dochmey ghom defaultmeyDaq cheghtaH. chu'moHlu'DI', pongDaj je ghItlhDaj Daj ghajnIS.
trackable-ghom chenmoHghach watchGroupActivityWhenCreated lajlaH je, unactivated batch chenmoHwI' watch listDaq taghnISchugh.
nejghach je session taHbogh
POST /api/trackables/lookup bIngDaq Delu'ta'bogh character choHmey smudged motlh DeQavDI', public ngogh token qoj pegh ngogh run rurmoH.
GET /trackable/{code} naDev short website entry route 'oH; userpu' je API clientpu'vaD cha'lu'. public ngogh, pegh ngogh tIq, qoj QR token tIq lajlaH, 'ej mIw rapboghDaq botlh ghoSmoH.
GET /api/trackables/active tu'lu'chugh, client pegh-ngogh session taHbogh DaHbogh Del.
GET /api/trackables/active/{trackableId} active landing payload nob; chu'moHghach poQghach je grouped itemmey je, tu'lu'chugh, chennob.
POST /api/trackables/active/{trackableId}/message remembered status text choHmoH.
DELETE /api/trackables/active/{trackableId} clientvetlhDaq remembered secret-code session QavmoH.
pegh-ngogh lookupmey je QR visits scan-only active client session chenmoH, pegh mI' cheghmoHQo'. session activevetlh pItlh note mIwmeyDaq trackable rarmeH chaw', ngogh Delqa'be'taHvIS.
caller authentication ghajchugh, lookup wa'logh luchavta'DI' cha'lu'bogh rap trackablevetlh accountvetlhDaq rarlaH je, vaj pItlh devices sign-inbogh trackable, ghom navDaj, je routes follow-up motlh poSqa'laH pegh tlhobqa'be'taHvIS.
website deliberately direct entry base route rap lo' wej formsvaD: /trackable/{publicCode}, /trackable/{secretCode}, je /trackable/{qrToken}.
Hol wIv automatic pItlhDI', /{lang}/trackable/{code} route wa' item landing renderlu'bogh 'oH, 'ach share URL qoj printed URL rur cha'lu'be'nIStaH.
public-code lookup rInDI', public page cha'lu'bogh /{lang}/trackable/{publicCode}Daq tu'lu'.
shared entry routevetlh QaptaHlaH, configured short-code lengths pItlh choHchugh je, server code value resolve-moHmo' je hard-coded website path variationsDaq relybe'mo'.
ghajwI' botlh website trackable route-mey public URL patDaq lanlu'be'; chovlu'ta' net.
pojvam note navmeyDaq je qap. ngogh public lo'lu' public trackable nav poSmeH; 'ach note rarmeH pegh ngogh mach tu'lu'ta'nIS pagh browser session active-ta'.
GET /api/trackables/lookup?code=LN4C8R2Z
{
"found": true,
"trackableId": "f3a8f841-20db-4f1e-a3f8-9f14bc0b3c31",
"isPublicCodeMatch": false,
"usesSecretAccess": true,
"redirectUrl": "/en-US/trackables/active/f3a8f841-20db-4f1e-a3f8-9f14bc0b3c31"
}
GET /trackable/LN-7K4V9T
GET /en-US/trackables/LN-7K4V9T
GET /trackable/ABCD...<100 characters total>...
SoHvaD pagh teamvaD yIchu'moH
POST /api/trackables/{trackableId}/activate
Bearer token
{
"name": "",
"description": "",
"useGroupDefaultTitle": true,
"useGroupDefaultDescription": true,
"externalLinkUrl": "",
"externalLinkDescription": "",
"useGroupDefaultExternalLink": true,
"teamId": "optional-team-guid"
}
teamId noblu'chugh, trackable team ghajbogh moj; team admins SeHlaH, je activating member control poltaH teamvetlhDaq taHtaHvIS. teamId tu'be'chugh, trackable personal ghajwI' ghajbogh moj.
when a grouped item is chu'moHlu'ta', the ghajwI' can either yIpol an explicit item pong and ghItlh or intentionally copy the ghom's current default pong and ghItlh into the item.
detach and reattach ghommey
DELETE /api/trackables/{trackableId}/group DaH ghom rarghach teq.
POST /api/trackables/{trackableId}/group tlhej { "trackableGroupId": "..." } associates a detached trackable with a new ghom.
POST /api/trackables/groups/{trackableGroupId}/watch ghom visible members DaHotchoHmoH. member-item watches same groupDaq botlhDaq ghom watchDaq DelmeH pe'laHtaH, je ghajwI'-or-watch overlap user HochvaD deduplicatelu'.
DELETE /api/trackables/groups/{trackableGroupId}/watch stops monitoring the ghom.
trackable wa' ghom neH ghajlaH. detach-first rule server'e' pabmoH. original activator neH detached trackable rarlaHqa'; je destination ghom uservetlh pagh eligible team admin controlDaq ghaHnIS.
{
"trackableGroupId": "4bdffcab-bb51-4fd8-8c15-59f7b2d72c3f"
}
trackable commentmey
GET /api/trackables/{trackableId}/comments
POST /api/trackables/{trackableId}/comments
PUT /api/trackables/{trackableId}/comments/{commentId}
DELETE /api/trackables/{trackableId}/comments/{commentId}
unactivated trackablemey cannot receive commentmey or journey stops.
Daq'elbogh SuchwI'pu' commentmey chenmoHlaHchu'. Daq'elbe'bogh SuchwI'pu' je commentmey chenmoHlaH, 'ach ghItlh HochvaD browservetlhDaq active trackable session tu'nISlu' qoj trackablevetlhvaD pegh ngogh machvetlh qoj pegh QR token ngebqa'nISlu'.
comment yIchoHlaH comment ghItlhwI' neH, Daq'elbogh ghItlhwI' 'oHchugh. trackable ghajwI'pu' je DaH team adminpu' commentmey qoj journey stopmey Qaw'laH, 'ach latlhpu' mu'mey ghItlhqa'laHbe'.
{
"body": "Starting the route now.",
"accessCode": "LN4C8R2Z"
}
leng stopmey nIteb
journey feed DaH immutable stop history ghaH. note-backed stopmey note rarlu'taHvIS location snapshot, 'ej note chenmoHpa' direct map reports pollu'laH.
linked note pItlh coordinate pImDaq movechoHchugh, trackable journey stop snapped wa'DIch poltaHtaH, vaj logistics history peghchoHtaHvIS rewriteQo'.
anonymous direct reports anonymous commentmey pab rap tlhej: caller browservetlh active trackable session yIlo'nIS pagh write requestDaq mach pegh ngogh je pegh QR token yInobqa'nIS.
{
"latitude": 41.8819,
"longitude": -87.6278,
"accessCode": "LN4C8R2Z"
}
GET /api/trackables/{trackableId}/journey label-first place facts nob. Hoch point coordinateId, locationLabel, currentNotesAtCoordinate je tlhegh, vaj pa' coordinateDaq DaH visible note'mey cha'anglaH clientmey, 'ach reH wa' poltaHghach note ghajbogh stop'e' DaHotnISbe'.
Journey responses city, stateOrProvince, country je fieldmeyDaq outward place contract botlhHa'be' qaStaHvIS. locationLabel je coordinatemey yIlaD.
[
{
"journeyStopId": "8a274ad6-5dd4-45c4-969a-c13cc1b8d92c",
"coordinateId": "565c42dd-2e12-49b4-a16b-c89ff4502b8e",
"latitude": 41.8819,
"longitude": -87.6278,
"associatedUtc": "2026-04-05T18:30:00Z",
"isLocationOnly": false,
"isAnonymous": false,
"canDelete": false,
"canConvertToNote": false,
"locationLabel": "Chicago, Illinois, United States",
"creatorDisplayText": "Jordan",
"creatorProfileUserName": "jordan",
"currentNotesAtCoordinate": [
{
"noteId": "4d6c5df3-3c53-4d0e-8e72-7d98a0f8a9f3",
"title": "Lobby drop",
"contentLanguage": "en-US",
"thumbnailUrl": "/api/images/notes/4d6c5df3-3c53-4d0e-8e72-7d98a0f8a9f3/thumbnail"
}
]
}
]
cha'ghach je leng cha'angghach
journey navmey trackable mapped locations cha'laH, note 'op peghchugh je. DotlhmeyvetlhDaq leghwI'pu' unauthorized location point tlhaplaH, 'ach note De' Hubta'bogh tlhaplaHbe'.
authorized viewersvaD note pong, ghItlh, je note link noblu'chu' journey payload preloadedvo' je map pin popupmeyvo'.
Qaw'ghach je poltaHghach
account wa' Qaw'lu'DI', trackablemey accountvetlhDaq qeqta'bogh Hoch Qaw'lu'be' automatically. trackablemey chuqbogh pagh ghom ghajbogh taHlaH, user Qaw'lu'ta'bogh personal activity teqlaHbogh neH teqlu'taHvIS.
DaH retention botlhmey DaSovmeH, De' Qaw' nav je account-delete API botlh yIlaD.
trackable mIw paqmey
trackable APIDaq signed-in ghajghach mIw naQ je anonymous reporting mIw peghDaq Qapbogh mach tu'lu'.
ordered call sequences, decision points, je copy-paste examples DapoQchugh route catalog qaq law'be', bIngDaq dedicated pages yIlo'.
Qagh nejghach
DaH trackable problem-details responsemeyDaq stable machine-readable code field chellu'. Qagh reference page yIlo'; failuremeyvaD likely causemey je fixes yISam.
yIpoS the trackable api error reference
ngeb QIn API QaH
external-link support note, team, trackable, trackable-ghom, je sync API'meyDaq tu'lu'. lo'wI'pu' verify endpoint wa'DIch lo'laH, 'ach create je update routes link verifyqa'laHtaH serverDaq polpa'.
QIn yIQov
POST /api/external-links/verify
Bearer token
ghItlh field Dacha'pa', client le'Daq mIwvam yIlo'. jang Qapbogh URL motlhmoHlu'bogh, nav pongvo' ghItlh le' ponlu'bogh, je naD QaghmeyvaD QaH URL nob. jang Qapbe'bogh HTTP 400 nob, detail QIn ghaj, QaH URL ghaj, je destination sitevetlh HTTP Qagh nobchugh upstreamStatusCode ghaj.
{
"url": "https://example.com/hunt-rules"
}
{
"normalizedUrl": "https://example.com/hunt-rules",
"suggestedDescription": "Example Domain",
"supportUrl": "/tlh-US/support"
}
{
"title": "Request rejected.",
"status": 400,
"detail": "The external page returned HTTP 405 Method Not Allowed during verification.",
"supportUrl": "/tlh-US/support",
"upstreamStatusCode": 405
}
note, ghom, je sync fieldmey
note, team, je sync payloadmey yIchenmoHtaHvIS qoj yIchoHtaHvIS, externalLinkUrl je externalLinkDescription yIlo'. sync note payloadDaq ApplyExternalLinkChanges true 'oHchugh, server polpa' link Qovqa'.
CreateNoteRequest.ExternalLinkUrl
CreateNoteRequest.ExternalLinkDescription
CreateTeamRequest.ExternalLinkUrl
CreateTeamRequest.ExternalLinkDescription
UpdateTeamSettingsRequest.ExternalLinkUrl
UpdateTeamSettingsRequest.ExternalLinkDescription
NoteDto.ExternalLinkUrl
NoteDto.ExternalLinkDescription
NoteDto.ApplyExternalLinkChanges
trackable and ghom fields
trackable chenmoHghach je update payloadmeyDaq externalLinkUrl, externalLinkDescription, je externalLinkAppendPublicTrackableCode lo'lu'. trackable-ghom chenmoHghach je update payloadmeyDaq defaultExternalLinkUrl, defaultExternalLinkDescription, je defaultExternalLinkAppendPublicTrackableCode lo'lu'. activationDaq, ghajwI' ghom defaults botlh tagh neHchugh, useGroupDefaultStatusMessage, useGroupDefaultTitle, useGroupDefaultDescription, je useGroupDefaultExternalLink lajlu' je.
TrackableGroupCreateInputModel.NameDaq requestmey QInmey, mI'mey, spacemey, je capital QInmey chaw'. server page slug botlhDaq lowercase je underscoremey pol, je chenmoHpa' qaStaHvIS slugvetlh taH.
stored trackable pagh trackable-ghom default link optionvam chooschugh, click specific trackable pageDaq taghchugh neH LN={publicCode} chel LocationNotes. ghom pagesDaq polta'bogh URL neH lo'taHlu', pa' wa'leS trackable code tu'lu'be'mo'.
wa' tlhob rapDaq wa'DIch tracked location chenmoHlu'nISchugh, chu'moHghach optional initialJourneyStopLatitude je initialJourneyStopLongitude values lajlaH je.
TrackableCreateInputModel.ExternalLinkUrl
TrackableCreateInputModel.ExternalLinkDescription
TrackableCreateInputModel.ExternalLinkAppendPublicTrackableCode
TrackableActivationInputModel.StatusMessage
TrackableGroupCreateInputModel.DefaultExternalLinkUrl
TrackableGroupCreateInputModel.DefaultExternalLinkDescription
TrackableGroupCreateInputModel.DefaultExternalLinkAppendPublicTrackableCode
TrackableGroupCreateInputModel.DefaultStatusMessage
TrackableGroupCreateInputModel.WatchGroupActivityWhenCreated
TrackableActivationInputModel.UseGroupDefaultTitle
TrackableActivationInputModel.UseGroupDefaultDescription
TrackableActivationInputModel.UseGroupDefaultStatusMessage
TrackableActivationInputModel.ExternalLinkUrl
TrackableActivationInputModel.ExternalLinkDescription
TrackableActivationInputModel.UseGroupDefaultExternalLink
TrackableActivationInputModel.InitialJourneyStopLatitude
TrackableActivationInputModel.InitialJourneyStopLongitude
server Dotlh
- verification Qapbe'pa', clients externalLinkDescription availablebe' net Har nIS.
- client ghItlh chImmoHchugh, server verified page pong lo' qoj "external navDaq pong tu'lu'be'".
- destinationmey qIlHa'lu'ta'bogh QaghlaH, URL form lughbe'chugh, host local pagh peghchugh, navDaq pawlu'laHbe'chugh, Qapcheghbe'chugh, pagh adult-content Deghmey tu'lu'chugh.
- public pages external links polta'bogh LocationNotes exit page botlh Del, SuchwI' third-party destinationDaq straight ngeHbe'taHvIS.
nIn endpointmey
nIn chabe'ghach reH parent item tlhej. caller connected profilenav, notenav, ghomnav, trackablenav, pagh trackable-ghomnav poSlaHchugh, nInmeyDaj poSlaH je. parent itemDaq access tu'be'chugh, nIn tetlhDoch pagh chegh, je nIn downloadmey direct 404 nob.
lo'wI' mIwmey je qaw'nIS: chelghachmey polpa' naDlu', wa'DIch Dochmey poltaHbe', je server JPEG Seghmey size choHlu'ta'bogh neH poltaH. website je Android app API pabmey rap je file routes rap lulo'.
nInmey ghajwI' botlh yItlhegh
GET /api/images/profiles/{userId}
anonymous qoj Bearer
GET /api/images/notes/{noteId}
anonymous qoj Bearer
GET /api/images/teams/{teamId}
anonymous qoj Bearer
GET /api/images/trackables/{trackableId}
anonymous qoj Bearer
GET /api/images/trackable-groups/{trackableGroupId}
anonymous qoj Bearer
readsva'meH galleries yIpopulate. item Hoch image GUID, original dimensions, je thumbnail, small, medium, je large stored copies relative URLs qeng.
originalWidth je originalHeight, uploaded source image qechvaD Del. downloadlaHlu'bogh files'e' resized stored variants neH 'oH, thumbnailUrl, smallUrl, mediumUrl, je largeUrl botlh rarbogh.
curl "https://www.locationnotes.com/api/images/notes/4d6c5df3-3c53-4d0e-8e72-7d98a0f8a9f3"
[
{
"contentImageId": "f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1",
"targetType": 1,
"noteId": "4d6c5df3-3c53-4d0e-8e72-7d98a0f8a9f3",
"originalWidth": 1600,
"originalHeight": 1200,
"createdUtc": "2026-03-18T21:15:00Z",
"thumbnailUrl": "/Images/Thumbnail/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1-64.jpg",
"smallUrl": "/Images/Small/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1-306.jpg",
"mediumUrl": "/Images/Medium/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1-612.jpg",
"largeUrl": "/Images/Large/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1-1024.jpg"
}
]
bytes polta'bogh yIDownload
GET /api/images/{contentImageId}/{variant}
anonymous qoj Bearer
variant mI'mey Qapbogh: thumbnail, small, medium, large. response image/jpeg cheghmoH.
/Images/{Variant}/{guid}-{size}.jpg bIngDaq website file URLmey parent-visibility pab rap lupoQ image bytes jablu'pa'. vaj direct image linkmey profile, note, team, trackable, qoj trackable-ghom permissions rarboghDaq qaDtaH.
curl -L "https://www.locationnotes.com/api/images/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1/large" --output note-large.jpg
nInmey yIghItlh
POST /api/images/profiles
Bearer token
POST /api/images/notes/{noteId}
Bearer token
POST /api/images/teams/{teamId}
Bearer token
POST /api/images/trackables/{trackableId}
Bearer token
POST /api/images/trackable-groups/{trackableGroupId}
Bearer token
wa' multipart file field pongbogh file neH yIngeH. target SeHlaHmeH chaw' Daghajta'nIS, ghom navmeyvaD team-admin access je parent Seghmey latlhvaD choHmoHmeH chaw' motlh botlh. uploads naDlu' polpa', vaj JPEG copies size choHlu'ta'bogh neH polta'lu'.
curl -X POST "https://www.locationnotes.com/api/images/trackables/721f5205-ed2c-43e8-8ecd-1502d5bb7b56" \
-H "Authorization: Bearer <access token>" \
-F "file=@tracker.jpg"
{
"image": {
"contentImageId": "f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1",
"targetType": 3,
"trackableId": "721f5205-ed2c-43e8-8ecd-1502d5bb7b56",
"originalWidth": 1600,
"originalHeight": 1200,
"createdUtc": "2026-03-18T21:15:00Z",
"thumbnailUrl": "/Images/Thumbnail/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1-64.jpg",
"smallUrl": "/Images/Small/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1-306.jpg",
"mediumUrl": "/Images/Medium/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1-612.jpg",
"largeUrl": "/Images/Large/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1-1024.jpg"
}
}
yIQaw' images
DELETE /api/images/{contentImageId}
Bearer token
Qaw'ghach parent-management chav rap poQ, chelghach rap. Qaw'lu'chu'DI', content-image row je variants resized polta'lu'bogh Hoch rap teqlu'.
API lo'wI'pu' HTTP DELETE ngeHnIS naDev. URLvam browser address barDaq yIlanQo'; pa' GET ngeHlu', vaj 405 chegh. routevam download nav 'oHbe'.
browser gallery delete mIwmey anti-forgery protection polmeH, website delete buttonmey localized form route /{culture}/images/{contentImageId}/delete lo'.
curl -X DELETE "https://www.locationnotes.com/api/images/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1" \
-H "Authorization: Bearer <access token>"
nuq 'oH nIn'e'? mIwmeyvam qav cha'ghach, naDghach, report ghItlhghach, size choHghach, export, je Qaw'ghach pabmey Del.
compliance report ghItlhghach
inappropriate-content reports, tracked system errors, je website support-request flow QapmoHbogh support-ticket records rapvaD routesvam yIlo'.
anonymous callers reports noblaH, 'ach pIq API botlh status updates je super-admin resolutions tlhejlaH signed-in reporters neH.
report yInob
POST /api/compliance/reports
anonymous qoj Bearer
website cookie pagh bearer tokenmo' caller 'ollu'chugh, report chenmoHlu'bogh accountvetlhDaq rarlu'; vaj GET /api/compliance/reports/mine bIngDaq nargh.
{
"pageType": 2,
"contentType": 5,
"pageTitle": "Reported note title",
"pageUrl": "/en-US/Note/2f4a9f80-b7db-4f4b-9d34-0c2cb8777d9a#note-page-title",
"pageReference": "2f4a9f80-b7db-4f4b-9d34-0c2cb8777d9a",
"contentLabel": "Note Page title and content",
"contentReference": "2f4a9f80-b7db-4f4b-9d34-0c2cb8777d9a:page-content",
"contentPreview": "Title: Reported note title\n\nContent: Reported note body",
"reportTitle": "Needs review",
"reportExplanation": "This title is not appropriate for a public note."
}
API ticket yIbeH qoj app Qagh yIreport
POST /api/compliance/errors
anonymous qoj Bearer
API route unexpected 500 botlh QapHa'ta' je problem-details JSONDaq ticketNumber nobta'chugh, pa' ticketvetlh naDev yIghItlh; cha'logh error log row yIchenmoHQo'. caller super-admin follow-up neHchugh, userExplanation yIchel 'ej trackInSupportTickets yIcher.
{
"ticketNumber": "ERR-1M7Q4D9K2X5R8V6N",
"userExplanation": "Android app hit this right after I tapped refresh twice.",
"trackInSupportTickets": true,
"clientContext": {
"platform": "Android",
"screen": "My Journeys",
"appVersion": "1.0.0-beta.20260318.1"
}
}
Qagh Android app bIngDaq neH ghertlhu'chugh je server ticket tu'lu'be'taHchugh, error ticket chu' yIchenmoH, marker app nuqDaq 'oHbogh Delbogh je.
{
"pageMarkerType": "Android screen",
"pageMarker": "My Journeys",
"requestCulture": "en-US",
"requestUrl": "https://locationnotes.com/api/trackables/active/721f5205-ed2c-43e8-8ecd-1502d5bb7b56?includeHistory=true",
"httpMethod": "GET",
"responseStatusCode": 503,
"exceptionType": "Java.Lang.IllegalStateException",
"exceptionMessage": "Journey list render failed.",
"stackTrace": "at com.locationnotes.trackables.MyJourneysFragment.render(MyJourneysFragment.kt:42)",
"userExplanation": "This happened right after scanning a QR code.",
"trackInSupportTickets": true,
"clientContext": {
"platform": "Android",
"deviceModel": "Pixel 9",
"osVersion": "Android 17",
"appVersion": "1.0.0-beta.20260318.1"
}
}
{
"ticketNumber": "ERR-1M7Q4D9K2X5R8V6N",
"usedExistingTicket": false,
"explanationSaved": true,
"trackedInSupportTickets": true,
"trackedContentReportId": "d91f6e1c-b8e2-4e38-9e96-f2de0cc4f0e2"
}
pageMarkerType values URL, Android screen, pagh Android background task rur yIlo'. server-generated ticketsvaD, original URL marker yIpol 'ej cheghta'bogh ticketNumber naDev yInobqa', vaj API URL ghItlhta'bogh ticketvetlhDaq ratlhtaH.
reporter Dotlh laDghachmey
GET /api/compliance/reports/mine
Bearer token
GET /api/compliance/reports/{contentReportId}
Bearer token
routesvam caller reportDaj neH nob, caller super-admin 'oHbe'chugh. content reports je tracked system errors botlh Reported, Reviewing, pagh Resolved cha'meH lulo'laH, je qav resolution note cha'laH.
{
"contentReportId": "3ab419ab-4b71-4d43-b52c-303d6039f01f",
"reporterUserId": "6d650c55-b235-4370-8572-e4b772cd1aea",
"pageType": 2,
"pageTypeLabel": "Note Page",
"contentType": 5,
"contentTypeLabel": "Title and content",
"status": 2,
"statusLabel": "Resolved",
"pageTitle": "Reported note title",
"pageUrl": "/en-US/Note/2f4a9f80-b7db-4f4b-9d34-0c2cb8777d9a#note-page-title",
"pageReference": "2f4a9f80-b7db-4f4b-9d34-0c2cb8777d9a",
"contentLabel": "Note Page title and content",
"contentReference": "2f4a9f80-b7db-4f4b-9d34-0c2cb8777d9a:page-content",
"contentPreview": "Title: Reported note title\n\nContent: Reported note body",
"reportTitle": "Needs review",
"reportExplanation": "This title is not appropriate for a public note.",
"resolutionText": "Reviewed and recorded for moderation follow-up.",
"reporterDisplayName": "site-compliance-reporter",
"reviewerDisplayName": "site-compliance-admin",
"createdUtc": "2026-03-18T18:00:00Z",
"reviewedUtc": "2026-03-18T18:10:00Z"
}
super-admin naDghach
GET /api/compliance/reports
Bearer je SuperAdmin
PUT /api/compliance/reports/{contentReportId}
Bearer je SuperAdmin
admin listDaq report link, page metadata, offending-content metadata, reporter identity tu'lu'chugh, je review note motlh chellu'. updates DaH review state je visible resolution text ghItlh.
{
"status": 1,
"resolutionText": "Review opened and queued for follow-up."
}
report resolved DachoHmoHDI', status cha' yIghajmoH je resolutionText chImbe'bogh yIchel.
enum mI'ghachmey
pageType: 0 profile page'e', 1 team page'e', 2 note page'e', 3 trackable page'e', 4 trackable ghom page'e', 5 system Qagh, 6 QaH page
contentType: 0 pong, 1 ghItlh, 2 comment QIn, 3 QIn, 4 bio De', 5 pong je ghItlh, 6 Qagh De', 7 image Doch, 8 QaH poQghach
status: 0 QInlu'ta', 1 naDlu'taH, 2 rurbogh
website page-level reports DaH 5 lo', vaj report button wa' visible pong je visible description/body wa'logh qaplaH. comment-level reports comment-specific content types lo'taH.
website support ra'mey motlh Support Page je Support request tickets yIchenmoHtaH COMPLIANCE.ContentReports store rapDaq, 'ach browser form Support page lo' taH, raw API routevam lo'be'.
tracked website, API, je Android app Qaghmey LOG.ErrorsDaq pollu'. trackInSupportTickets chaw'lu'DI', linked support ticket COMPLIANCE.ContentReportsDaq je cha'lu', vaj super-admin review je reporter status workflow rap tlhej.
system je beta metadata
GET /api/system/status
pegh pagh pong ghajbe'
health checkmey, Android compatibility gating, beta-page URL DaHtaHbogh, je current request map/privacy stateQe'Daq Dochvam yIlo'.
GET /api/system/beta-android
pegh pagh pong ghajbe'
staged Android beta metadata cheghmoH: display version, version code, version compat minimum, je release notemey ngaS.
GET /api/system/ip-location
pegh pagh pong ghajbe'
map centering je troubleshootingvaD, current request IP botlh location law' potlhbogh nob.
client IP private, local, pagh trustedbe'chugh, HTTP 200 ratlh response je failure
failureReason
transport error chenmoHbe'taHvIS.
GET /api/system/coordinate-locality
pegh pagh pong ghajbe'
stop-planner je map-selection flowmeyvaD, latitude/longitude rarbogh city, state/province, je country pongmeyvaD reverse-geocode.
coordmey QaghDaq, payload nothrow noblu'
resolved=false
je
failureReason=invalid-coordinates.
- requestedExperienceMode 'ej effectiveExperienceMode comparelu'DI', sign-in preference request-time privacy rules QaptaH'a' pagh no_3rd_partiesDaq forcedlu'pu'a' net SovmoH.
- requestedMapSource, preferredMapSource, je fallbackMapSource tell you user provider nuq tlhobta', server provider nuq wa'DIch QattaH, je preferred source Qapbe'chugh provider nuq QapnIS.
- thirdPartyBrowserCallsAllowed, googleMapsAllowed, je openStreetMapAllowed tell you requestvam browser-side providerpu' Dalo'laH'a'.
- hostedMapsForcedByPrivacy botlh hostedMapTileUrlTemplate tell you request same-origin hosted tilemeyDaq forcedlu'pu'bogh, DaH
/maps/tiles/{z}/{x}/{y}.png.
private-network, local-network, je IPmey resolution ghajbe'bogh deliberate mIw stricter lo'. vaj localhost pagh office-network test no_3rd_parties je hosted_maps cha'laH, logged-in preference nImtaHchugh je.
curl "https://www.locationnotes.com/api/system/status"
{
"status": "online",
"utcNow": "2026-03-13T21:15:00Z",
"androidMinimumCompatibleDisplayVersion": "1.0.0-beta.20260313.2",
"androidMinimumCompatibleVersionCode": "2026031302",
"androidCompatibilityMessage": "The API changed after older beta builds were published. Update to the latest beta before syncing or using live team management.",
"androidBetaPageUrl": "https://www.locationnotes.com/tlh-US/account/beta",
"requestedExperienceMode": "latest_and_greatest",
"effectiveExperienceMode": "no_3rd_parties",
"usesSavedExperienceModePreference": false,
"usesVisitorExperienceModePreferenceCookie": false,
"thirdPartyBrowserCallsAllowed": false,
"requestedMapSource": "google_maps",
"preferredMapSource": "hosted_maps",
"fallbackMapSource": "hosted_maps",
"usesSavedMapPreference": false,
"usesVisitorMapPreferenceCookie": false,
"googleMapsAllowed": false,
"googleMapsConfigured": false,
"openStreetMapAllowed": false,
"openStreetMapConfigured": true,
"hostedMapsConfigured": true,
"hostedMapsForcedByPrivacy": true,
"hostedMapTileUrlTemplate": "/maps/tiles/{z}/{x}/{y}.png"
}
curl "https://www.locationnotes.com/api/system/ip-location"
{
"resolved": true,
"clientIpAddress": "50.77.187.28",
"lookupIpAddress": "50.77.187.28",
"usedDevelopmentFallbackIp": false,
"sourceKind": "IpAddress",
"coordinateSourceProvider": "IpInfoDb",
"localitySourceProvider": "IpInfoDb",
"latitude": 41.8758,
"longitude": -87.6206,
"city": "Chicago",
"stateOrProvince": "Illinois",
"country": "United States of America",
"isApproximate": true,
"accuracyRadiusKm": null,
"failureReason": ""
}
curl "https://www.locationnotes.com/api/system/coordinate-locality?latitude=41.8818&longitude=-87.6231"
{
"resolved": true,
"sourceKind": "Coordinates",
"coordinateSourceProvider": "StopPlanner",
"localitySourceProvider": "HostedMapPostGIS",
"latitude": 41.8818,
"longitude": -87.6231,
"city": "Chicago",
"stateOrProvince": "Illinois",
"country": "United States",
"isApproximate": false,
"accuracyRadiusKm": null,
"failureReason": ""
}
route inventory pat
qechvam current LocationNotes API surfacevaD verb je path checklist naQ 'oH; framework SeHbogh identity routemey /api/auth bIngDaq cheltaHvIS. nuHDaq sectionmey botlh mIwmey Del. inventoryvam route-level source of truth 'oH, 'ej live endpoint table rapnIS.
yIQaw' account from the api
QonoSta'bogh clients API botlh current account je synced personal data permanently Qaw'laH. yIlaD
Data yIQaw'
team-owned data je exportsvaD retention yIpabmeH mIw Hoch DaneHchugh, wa'DIch page yIlegh.
trackable cleanup Hoch pagh pagh 'oHbe'. server user Qaw'lu'ta'bogh personal activity trackablevetlhDaq teqlaHbogh teq, 'ach trackablemey chuqbogh, ghom ghajbogh trackablemey, pagh qun users latlhpu' teqbe', account wa' Qaw'lu'mo' neH.
team-owned trackable teamvaD potlhtaHchugh, teamvetlhDaq taH. latlh nuv activity trackableDaq ratlhtaHchugh, trackablevetlh systemDaq taH.
DELETE /api/account
Bearer token
curl -X DELETE "https://www.locationnotes.com/api/account" \
-H "Authorization: Bearer <access token>"
{
"deletedAccount": true,
"notesDeleted": 14,
"categoriesDeleted": 6,
"linkedProvidersDeleted": 2
}
Qaghmey je problem ghItlhmey
naDHa'ghach, chavHa'ghach, je nejHa'ghach Qaghmey standard HTTP status codes cheghmoH. workspace mIwmey law' RFC 7807 style problem-details JSON nob; pong, detail, je status ghaj.
{
"title": "Forbidden",
"code": "trackable_access_code_required",
"detail": "Sign in, keep this trackable active on this browser, or provide this trackable's secret code or QR access code before posting comments or location reports.",
"status": 403
}
400 validation pagh business-rule rejectionvaD
401 QonoSghach tu'be'lu'bogh qoj Qapbe'boghvaD
403 access ghajbe'bogh authenticated usersvaD
404 note'mey, categorymey, ghommey, ghomwI'ghachmey, qoj invite QInmey tu'be'lu'boghvaD
trackable write routes stable code property je chel, vaj API clients casesvam'e' wIchovlaH
trackable_access_code_required,
trackable_access_code_invalid,
trackable_activation_required,
je
trackable_already_activated
English text parsebe'taHvIS. mapping Hoch Dellu' naDev
trackable Qagh reference page.