Skip to content

HTTP Endpoints

This reference is aligned with server/src/routes/http.ts.

Auth labels in this page:

  • None: no auth
  • Auth: authenticated user
  • Admin: admin-only
  • Token/Auth: navigation token or authenticated user

Authentication and users

MethodsPathAuth
GET/.well-known/jwks.jsonNone
POST/loginNone
POST/registerAdmin
POST/change-passwordAuth
GET, DELETE/users/:userIdAdmin
GET/usersAdmin

Beacons and gateways

MethodsPathAuth
GET/beacon/:mac/infoAdmin
GET/beacon/:id/intervalsAuth
GET, POST, DELETE/beacon/:idAdmin for mutating methods
GET/beacons/:limitAdmin
GET, POST/beaconsAuth, Admin for POST
GET, POST, DELETE/gateway/:idAdmin for mutating methods
GET, POST/gatewaysAuth, Admin for POST

Locations, logs, and events

MethodsPathAuth
GET, POST/locationsAuth, Admin for POST
GET/logsAuth
GET/eventsAuth
GET/events/exportAdmin

Maps

MethodsPathAuth
GET/maps/overviewAuth
GET/maps/imageAuth
GET/maps/:id/overviewAuth
GET/maps/:id/zonesAuth
GET/maps/:id/gatewaysAuth
GET, POST, DELETE/map/:idAdmin for mutating methods
POST/maps/uploadAdmin
GET, POST/mapsAuth, Admin for POST

LLD and status

MethodsPathAuth
GET/lld/beaconsNone
GET/lld/gatewaysNone
GET/versionNone
GET/status/kissAuth
GET/status/mqttAuth

Import and deploy

MethodsPathAuth
GET/import/beaconsAdmin
GET/import/gatewaysAdmin
POST/deployNone

Tracking

MethodsPathAuth
GET/tracking/start/:algAdmin
GET/tracking/stopAdmin
GET/tracking/statusAuth
GET/tracking/algorithms/currentAuth
GET/tracking/algorithmsAuth
GET/tracking/:idAuth (non-admin: active trackable beacons only; admins: any MAC)

Simple-user RTLS (read-only)

These routes require the rtls server feature. They return 400 when RTLS is disabled.

MethodsPathAuth
GET/user/rtls/trackable-beaconsAuth
GET/user/rtls/beacons/:mac/zone-intervalsAuth

Query parameters for zone intervals: limit (default 30, max 200), cursor (offset into newest-first interval list; next_cursor in the response is the value to pass for the next page, or null when exhausted).

MethodsPathAuth
GET, POST/floorsAuth, Admin for POST
GET, POST, DELETE/floor/:idAdmin for mutating methods
GET, POST/floor/:id/nodesAdmin for POST
POST, DELETE/node/:idAdmin
GET, POST/floor/:id/edgesAdmin for POST
POST, DELETE/edge/:idAdmin
GET, POST/floor/:id/graphAuth for GET, Admin for POST
GET, POST/navigation/tokensAdmin
DELETE/navigation/token/:idAdmin
GET/navigation/mobile-keyAuth
GET/navigation/mobile/snapshotToken/Auth
GET/navigation/mobile/catalogToken/Auth
GET/navigation/mobile/project/:idToken/Auth
GET/navigation/project/:idToken/Auth
GET/navigation/project/:id/shaToken/Auth
GET/navigation/floor/:id/mapToken/Auth
POST/navigation/pathfindToken/Auth

Features, sensors, and Grafana datasource

MethodsPathAuth
GET/featuresAuth
GET, PATCH/settingsAdmin
GET/sensors/alertsAdmin
GET/sensors/devicesAuth
GET/sensors/historyAuth

Long since/until spans are downsampled on the server (latest reading per time bucket per device and metric) so responses stay bounded; short spans return raw rows (subject to a row cap). | GET | /grafana | Localhost or Auth | | POST | /grafana/search | Localhost or Auth | | POST | /grafana/metrics | Localhost or Auth | | POST | /grafana/query | Localhost or Auth |

Static frontend assets

MethodsPath
GET/
GET/index.html
GET/css/:filename
GET/js/:filename
GET/images/:filename
GET/webfonts/:filename