EALPR_FLASK / Apis DOCS /Endpoints.md
Pant0x's picture
Final synced deploy v2 - Fix session and timeouts
cd01269
|
Raw
History Blame Contribute Delete
4.39 kB
# Ain El Aql - Endpoints Reference
This document catalogs all the REST API endpoints available in the backend. Use this as a reference guide when integrating or building frontend clients (Websites, Flutter Apps, dashboards, etc.).
---
## 🏠 Public & Utility
| Method | Endpoint | Description |
|---|---|---|
| `GET` | `/` | Base API sanity check |
| `GET` | `/health` | Application health status |
| `GET` | `/supabase/health` | Supabase connectivity health check |
---
## πŸ” Authentication (`/auth`)
*Most of these rely on Supabase Auth. They handle user sessions, passwords, and OTP logic.*
| Method | Endpoint | Description |
|---|---|---|
| `POST` | `/auth/register` | Register a new user |
| `POST` | `/auth/login` | Login to receive a JWT session token |
| `POST` | `/auth/forgot-password` | Request a password reset link |
| `POST` | `/auth/reset-password/resolve-token` | Validate the token from the reset email |
| `POST` | `/auth/reset-password` | Update password |
| `GET` | `/auth/reset-password-page` | Web UI for resetting password |
| `GET` | `/auth/reset-password-bridge` | Mobile deep-link bridge for password reset |
| `POST` | `/auth/otp/request` | Request an OTP code via Email/Phone |
| `POST` | `/auth/otp/verify` | Verify the requested OTP code |
---
## πŸ‘€ Profile & Vehicles
*Requires `Authorization: Bearer <token>`.*
| Method | Endpoint | Description |
|---|---|---|
| `PUT` | `/profile/update` | Update authenticated user's profile info |
| `POST` | `/vehicles/add` | Add a new vehicle to user's profile |
| `GET` | `/vehicles/my` | List authenticated user's vehicles |
| `PUT` | `/vehicles/{vehicle_id}` | Edit an existing vehicle |
| `DELETE` | `/vehicles/{vehicle_id}` | Delete/Unlink a vehicle |
| `POST` | `/vehicles/verify` | Request admin verification for a vehicle |
---
## πŸ”” Notifications
*Requires `Authorization: Bearer <token>`.*
| Method | Endpoint | Description |
|---|---|---|
| `POST` | `/notifications/fcm-token` | Register an FCM (Firebase) token for push notifications |
| `GET` | `/notifications/my` | Get user's personal notification feed |
---
## πŸ€– AI Models & Inference Core
*The core AI pipeline execution paths.*
| Method | Endpoint | Description |
|---|---|---|
| `GET` | `/models` | List available AI models |
| `GET` | `/developer/models` | Diagnostic data for loaded models |
| `POST` | `/predict` | **Main Pipeline:** Upload image, run OCR, update parking session, return gate decision. |
| `POST` | `/model/infer` | Remote model execution endpoint (Hugging Face integration) |
| `POST` | `/developer/predict` | Developer debugging for predictions |
---
## πŸ…ΏοΈ Parking, Events, and History
*Requires `Authorization: Bearer <token>`.*
**Role-aware endpoints:** Regular users only see data for their own vehicles. `admin` and `security` roles see all data globally across the entire garage.
| Method | Endpoint | Description |
|---|---|---|
| `GET` | `/parking/locations` | Get garage capacities, pricing rules, and occupancy snapshot |
| `GET` | `/parking/occupancy` | Get pure occupancy statistics |
| `GET` | `/events/entered-cars` | Feed of cars that entered the garage |
| `GET` | `/events/leaving-cars-within-5-minutes` | Feed of cars currently in their exit grace period |
| `GET` | `/events/left-cars` | Feed of cars that have exited the garage completely |
| `GET` | `/events/inside-cars` | Live feed of cars currently physically inside the garage |
| `GET` | `/parking/history` | Historical log of all parking sessions |
---
## πŸ’³ Payments & Gate Control
| Method | Endpoint | Description |
|---|---|---|
| `POST` | `/payments/paymob/create` | Initialize a Paymob iframe checkout URL |
| `POST` | `/payments/paymob/webhook` | Webhook listener for Paymob status updates |
| `POST` | `/gate/decision` | Evaluate if the physical gate should open based on payment status |
---
## πŸ›‘οΈ Administrative & Security (Strict RBAC)
*Requires `Authorization: Bearer <token>` with either `admin` or `security` role.*
| Method | Endpoint | Description |
|---|---|---|
| `GET` | `/events/new-cars` | Real-time polling feed of cars pulling up to cameras (Security Dashboard) |
| `POST` | `/payments/manual/cash-confirm` | Security action to bypass payment and manually mark session as paid via cash |
| `POST` | `/admin/maintenance/weekly-refresh` | Internal backend maintenance and cleanup task |