mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2026-02-26 20:26:02 -05:00
1.6 KiB
1.6 KiB
name, description
| name | description |
|---|---|
| api-development | Develop and extend NetAlertX REST API endpoints. Use this when asked to create endpoint, add API route, implement API, or modify API responses. |
API Development
Entry Point
Flask app: server/api_server/api_server_start.py
Existing Routes
/device/<mac>- Single device operations/devices- Device list/devices/export/{csv,json}- Export devices/devices/import- Import devices/devices/totals- Device counts/devices/by-status- Devices grouped by status/nettools- Network utilities/events- Event log/sessions- Session management/dbquery- Database queries/metrics- Prometheus metrics/sync- Synchronization
Authorization
All routes require header:
Authorization: Bearer <API_TOKEN>
Retrieve token via get_setting_value('API_TOKEN').
Response Contract
MANDATORY: All responses must include "success": true|false
return {"success": False, "error": "Description of what went wrong"}
On success:
return {"success": True, "data": result}
return {"success": False, "error": "Description of what went wrong"}
On success:
return {"success": True, "data": result}
Exception: The legacy /device/<mac> GET endpoint does not follow this contract to maintain backward compatibility with the UI.
Adding New Endpoints
- Add route in
server/api_server/directory - Follow authorization pattern
- Return proper response contract
- Update UI to read/write JSON cache (don't bypass pipeline)