CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

63

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/api-development/SKILL.md
SKILL.md
Quality
Evals
Security

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

  1. Add route in server/api_server/ directory
  2. Follow authorization pattern
  3. Return proper response contract
  4. Update UI to read/write JSON cache (don't bypass pipeline)
Repository
netalertx/NetAlertX
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.