URL wa'DIch je patmey
URL wa'DIch
pagevamDaq mIspu' Hoch DaH production host qel:
https://locationnotes.com
mIw
tlhobghachmey je responses JSON lulo'. GUIDs QInmey, Seghmey, ghommey, je janmey botlh primary identifiers 'oH.
chaw'ghach
pegh, muvmoH, je ghom endpoints require
Authorization: Bearer <access token>
He bIngDaq HochvaD mojlu'moHbe'chugh header yIlo'.
Hol
HochvaD je SeH laDghachmey chol
contentLanguage=en-US
pagh supported ngaSbogh Dochmey Hol latlh lo'taHvIS returned QIn/category ngaSbogh Dochmey yIfilter.
QonoSghach je Bearer tokenmey
web Daq 'elmeH navmey je Hur-nobwI' cherghach Dellu' naDev
QonoSmoH
nav. rItlhwI' LocationNotes ta' ghajbe'taHchugh, wa'DIch muv yIta'.
API clientpu' bearer token neHchugh, identity API 'elmeH He cookies QonoSbe'meH yIlo' pIq; Android app pat rap Dalo'.
POST /api/auth/register
pegh pagh pong ghajbe'
muv poQ De'
{
"email": "tester@example.com",
"password": "StrongP@ssw0rd!"
}
muv mIw
muv QapDI', ta' chenmoHlu', 'ach 'elmeH rapHa'moHbe'. client pegh, muvmoH, ghom, pagh SeH routemeyvaD chaw' token poQDI', bearer 'elmeH He yIlo' pIq.
POST /api/auth/login?useCookies=false&useSessionCookies=false
pegh pagh pong ghajbe'
tlhobghach QIn
{
"email": "tester@example.com",
"password": "StrongP@ssw0rd!"
}
jang ghItlhHom
{
"tokenType": "Bearer",
"accessToken": "eyJhbGciOi..."
}
curl -X POST "https://locationnotes.com/api/auth/login?useCookies=false&useSessionCookies=false" \
-H "Content-Type: application/json" \
-d '{
"email": "tester@example.com",
"password": "StrongP@ssw0rd!"
}'
He inventory naQ bIngDaq tu'lu'bogh DaH framework-SeHlu'bogh identity Hemey je Del; /api/auth bIngDaq cha'lu'.
full jeSbogh web Daq flow, nobwI' rItlhbackmey, ta'-Qotlh navmey, pagh nobwI'-rar mIw DapoQchugh, yIlo'
QonoS nav.
pu'jIn botlhmeyDaq HochvaD QIn'mey
endpointvam HochvaD pu'jIn windows je browse-mo-area experiencesvaD yIlo'. mIwvam'e' juH nav pu'jIn lo'bogh He 'oH.
GET /api/notes/public/bounds
pegh pagh pong ghajbe'
- tlhobmeH ghItlh ghItlh poQlu'bogh:
minLatitude, minLongitude, maxLatitude, maxLongitude
- tlhobmeH ghItlh ghItlh DuH:
contentLanguage
- responses web Daq HochvaD-De' exposure limitmo' botlu', DaHjaj 500 motlh 'oH, je qav Qu' ruchghach botlh wa'DIch Seghlu'.
HochvaD pu'jIn readsvam QInmey Hoch cha'lu'bogh motlh chel, je QInmey VisibleOnceAssociatedTrackableAccessed lo'bogh chel, rarlu'bogh tlha' Dochmey ghajbe'taHvIS neH. tlha' Doch rarDI', QIn pongHa' HochvaD-pu'jIn discoveryvo' mej, SuchwI' rarlu'bogh tlha' Dochmey wa' unlockta'be'pa' nav patlh routeDaq.
curl "https://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 HochvaD QIn'mey
client center point Sovta'taH je rectangular pu'jIn window qaq law'be', distance-limited result set neHchugh endpointvam yIlo'.
GET /api/notes/public/nearby
pegh pagh pong ghajbe'
- tlhobmeH ghItlh ghItlh poQlu'bogh:
latitude, longitude
- tlhobmeH ghItlh ghItlh DuH:
radiusKm (motlh 5), contentLanguage
- retlhDaq results web Daq HochvaD-De' exposure limitmo' botlu', DaHjaj 500 motlh 'oHmo'.
naDev bounds endpoint rap leghlaHghach pab lI'. HochvaD QInmey motlh chellu', je VisibleOnceAssociatedTrackableAccessed QInmey wa'DIch rarlu'bogh tlha' Doch ghajpa' neH chellu'.
curl "https://locationnotes.com/api/notes/public/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"
nuv nav HochvaD je ghom nav QIn tlheghmey
Hemeyvam HochvaD nuv nav je HochvaD ghom pagesDaq HochvaD ghItlhlu'bogh pu'jIn je QIn strip QapmoH. navvetlh QIn-chaw' pabmey rap lulo' je retlhDaq center point pagh full pu'jIn bounds lajlaH.
GET /api/public/profiles/{userName}/notes/nearby
pongHa' qoj Bearer
GET /api/public/teams/{teamName}/notes/nearby
pongHa' qoj Bearer
tlhobmeH ghItlh ghItlh poQlu'bogh: latitude, longitude pagh full pu'jIn bounds botlh minLatitude, minLongitude, maxLatitude, maxLongitude.
tlhobmeH ghItlh ghItlh DuH: radiusKm (motlh 5), contentLanguage, includeAllLanguages
web Daq motlh DaH He Hol contentLanguage rur ngeH, vaj /en-US je /tlh HochvaD navmey pu'jIn pagh strip rapDaq authored QIn Holmey motlh DuDbe'.
includeAllLanguages=teH yIcher neH, client multilingual browse surface intentionally chenmoHchugh, web Daq nav mirroringbe'taHvIS.
curl "https://locationnotes.com/api/public/profiles/michael-kappel/notes/nearby?minLatitude=41.87&minLongitude=-87.64&maxLatitude=41.89&maxLongitude=-87.62&contentLanguage=en-US"
muvmoH mIw rarHa'
muvmoH clients Daqvam dirty De' wa'DIch pushnIS, vaj lo'wI', lI' ghommey, je DaH areaDaq HochvaD notesvaD server choHmey pullnIS.
muvmoH 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": []
}
muvmoH endpoints pongHa' tlhobghachmey lajbe'. Android beta build qan server botchugh, yIlegh
GET /api/system/status
minimum compatible version je beta-nav URLvaD
nIteb QIn'mey je Seghmey
Hemeyvam 'elta'bogh web Daq vum Daq je nIteb Android muvmoH state QapmoH. Hoch bearer auth poQ.
nIteb QIn'mey yIlaD
GET /api/notes/mine
Bearer token
tlhobmeH ghItlh ghItlh DuH: contentLanguage je full pu'jIn bounds botlh minLatitude, minLongitude, maxLatitude, maxLongitude.
QIn laD payloadmey DaH chel lastActivityUtc vaj clients latest Qu' ruchghach persistence/update timestampsvo' separate cha'laH.
yIchenmoH QIn
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"
}
leghlaHghach Seghmey pegh, HochvaD, je VisibleOnceAssociatedTrackableAccessed laj. rarlu'bogh-tlha' Doch mIw HochvaD rurtaH, QIn rarlu'bogh tlha' Dochmey wa' pagh law' ghajbe'taHvIS. pItlhDI', HochvaD discovery je QIn-nav chaw' lo'nIS SuchwI' rarlu'bogh trackablemeyvetlh wa' poSmoHta'pu'chugh.
- ghobe' rarlu'bogh tlha' Dochmey yet: QIn behaves like HochvaD QIn.
- wa'DIch association pItlhDI': QIn pongHa' HochvaD discoveryDaq tu'lu'be'choH je motlh HochvaD QIn-nav accessDaq tu'lu'be'choH.
- viewer yI'ngaQHa'ta'bogh: rarlu'ta'bogh tlha' Doch wa' yI'ngaQHa'ta'pu'bogh ghot, QIn nav yIpoSlaH je HochvaD QIn-nav API mIwmey rarbogh lo'laH.
- ghajwI' pagh ghom lo'wI' chaw'lu'ta'bogh: ghItlhDaq chaw' motlh je ra'ghach taH.
QIn nav laDghachmey je ta'mey
GET /api/public/notes/{noteId}
pongHa' qoj Bearer
GET /api/public/notes/{noteId}/comments
pongHa' qoj Bearer
POST /api/public/notes/{noteId}/comments
Bearer token
GET /api/public/notes/{noteId}/trackables
pongHa' 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"
}
QIn-nav Hemeyvam QIn-chaw' pabmey lob, pegh QIn je rarlu'bogh-tlha' Doch accessmo' botlu'bogh QIn je. QIn nav poSlaHchugh rItlhwI', notevetlhvaD API qIDmey je leghlaHbogh tlha' Dochmey noblaH. tlha' Doch rarmeH QIn ghajwI' pagh ghom loHwI' poQlu'.
- wa'DIch rarlu'bogh tlha' Doch tu'lu'pa', Hemeyvam motlh HochvaD QIn-nav Hemey rurtaH.
- association wa' tu'lu'ta'DI' neH, wa' rarlu'bogh trackableDaq chaw' ghajbe'bogh rItlhers HochvaD QIn-nav routesDaq 404 loSnIS, QIn taHtaHchugh je.
- notevetlhvaD 200 noblaHtaH ghajwI', ghom memberpu' chavbogh, qoj tlha' Doch wa' unlockta'bogh leghwI'.
Seghmey yIlaD
GET /api/categories/mine
Bearer token
GET /api/categories/mine/tree
Bearer token
vum Daq tree helper Hemey
GET /api/categories/mine/tree/sections
Bearer token
GET /api/categories/mine/tree/children?parentCategoryId={categoryId}
Bearer token
Segh picker lazy-laDlu'bogh je sidebar tree'meyvaD helper Hemey tInHa'vam yIlo'. tree/sections rIv wa'DIch Seghmey contentLanguage botlh ghommoH. tree/children wa' parentvaD nIt puq node'mey cheghmoH je childCategoryCount chel; vaj client expand affordance cha'nIS'a' 'e' wuqlaH, grandchildren laDlu'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 pagh vIHghach Seghmey
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 QIn'mey pu'jInlu'bogh Quvmey polta'bogh neH GPX 1.1 Daq botlhmeyDaq tlhap.
POST /api/notes/mine/gpx
Bearer token
POST /api/notes/mine/gpx teywI', leghlaHghach, je contentLanguage DuH ghajbogh multipart form De' chaj. Daq botlh qonta''mey neH laD; QIn'mey pu'jInlu'bogh motlh chenmoH; QIn tu'lu'ta'bogh cherqa'be'.
duplicate checkmey SoHvaD botlh wIvta'boghDaq neH ratlh. pong je Quvmey rap QIn botlh De' rap je, duplicate 'oHlu'. pong je Quvmey rap 'ach QIn botlh De' nImchugh, cherqa'Qo'meH pe'lu'.
curl "https://locationnotes.com/api/notes/mine/gpx" \
-H "Authorization: Bearer <access token>"
curl -X POST "https://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"
qemghach je lelghach nuq?
GPX Daq botlh jemeH mIw chay' JSON Hoch je portable ZIP ta' exportmey nIm net Del.
ghom endpointmey
ghom Hemey membership, invites, DuHmey, ghom QInmey, ghom Seghmey je qel. bearer auth Hoch poQlu', He HochDaq loHwI'/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-QIn laD mIw chel lastActivityUtc. HochvaD trimming wa'DIch QonoSmey Qapchu'pu' pItlhbogh wIv.
ghom Segh tree helper Hemey
GET /api/teams/{teamId}/categories/tree/sections
Bearer token
GET /api/teams/{teamId}/categories/tree/children?parentCategoryId={categoryId}
Bearer token
routemeyvam nIteb vum Daq tree helpermey ay' je puq-node pat rap lo', 'ach De'vetlh ghom laH wIvta'boghDaq ratlhtaH je lI' ghomwI'ghach poQtaH.
yIlo' DELETE /api/teams/{teamId}/notes/{noteId} QIn ghom workspacevo' mejnISchugh 'ach ghajwI'vaD taHnISchugh, je yIlo' DELETE /api/teams/{teamId}/notes/{noteId}/delete ghom QIn'e' naQ yIQaw'nISchugh.
yIchenmoH ghom
{
"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 ghom QIn
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 pabmey lo'. duplicate je cherqa' checkmey QIn'mey ghomvetlh neH cha'qa'.
curl "https://locationnotes.com/api/teams/{teamId}/notes/gpx" \
-H "Authorization: Bearer <access token>"
curl -X POST "https://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 muvmeH rItlh 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"
}
tlha' Doch endpointmey
trackablemeyDaq ngogh HochvaD DelmeH laH, ngogh pegh pagh QR chaw' Hotlh neH, pegh cha'ghach wa'logh chenmoHtaHvIS, poH qawlu'boghmey web leghwI'-side lI', qIDmey, je inventory mIwmey ghomlu'ta'bogh tu'lu'.
mach pegh ngoghmey je Hotlh neH QR URLmey chenmoH endpointmey bIngDaq neH chegh. laD, lookup, qID, pagh QIjmeH De' mIwmeyDaq cheghqa'be'lu'.
tlha' Doch pabmey potlh:
- HochvaD ngoghmey mach 'oH; tlha' Dochmey HochDaq pImchu' taH.
- HochvaD ngoghmey je pegh ngogh machmey rapbe'chu'. vaj ngogh mach wa' botlh cha' pongmey Delbe'.
- mach pegh ngoghmey je Hotlh neH QR URLmey poSmeH pegh Dochmey 'oH.
- tlha' Dochmey je tlha' Doch-ghommey yIbuS: wa'logh Daluchavta'DI' cha'lu'bogh pagh HochvaD reH cha'lu'bogh. chaw' pegh 'elmeHbogh accountDaq pollaHtaH, vaj janmey pItlhmey lo'laH.
- web Daq QIn-attachment formmey wa'leS wa' tlha' Doch ngogh neH laj, 'ej pegh ngogh mach tu'lu'ta'bogh rapchugh neH rarmoH.
- ngogh Hur muvlu'ta'be'chugh, tlha' Doch wa'DIch yIchenmoH. qonta' QIn-attachment manual ngoghmey latlh tum chu' registerchoHmoHbe'.
- OwnerUserIdvo' chu'moHghach Sovlu'; persisted chu'moHghach flag pIm tu'lu'be'.
- chu'moHlu'be'bogh tlha' Dochmey laHbe' moj attached meH QInmey je laHbe' accept qIDmey.
- tlha' Doch wa' ghom neH ghajlaH. ghom choHmeH, wa'DIch yIteq, vaj yIrarqa'.
ghov ngogh mIwmey je ghantoHmey
| mIw |
ghantoH |
nej pab |
| HochvaD ngogh token |
LN-7K4V9T |
ngaj HochvaD token qo' HochDaq le'. HochvaD lookup je HochvaD linksvaD Qobbe'. |
| HochvaD yI'elmeH mIw |
GET /trackable/LN-7K4V9T |
HochvaD wav URL mach. base He rap lo'lu' HochvaD ngoghmeyvaD, pegh ngogh machmeyvaD, je QR tokenmey Hotlh neH tIqvaD. |
| tlha' Doch HochvaD nav Holghomlu'ta'bogh |
GET /en-US/trackables/LN-7K4V9T |
wav URL ngogh DelchoHDI', Hol-naQ rendered HochvaD nav pawlu'bogh 'oH. |
| pegh yI'elmeH mIw |
GET /trackable/LN4C8R2Z |
Doch ghajbogh nuvvaD mach possession-based qonta' URL 'oH. HochvaD form je Hotlh form nI' tlhejbogh base He rap <ngogh>/trackable/{code}</code> lo'. |
| system ngaj pegh ngogh |
LN4C8R2Z |
tlha' Dochmey HochDaq le' 'oH; HochvaD ngoghmeyDaq le' je. possession-based manual entryvaD nablu'. |
| system moHaq pIm |
GT8M2Q7V |
<ngogh>GT</code> moHaq lo'bogh sister deploymentsDaq ngaj-pegh pattern rap chenmoHlu'ta'bogh. |
| SoH ngogh pegh ngogh |
ITEM42X |
Hur identifier chu'qu'. tlha' Dochmey HochDaq ngerbe' net poQ; <ngogh>LN</code> pagh <ngogh>GT</code> tagh yIlo'Qo'. |
| pegh Hotlh He |
https://locationnotes.com/trackable/AB4D5QW2...<100 chars total>... |
tlha' Dochmey HochDaq le' 'ej QR scanvo' pawmeH nablu', manual entryvo' ghobe'. |
HochvaD ngogh tokenmey chenmoHlu'ta'bogh je ngaj 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 ngaj pegh ngoghmeyvaD, motlhmoHmeH mIwvam porgh chenmoHlu'ta'boghDaq neH Qap, moHaq motlhDaq Qo'. HochvaD ngoghmey moHaq rap lo' je dash chel porgh chenmoHlu'ta'boghDaq, vaj ngaj pegh ngoghmeyvo' leghlu'DI' pIm law'.
tlhegh je ghItlh laDghachmey
HochvaD tetlh reads web Daq HochvaD-De' exposure limitmo' botlu', DaHjaj 500 motlh 'oHmo'.
tlha' Doch je tlha' Doch ghom laD models lastActivityUtc ghaj; vaj dashboards je API clients qav Qu' ruchghach Huv 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 web Daq HochvaD tlha' Doch browse navmey multilingual taH, vaj He Holmo' HochvaD leng je logistics De' So'be'lu'.
HochvaD tlha' Doch De' rapDaq localized chrome DaneHchugh, web Daq Hol yIchoH.
wa' tlha' Doch 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 lIj Daj pegh ngogh
{
"name": "Marketing token",
"description": "Bring-your-own identifier",
"teamId": null,
"visibility": "VisibleOnceAccessed",
"activateImmediately": true,
"secretCode": "TAG42"
}
server pegh ngoghmey rItlhwI' nobta'bogh laj, LN, GT, pagh GC taghbe'chugh je ngogh pegh tu'lu'ta'bogh pagh ngogh HochvaD tu'lu'ta'bogh rapbe'chugh. ngogh HochvaD cheghlu'bogh system chenmoHta'lu'taH.
yIchenmoH 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 tlha' Dochmey potlh neH ngaSlaH. chu'moHlu'pa'bogh Dochmey ghom defaultmeyDaq cheghtaH. chu'moHlu'DI', pongDaj je ghItlhDaj Daj ghajnIS.
tlha' Doch-ghom chenmoHghach watchGroupActivityWhenCreated lajlaH je, chu'moHlu'be'bogh ghomHom chenmoHwI' bej listDaq taghnISchugh.
nejghach je poH qawlu'bogh taHbogh
POST /api/trackables/lookup bIngDaq Delu'ta'bogh character choHmey smudged motlh DeQavDI', HochvaD ngogh token qoj pegh ngogh run rurmoH.
GET /trackable/{code} naDev ngaj web Daq qonta' He 'oH; userpu' je API clientpu'vaD cha'lu'. HochvaD ngogh, pegh ngogh tIq, qoj QR token tIq lajlaH, 'ej mIw rapboghDaq botlh ghoSmoH.
GET /api/trackables/active tu'lu'chugh, client pegh-ngogh poH qawlu'bogh taHbogh DaHbogh Del.
GET /api/trackables/active/{trackableId} lI' landing payload nob; chu'moHghach poQghach je grouped Dochmey je, tu'lu'chugh, chennob.
POST /api/trackables/active/{trackableId}/message remembered Dotlh text choHmoH.
DELETE /api/trackables/active/{trackableId} clientvetlhDaq remembered pegh-ngogh poH qawlu'bogh QavmoH.
pegh-ngogh lookupmey je QR Suchmey Hotlh neH lI' client poH qawlu'bogh chenmoH, pegh mI' cheghmoHQo'. poH qawlu'bogh lI'vetlh pItlh QIn mIwmeyDaq tlha' Doch rarmeH chaw', ngogh Delqa'be'taHvIS.
rItlhwI' authentication ghajchugh, lookup wa'logh luchavta'DI' cha'lu'bogh rap tlha' Dochvetlh accountvetlhDaq rarlaH je, vaj pItlh janmey 'elmeHbogh tlha' Doch, ghom navDaj, je Hemey tlhejqa'ghach motlh poSqa'laH pegh tlhobqa'be'taHvIS.
web Daq deliberately nIt qonta' base He rap lo' wej formsvaD: /trackable/{publicCode}, /trackable/{secretCode}, je /trackable/{qrToken}.
Hol wIv automatic pItlhDI', /{lang}/trackable/{code} He wa' Doch landing renderlu'bogh 'oH, 'ach wav URL qoj printed URL rur cha'lu'be'nIStaH.
HochvaD-ngogh lookup rInDI', HochvaD nav cha'lu'bogh /{lang}/trackable/{publicCode}Daq tu'lu'.
rap qonta' Hevetlh QaptaHlaH, cherlu'ta'bogh ngaj-ngogh lengths pItlh choHchugh je, server ngogh lo'lu'bogh De' resolve-moHmo' je hard-coded web Daq He variationsDaq relybe'mo'.
ghajwI' botlh web Daq tlha' Doch He-mey HochvaD URL patDaq lanlu'be'; chovlu'ta' net.
pojvam QIn navmeyDaq je qap. ngogh HochvaD lo'lu' HochvaD tlha' Doch nav poSmeH; 'ach QIn rarmeH pegh ngogh mach tu'lu'ta'nIS pagh web leghwI' poH qawlu'bogh lI'-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, tlha' Doch ghom ghajbogh moj; ghom loHwI'pu' SeHlaH, je activating muvwI' control poltaH teamvetlhDaq taHtaHvIS. teamId tu'be'chugh, tlha' Doch nIteb ghajwI' ghajbogh moj.
ghomDaq Doch chu'moHlu'DI', ghajwI' Doch pong je Del le' pollaH pagh ghom motlh pong je Del DaHbogh ngabHa'meH ghItlh wachlaH.
detach je reattach ghommey
DELETE /api/trackables/{trackableId}/group DaH ghom rarghach teq.
POST /api/trackables/{trackableId}/group tlhej { "trackableGroupId": "..." } associates detached tlha' Doch tlhej chu' ghom.
POST /api/trackables/groups/{trackableGroupId}/watch ghom leghlaHbogh muvpu' DaHotchoHmoH. muvwI'-Doch watches same groupDaq botlhDaq ghom watchDaq DelmeH pe'laHtaH, je ghajwI'-pagh-bej overlap lo'wI' HochvaD deduplicatelu'.
DELETE /api/trackables/groups/{trackableGroupId}/watch mevDaqmey bejghach ghom.
tlha' Doch wa' ghom neH ghajlaH. detach-first pab server'e' pabmoH. original activator neH detached tlha' Doch rarlaHqa'; je ghoSmeH Daq ghom lo'wI''vetlh pagh eligible ghom loHwI' controlDaq ghaHnIS.
{
"trackableGroupId": "4bdffcab-bb51-4fd8-8c15-59f7b2d72c3f"
}
tlha' Doch qIDmey
GET /api/trackables/{trackableId}/comments
POST /api/trackables/{trackableId}/comments
PUT /api/trackables/{trackableId}/comments/{commentId}
DELETE /api/trackables/{trackableId}/comments/{commentId}
chu'moHlu'be'bogh tlha' Dochmey laHbe' receive qIDmey pagh leng mevDaqmey.
Daq'elbogh SuchwI'pu' qIDmey chenmoHlaHchu'. Daq'elbe'bogh SuchwI'pu' je qIDmey chenmoHlaH, 'ach ghItlh HochvaD browservetlhDaq lI' tlha' Doch poH qawlu'bogh tu'nISlu' qoj tlha' DochvetlhvaD pegh ngogh machvetlh qoj pegh QR token ngebqa'nISlu'.
qID yIchoHlaH qID ghItlhwI' neH, Daq'elbogh ghItlhwI' 'oHchugh. tlha' Doch ghajwI'pu' je DaH ghom adminpu' qIDmey qoj leng mevDaqmey Qaw'laH, 'ach latlhpu' mu'mey ghItlhqa'laHbe'.
{
"body": "Starting the route now.",
"accessCode": "LN4C8R2Z"
}
leng mevDaqmey nIteb
leng feed DaH immutable mevDaq history ghaH. QInmo' Qapbogh mevDaqmey QIn rarlu'taHvIS Daq snapshot, 'ej QIn chenmoHpa' nIt pu'jIn ja'ghachmey pollu'laH.
rarlu'bogh QIn pItlh Quv pImDaq movechoHchugh, tlha' Doch leng mevDaq snapped wa'DIch poltaHtaH, vaj logistics history peghchoHtaHvIS rewriteQo'.
pongHa' nIt ja'ghachmey pongHa' qIDmey pab rap tlhej: rItlhwI' web leghwI'vetlh lI' tlha' Doch poH qawlu'bogh 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 per-first place facts nob. Hoch point coordinateId, locationLabel, currentNotesAtCoordinate je tlhegh, vaj pa' coordinateDaq DaH leghlaHbogh QIn'mey cha'anglaH clientmey, 'ach reH wa' poltaHghach QIn ghajbogh mevDaq'e' DaHotnISbe'.
leng responses city, stateOrProvince, country je fieldmeyDaq outward place contract botlhHa'be' qaStaHvIS. locationLabel je Quvmey 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
leng navmey tlha' Doch pu'jInDaq lanlu'bogh Daqmey cha'laH, QIn 'op peghchugh je. DotlhmeyvetlhDaq leghwI'pu' unauthorized Daq point tlhaplaH, 'ach QIn De' Hubta'bogh tlhaplaHbe'.
authorized viewersvaD QIn pong, ghItlh, je QIn rarwI' noblu'chu' leng payload preloadedvo' je pu'jIn pin popupmeyvo'.
Qaw'ghach je poltaHghach
ta' wa' Qaw'lu'DI', tlha' Dochmey accountvetlhDaq qeqta'bogh Hoch Qaw'lu'be' ruch'egh. tlha' Dochmey chuqbogh pagh ghom ghajbogh taHlaH, lo'wI' Qaw'lu'ta'bogh nIteb Qu' ruchghach teqlaHbogh neH teqlu'taHvIS.
DaH retention botlhmey DaSovmeH, De' Qaw' nav je ta'-Qaw' API botlh yIlaD.
tlha' Doch mIw paqmey
tlha' Doch APIDaq 'elta'bogh ghajghach mIw naQ je pongHa' reporting mIw peghDaq Qapbogh mach tu'lu'.
rItlhmey tlheghmey tlheghlu'bogh, wuqmeH Daqmey, je ghItlh wach-paste examples DapoQchugh He catalog qaq law'be', bIngDaq dedicated navmey yIlo'.
QonoSta'bogh mIw
Doch Samlu'bogh lookupvo' web leghwI' pegh accessDaq, 'elmeH, chu'moHghach, QIn rarghach, nIt leng logging, SeHnuDghach, lelghach/deletion qelghach je qeltaH.
yIpoS toblu'bogh tlha' Doch api flow guide
Qagh nejghach
DaH tlha' Doch Seng-De' responsemeyDaq stable machine-readable ngogh De' Daq chellu'. Qagh reference nav yIlo'; failuremeyvaD likely causemey je fixes yISam.
yIpoS tlha' Doch api Qagh reference
ngeb QIn API QaH
Hur rarwI' QaH QIn, ghom, tlha' Doch, tlha' Doch-ghom, je muvmoH API'meyDaq tu'lu'. lo'wI'pu' 'ol endpoint wa'DIch lo'laH, 'ach chenmoH je update Hemey rarwI' verifyqa'laHtaH serverDaq polpa'.
QIn yIQov
POST /api/external-links/verify
Bearer token
ghItlh De' Daq 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, QIjmeH De' QIn ghaj, QaH URL ghaj, je ghoSmeH Daq web Daqvetlh 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
}
QIn, ghom, je muvmoH fieldmey
QIn, ghom, je muvmoH payloadmey yIchenmoHtaHvIS qoj yIchoHtaHvIS, externalLinkUrl je externalLinkDescription yIlo'. muvmoH QIn payloadDaq ApplyExternalLinkChanges teH 'oHchugh, server polpa' rarwI' Qovqa'.
CreateNoteRequest.ExternalLinkUrl
CreateNoteRequest.ExternalLinkDescription
CreateTeamRequest.ExternalLinkUrl
CreateTeamRequest.ExternalLinkDescription
UpdateTeamSettingsRequest.ExternalLinkUrl
UpdateTeamSettingsRequest.ExternalLinkDescription
NoteDto.ExternalLinkUrl
NoteDto.ExternalLinkDescription
NoteDto.ApplyExternalLinkChanges
tlha' Doch je ghom De' Daqmey
tlha' Doch chenmoHghach je update payloadmeyDaq externalLinkUrl, externalLinkDescription, je externalLinkAppendPublicTrackableCode lo'lu'. tlha' Doch-ghom chenmoHghach je update payloadmeyDaq defaultExternalLinkUrl, defaultExternalLinkDescription, je defaultExternalLinkAppendPublicTrackableCode lo'lu'. activationDaq, ghajwI' ghom motlhmey botlh tagh neHchugh, useGroupDefaultStatusMessage, useGroupDefaultTitle, useGroupDefaultDescription, je useGroupDefaultExternalLink lajlu' je.
TrackableGroupCreateInputModel.pongDaq tlhobghachmey QInmey, mI'mey, spacemey, je capital QInmey chaw'. server nav URL pongHom botlhDaq lowercase je underscoremey pol, je chenmoHpa' qaStaHvIS URL pongHomvetlh taH.
stored tlha' Doch pagh tlha' Doch-ghom motlh rarwI' optionvam chooschugh, click naQ tlha' Doch pageDaq taghchugh neH LN={publicCode} chel LocationNotes. ghom pagesDaq polta'bogh URL neH lo'taHlu', pa' wa'leS tlha' Doch ngogh tu'lu'be'mo'.
wa' tlhob rapDaq wa'DIch tracked Daq chenmoHlu'nISchugh, chu'moHghach DuH initialJourneyStopLatitude je initialJourneyStopLongitude lo'lu'bogh De'mey 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 'ollu'ta'bogh nav pong lo' qoj "Hur @@KEEP2@@ pong tu'lu'be'".
- ghoSmeH Daqmey qIlHa'lu'ta'bogh QaghlaH, URL form lughbe'chugh, host Daqvam pagh peghchugh, navDaq pawlu'laHbe'chugh, Qapcheghbe'chugh, pagh nenwI'-ngaSbogh Dochmey Deghmey tu'lu'chugh.
- HochvaD navmey Hur rarwI'pu' polta'bogh LocationNotes exit nav botlh Del, SuchwI' latlh tum destinationDaq straight ngeHbe'taHvIS.
nIn endpointmey
nIn chabe'ghach reH qup'a' Doch tlhej. rItlhwI' connected profilenav, notenav, ghomnav, trackablenav, pagh tlha' Doch-ghomnav poSlaHchugh, nInmeyDaj poSlaH je. qup'a' itemDaq chaw' tu'be'chugh, nIn tetlhDoch pagh chegh, je nIn SuqmeHmey nIt 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. web Daq je Android app API pabmey rap je teywI' Hemey rap lulo'.
nInmey ghajwI' botlh yItlhegh
GET /api/images/profiles/{userId}
pongHa' qoj Bearer
GET /api/images/notes/{noteId}
pongHa' qoj Bearer
GET /api/images/teams/{teamId}
pongHa' qoj Bearer
GET /api/images/trackables/{trackableId}
pongHa' qoj Bearer
GET /api/images/trackable-groups/{trackableGroupId}
pongHa' qoj Bearer
readsva'meH galleries yIpopulate. Doch Hoch mIllogh GUID, original dimensions, je mIlloghHom, small, medium, je large stored copies relative URLs qeng.
originalWidth je originalHeight, uploaded Hal mIllogh qechvaD Del. downloadlaHlu'bogh teywI'mey'e' resized stored variants neH 'oH, thumbnailUrl, smallUrl, mediumUrl, je largeUrl botlh rarbogh.
curl "https://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}
pongHa' qoj Bearer
variant mI'mey Qapbogh: mIlloghHom, small, medium, large. jang mIllogh/jpeg cheghmoH.
/Images/{Variant}/{guid}-{size}.jpg bIngDaq web Daq teywI' URLmey qup'a'-leghlaHghach pab rap lupoQ mIllogh bytes jablu'pa'. vaj nIt mIllogh rarwI'mey nuv nav, QIn, ghom, tlha' Doch, qoj tlha' Doch-ghom permissions rarboghDaq qaDtaH.
curl -L "https://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 teywI' De' Daq pongbogh teywI' neH yIngeH. target SeHlaHmeH chaw' Daghajta'nIS, ghom navmeyvaD ghom-loHwI' chaw' je qup'a' Seghmey latlhvaD choHmoHmeH chaw' motlh botlh. uploads naDlu' polpa', vaj JPEG copies size choHlu'ta'bogh neH polta'lu'.
curl -X POST "https://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' mIlloghmey
DELETE /api/images/{contentImageId}
Bearer token
Qaw'ghach qup'a'-SeHghach chav rap poQ, chelghach rap. Qaw'lu'chu'DI', ngaSbogh Dochmey-mIllogh tlhegh je variants resized polta'lu'bogh Hoch rap teqlu'.
API lo'wI'pu' HTTP Qaw' ngeHnIS naDev. URLvam web leghwI' Quv barDaq yIlanQo'; pa' GET ngeHlu', vaj 405 chegh. Hevam SuqmeH nav 'oHbe'.
web leghwI' gallery Qaw' mIwmey anti-forgery protection polmeH, web Daq Qaw' leQmey localized form He /{culture}/images/{contentImageId}/delete lo'.
curl -X DELETE "https://locationnotes.com/api/images/f1d52aa2-4d59-49bf-8d21-7d0b4e9e57f1" \
-H "Authorization: Bearer <access token>"
nuq 'oH nIn'e'? mIwmeyvam qav cha'ghach, naDghach, ja'ghach ghItlhghach, size choHghach, lelghach, je Qaw'ghach pabmey Del.
compliance ja'ghach ghItlhghach
rapbe'bogh-ngaSbogh Dochmey ja'ghachmey, tracked system Qaghmey, je web Daq QaH tlhobghach flow QapmoHbogh QaH-ticket QonoSmey rapvaD Hemeyvam yIlo'.
pongHa' rItlhers ja'ghachmey noblaH, 'ach pIq API botlh Dotlh updates je super-loHwI' resolutions tlhejlaH 'elta'bogh reporters neH.
ja'ghach yInob
POST /api/compliance/reports
pongHa' qoj Bearer
web Daq cookie pagh bearer tokenmo' rItlhwI' 'ollu'chugh, ja'ghach 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
pongHa' qoj Bearer
API He unexpected 500 botlh QapHa'ta' je Seng-De' JSONDaq ticketNumber nobta'chugh, pa' ticketvetlh naDev yIghItlh; cha'logh Qagh QonoS tlhegh yIchenmoHQo'. rItlhwI' super-loHwI' tlhejqa'ghach 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, Qagh QonoS 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 lo'lu'bogh De'mey URL, Android jIH, pagh Android background task rur yIlo'. server-chenmoHlu'bogh 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
Hemeyvam rItlhwI' reportDaj neH nob, rItlhwI' super-loHwI' 'oHbe'chugh. ngaSbogh Dochmey ja'ghachmey je tracked system Qaghmey botlh Reported, Reviewing, pagh Resolved cha'meH lulo'laH, je qav resolution QIn 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-loHwI' naDghach
GET /api/compliance/reports
Bearer je SuperAdmin
PUT /api/compliance/reports/{contentReportId}
Bearer je SuperAdmin
loHwI' listDaq ja'ghach rarwI', nav De', offending-ngaSbogh Dochmey De', reporter identity tu'lu'chugh, je nuD QIn motlh chellu'. updates DaH nuD state je leghlaHbogh resolution text ghItlh.
{
"status": 1,
"resolutionText": "Review opened and queued for follow-up."
}
ja'ghach resolved DachoHmoHDI', Dotlh cha' yIghajmoH je resolutionText chImbe'bogh yIchel.
enum mI'ghachmey
pageType: 0 nuv nav nav'e', 1 ghom nav'e', 2 QIn nav'e', 3 tlha' Doch nav'e', 4 tlha' Doch ghom nav'e', 5 system Qagh, 6 QaH nav
contentType: 0 pong, 1 ghItlh, 2 qID QIn, 3 QIn, 4 bio De', 5 pong je ghItlh, 6 Qagh De', 7 mIllogh Doch, 8 QaH poQghach
status: 0 QInlu'ta', 1 naDlu'taH, 2 rurbogh
web Daq nav patlh ja'ghachmey DaH 5 lo', vaj ja'ghach leQ wa' leghlaHbogh pong je leghlaHbogh Delghach/body wa'logh qaplaH. qID-patlh ja'ghachmey qID-naQ ngaSbogh Dochmey types lo'taH.
web Daq QaH ra'mey motlh QaH nav je QaH tlhobghach tickets yIchenmoHtaH COMPLIANCE.ContentReports store rapDaq, 'ach web leghwI' form QaH nav lo' taH, tlhol API Hevam lo'be'.
tracked web Daq, API, je Android app Qaghmey QonoS.QaghmeyDaq pollu'. trackInSupportTickets chaw'lu'DI', rarlu'bogh QaH ticket COMPLIANCE.ContentReportsDaq je cha'lu', vaj super-loHwI' nuD je reporter Dotlh mIw rap tlhej.
system je beta De'
GET /api/system/status
pegh pagh pong ghajbe'
health checkmey, Android compatibility gating, beta-nav URL DaHtaHbogh, je DaH tlhobghach pu'jIn/privacy stateQe'Daq Dochvam yIlo'.
GET /api/system/beta-android
pegh pagh pong ghajbe'
staged Android beta De' cheghmoH: display version, version ngogh, version compat minimum, je release QInmey ngaS.
GET /api/system/ip-location
pegh pagh pong ghajbe'
pu'jIn centering je troubleshootingvaD, DaH tlhobghach IP botlh Daq law' potlhbogh nob.
client IP pegh, Daqvam, pagh trustedbe'chugh, HTTP 200 ratlh jang je lujghach
failureReason
transport Qagh chenmoHbe'taHvIS.
GET /api/system/coordinate-locality
pegh pagh pong ghajbe'
mevDaq-planner je pu'jIn-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', 'elmeH preference tlhobghach-time peghghach pabmey QaptaH'a' pagh no_3rd_partiesDaq forcedlu'pu'' net SovmoH.
- requestedMapSource, preferredMapSource, je fallbackMapSource tell SoH lo'wI' nobwI' nuq tlhobta', server nobwI' nuq wa'DIch QattaH, je preferred Hal Qapbe'chugh nobwI' nuq QapnIS.
- thirdPartyBrowserCallsAllowed, googleMapsAllowed, je openStreetMapAllowed tell SoH tlhobghachvam web leghwI'-side providerpu' Dalo'laH''.
- hostedMapsForcedByPrivacy botlh hostedMapTileUrlTemplate tell SoH tlhobghach same-origin pa'vamDaq tilemeyDaq forcedlu'pu'bogh, DaH
/maps/tiles/{z}/{x}/{y}.png.
pegh-network, Daqvam-network, je IPmey resolution ghajbe'bogh deliberate mIw stricter lo'. vaj localhost pagh office-network test no_3rd_parties je hosted_maps cha'laH, Qonlu'bogh-Daq preference nImtaHchugh je.
curl "https://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://locationnotes.com/tlh-US/account/beta",
"requestedExperienceMode": "latest_and_greatest",
"effectiveExperienceMode": "no_3rd_parties",
"usesSavedExperienceModePreference": false,
"usesVisitorExperienceModePreferenceCookie": false,
"thirdPartyBrowserCallsAllowed": false,
"requestedMapSource": "openstreetmap",
"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://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://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": ""
}
He inventory pat
qechvam DaH LocationNotes API surfacevaD verb je He checklist naQ 'oH; framework SeHbogh identity Hemey /api/auth bIngDaq cheltaHvIS. nuHDaq ay'mey botlh mIwmey Del. inventoryvam He patlh Hal bopbogh truth 'oH, 'ej QaptaHbogh endpoint table rapnIS.
yIQaw' ta' vo' api
QonoSta'bogh clients API botlh DaH ta' je synced nIteb De' permanently Qaw'laH. yIlaD
De' yIQaw'
ghom ghajbogh De' je exportsvaD retention yIpabmeH mIw Hoch DaneHchugh, wa'DIch nav yIlegh.
tlha' Doch cleanup Hoch pagh pagh 'oHbe'. server lo'wI' Qaw'lu'ta'bogh nIteb Qu' ruchghach trackablevetlhDaq teqlaHbogh teq, 'ach tlha' Dochmey chuqbogh, ghom ghajbogh tlha' Dochmey, pagh qun lo'wI'pu' latlhpu' teqbe', ta' wa' Qaw'lu'mo' neH.
ghom ghajbogh tlha' Doch teamvaD potlhtaHchugh, teamvetlhDaq taH. latlh nuv Qu' ruchghach trackableDaq ratlhtaHchugh, tlha' Dochvetlh systemDaq taH.
DELETE /api/account
Bearer token
curl -X DELETE "https://locationnotes.com/api/account" \
-H "Authorization: Bearer <access token>"
{
"deletedAccount": true,
"notesDeleted": 14,
"categoriesDeleted": 6,
"linkedProvidersDeleted": 2
}
Qaghmey je Seng ghItlhmey
naDHa'ghach, chavHa'ghach, je nejHa'ghach Qaghmey standard HTTP Dotlh ngoghmey cheghmoH. vum Daq mIwmey law' RFC 7807 style Seng-De' JSON nob; pong, QIjmeH De', je Dotlh 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-pab rejectionvaD
401 QonoSghach tu'be'lu'bogh qoj Qapbe'boghvaD
403 chaw' ghajbe'bogh toblu'bogh usersvaD
404 QIn'mey, Seghmey, ghommey, ghomwI'ghachmey, qoj muvmeH rItlh QInmey tu'be'lu'boghvaD
tlha' Doch write Hemey stable ngogh 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
tlha' Doch Qagh reference nav.