SAPOT Server API
SAPOT is a disaster/emergency-response LAN communication platform. The server is built with FastAPI/Python and exposes a REST and WebSocket API consumed by the SAPOT mobile application.
Admin API
Machine-readable spec: openapi/admin.yaml (generated from the live FastAPI app).
Account Recovery API
Machine-readable spec: openapi/auth-and-recovery.yaml (generated from the live FastAPI app — regenerate if this file goes stale).
Authentication API
Machine-readable spec: openapi/authentication.yaml (generated from the live FastAPI app — includes both auth.router and verify_email.router). See it for exact request/response field schemas, types, and constraints (e.g. username/password length limits, email/phone format).
Captive Portal API
Machine-readable spec: openapi/captive-portal.yaml (generated from the live FastAPI app).
API Conventions
Cross-cutting behavior shared by every endpoint. For any single endpoint's exact field-level request/response schema, see the relevant openapi/*.yaml fragment (linked from each feature's .md file) rather than this page.
GPS API
Machine-readable spec neither REST route declares a response_model, so the generated YAML's 200 response schema is empty ({}) — the JSON examples below are the only documented shape for these responses.
GSM / SMS API
Machine-readable spec: openapi/gsm-sms.yaml (generated from the live FastAPI app).
Keys and Encryption API
Machine-readable spec: openapi/keys-and-encryption.yaml (generated from the live FastAPI app — covers keys.router, wrappedkey.router, userkeys.router).
Messaging and WebSocket API
Machine-readable spec: openapi/messaging-and-websocket.yaml (generated from the live FastAPI app — REST routes only; the /ws/ WebSocket route is not representable in OpenAPI and is documented in prose below).
MikroTik Telemetry API
Machine-readable spec: openapi/mikrotik-telemetry.yaml (generated from the live FastAPI app).
Profile Picture API
Machine-readable spec: openapi/profile.yaml (generated from the live FastAPI app).
Sync API
Machine-readable spec: openapi/sync.yaml (generated from the live FastAPI app).