Appearance
Links and API
This page collects the key URLs for the deployed system (docs + API) and a lightweight API reference.
Docs
- Docs (canonical):
https://docs.nwatch.app - Privacy policy:
https://nwatch.app/au/privacy - Terms of Service:
https://nwatch.app/au/terms - Account deletion:
https://nwatch.app/au/account-deletion - Security:
https://nwatch.app/au/security - Support & FAQ:
https://nwatch.app/au/support
Admin dashboard
- Manager portal (Firebase identity):
https://portal.nwatch.app - Super-admin login (Cloudflare Zero Trust):
https://admin.nwatch.app
API (Cloudflare Worker)
- API base:
https://api.nwatch.app - Health check:
GET /health
Notes:
- The API is separate from the docs site. The Worker root
/returns JSON (it is not a website). - Authenticated endpoints require
Authorization: Bearer <Firebase ID token>.
Endpoints (Worker)
Public:
GET /(service info)GET /health
Authenticated (member):
POST /v1/registerDevicePOST /v1/registerCryptoPOST /v1/joinGroupPOST /v1/triggerIncidentPOST /v1/deleteAccountGET /v1/meGET /v1/me/membershipGET /v1/groups/:groupId/keysGET /v1/incidents/:groupId/:incidentId/envelopeGET /v1/groups/:groupId/activeIncident
Authenticated (ordinary manager portal, Firebase ID token):
GET /v1/portal/mePOST /v1/portal/checkoutPOST /v1/portal/groupsGET /v1/portal/groups/:groupIdPOST /v1/portal/groups/:groupId/invitesPOST /v1/portal/groups/:groupId/revokeInvitePOST /v1/portal/groups/:groupId/members/:uid/statusPOST /v1/portal/groups/:groupId/members/:uid/rolePOST /v1/portal/groups/:groupId/testAlertPOST /v1/portal/groups/:groupId/statusPOST /v1/portal/groups/:groupId/archivePOST /v1/portal/groups/:groupId/seatsGET /v1/portal/groups/:groupId/incidents/:incidentId/decryptPOST /v1/portal/groups/:groupId/incidents/:incidentId/resolve
Cloudflare Access administration uses separate /v1/admin/* and /v1/superadmin/* routes. Those routes are not ordinary manager-portal APIs; do not infer access from the path.
Swagger / OpenAPI
NWatch does not currently publish an OpenAPI file. The former file documented only a legacy subset and described the administrative authentication boundary incorrectly, so it was removed rather than presented as a current contract. A future generated specification must distinguish Firebase member and portal tokens from Cloudflare Access administration before it is published.