API Overview¶
Previous: Data Model
Next: AI System
The backend API powers dashboard operations and mobile flows.
Prefix and mounting behavior¶
- Most routers are accessible at both root and
/api(for compatibility). - Predictions routes are mounted under
/apionly. - This document uses
/api/...examples for consistency.
1) Auth¶
POST /api/auth/loginGET /api/auth/mePATCH /api/auth/me
2) Ticket and SLA endpoints¶
Core:
GET /api/ticketsGET /api/tickets/{ticket_id}POST /api/ticketsPATCH /api/tickets/{ticket_id}PATCH /api/tickets/{ticket_id}/statusDELETE /api/tickets/{ticket_id}
Export/report/media:
GET /api/tickets/exportGET /api/tickets/{ticket_id}/reportGET /api/tickets/{ticket_id}/pdf-reportPOST /api/tickets/{ticket_id}/media
SLA/escalation:
GET /api/tickets/sla/breachesGET /api/tickets/sla/escalatedPOST /api/tickets/{ticket_id}/force-breach(admin-only override)
Tenant/technician lifecycle:
POST /api/tickets/{ticket_id}/tenant_confirmPOST /api/tickets/{ticket_id}/tenant_request_changesPOST /api/tickets/{ticket_id}/tenant_escalatePOST /api/tickets/{ticket_id}/technician_confirmPOST /api/tickets/{ticket_id}/technician_declinePOST /api/tickets/{ticket_id}/start_jobPOST /api/tickets/{ticket_id}/complete_jobPATCH /api/tickets/{ticket_id}/worklogPATCH /api/tickets/{ticket_id}/reschedule
3) Chat and messaging¶
AI intake and media:
POST /api/chatPOST /api/upload-imageGET /api/uploads/{storage_key}
Conversations/messages:
GET /api/chat/recipientsGET /api/chat/conversationsGET /api/chat/conversations/{other_user_id}/messagesPOST /api/chat/messagesDELETE /api/chat/messages/{message_id}DELETE /api/chat/messages/conversation/{conversation_id}GET /api/chat/tickets/{ticket_id}/messages
4) AI and feedback¶
GET /api/ai/statusPATCH /api/ai/logs/{log_id}/feedbackPOST /api/tickets/{ticket_id}/feedback
5) Admin and metrics¶
Selected implemented endpoints:
- Buildings/apartments:
GET /api/buildingsGET /api/buildings/{building_id}/apartmentsPOST /api/admin/buildingsPOST /api/admin/apartmentsPATCH /api/admin/apartments/{apartment_id}- Users/tenants:
GET /api/admin/usersPOST /api/admin/usersPATCH /api/admin/users/{user_id}POST /api/admin/tenantsGET /api/tenants- Technicians:
GET /api/techniciansGET /api/technicians/availablePATCH /api/admin/technicians/bulkDELETE /api/admin/technicians/bulk- Tickets bulk/admin:
DELETE /api/admin/tickets/bulkPOST /api/admin/tickets/bulk-deleteDELETE /api/admin/tickets/{ticket_id}- Config/metrics/audit:
GET /api/admin/system-configPUT /api/admin/system-configGET /api/metrics/systemGET /api/metrics/sla-compliance-trendGET /api/admin/audit-logsGET /api/users/me/settingsPUT /api/users/me/settings
6) Predictions (/api only)¶
GET /api/predictions/apartmentsGET /api/predictions/apartments/{apartment_id}GET /api/predictions/systemsGET /api/predictions/buildingsGET /api/predictions/summary
7) WebSocket contract¶
GET /ws/notifications/{user_id}?token=<JWT>
Used for ticket/chat/assignment notifications across dashboard and mobile clients.
Previous: Data Model
Next: AI System