Axios client configured in frontend/src/plugins/api.js with base URL from VITE_API_URL. Composables (useServices.js, useIncidents.js, etc.) wrap API calls with reactive state. JWT token attached via Authorization header in admin requests. CORS configured in Express backend.
Commit: 963afb5 (Phase 3)