PHAROS DATA ARK · 2026-10-29-01024f5b59
REST API
The API exposes the Ark's status, library, network, configuration, community and household-backup services. Public requests use the /api prefix through Apache; the application backend listens on loopback port 8000.
References
- API reference: interactive on the Ark and a read-only reference on the public website.
- Versioned OpenAPI JSON: the contract exported with this software edition.
- Live OpenAPI JSON: the contract served by the running Ark.
- Status contract.
The generated reference lists every published OpenAPI operation and model. Portal probe routes are intentionally separate; see AP welcome portal. Request bodies validated manually by helpers may need the corresponding administration guide as well as the schema.
Access and authorization
Ordinary reading and public status requests do not require a reader account. Protected operations validate authorization on each request. Caretaker HTTP Basic authorization uses username admin and the configured caretaker password; it is separate from the Pi's Linux login and the hotspot name.
The browser can retain caretaker authorization for the requested bounded interval. Caching does not remove server checks or confirmations for destructive operations. The integration token has its own limited household-control scope and does not grant general caretaker access.
Read a status response
curl http://dataark/api/status
A successful queue response means work was accepted; use the corresponding status and inventory views to follow completion. Installation, activation, removal and restore operations have their own validation and transaction behavior.
Operating guides
- Library management
- Network and caretaker administration
- Configuration
- Community board
- Household bug-out backups
- Architecture and privilege boundary
Keeping the contract current
The repository is authoritative for the API code and its documentation. Software deployment exports the schema from that source using venv/bin/python tools/export_openapi.py, then builds the offline and website references from the same JSON. The public website reference does not execute device-control requests.