Skip to main content

Endpoint reference

MethodRouteAuthPurpose
GET/healthPublicBasic health check
GET/health/readyPublicReadiness probe (checks DynamoDB)
GET/app/configPublicApp version config & maintenance mode
GET/PublicAPI docs index

GET /health

Returns a simple 200 OK if the server process is running. Does not check downstream dependencies.
{
  "status": "ok"
}
Use this for liveness probes in container orchestration (ECS, Kubernetes).

GET /health/ready

Performs a lightweight DynamoDB operation to confirm the database is reachable. Returns 200 on success or 503 Service Unavailable on failure.
{
  "status": "ready"
}
Use this for readiness probes — your load balancer should only route traffic to instances that pass this check.

GET /app/config

Returns the current app configuration. The mobile client uses this on launch to determine whether to force-update or show a maintenance screen.
minAppVersion
string
Minimum supported app version (semver). Clients below this version are force-updated.
storeUrl
string
URL to the App Store listing. Used by the force-update prompt.
maintenanceMode
boolean
When true, the client shows a maintenance screen and blocks all API calls.
{
  "minAppVersion": "1.2.0",
  "storeUrl": "https://apps.apple.com/app/sightscreen/id123456789",
  "maintenanceMode": false
}
These values are controlled by the environment variables MIN_APP_VERSION, STORE_URL, and MAINTENANCE_MODE. Changes take effect immediately without redeployment — just update the env vars and restart the service.