Systems Carpool API
Next.js backend for the Flutter carpool app — full REST API.
Endpoints (45)
| Method | Path | Auth |
|---|---|---|
| GET | /api/health | None |
| GET | /api/v1/auth/entra/authorize | None (redirects to Microsoft) |
| POST | /api/v1/auth/admin/login | None (admin) |
| GET | /api/v1/auth/me | Bearer |
| GET | /api/v1/users | Admin |
| POST | /api/v1/users | Admin |
| GET | /api/v1/users/:id | Bearer |
| PATCH | /api/v1/users/:id | Bearer (self/admin) |
| DELETE | /api/v1/users/:id | Admin |
| GET | /api/v1/rides | None |
| POST | /api/v1/rides | None |
| GET | /api/v1/rides/:id | None |
| PATCH | /api/v1/rides/:id | Bearer (driver) |
| DELETE | /api/v1/rides/:id | Bearer (driver) |
| GET | /api/v1/vehicles | None |
| POST | /api/v1/vehicles | Bearer |
| GET | /api/v1/vehicles/:id | None |
| PATCH | /api/v1/vehicles/:id | Bearer (owner) |
| DELETE | /api/v1/vehicles/:id | Bearer (owner) |
| GET | /api/v1/ride-requests | None |
| POST | /api/v1/ride-requests | None |
| GET | /api/v1/ride-requests/:id | None |
| PATCH | /api/v1/ride-requests/:id | None |
| GET | /api/v1/bookings | Alias → ride-requests |
| PATCH | /api/v1/bookings/:id | Alias → ride-requests |
| GET | /api/v1/notifications | Bearer |
| POST | /api/v1/notifications | Admin |
| PATCH | /api/v1/notifications | Bearer (mark all read) |
| PATCH | /api/v1/notifications/:id | Bearer |
| DELETE | /api/v1/notifications/:id | Bearer |
| GET | /api/v1/office-locations | None |
| POST | /api/v1/office-locations | Admin |
| PATCH | /api/v1/office-locations/:id | Admin |
| DELETE | /api/v1/office-locations/:id | Admin |
| GET | /api/v1/saved-locations | Bearer / user_id |
| POST | /api/v1/saved-locations | Bearer |
| PATCH | /api/v1/saved-locations/:id | Bearer |
| DELETE | /api/v1/saved-locations/:id | Bearer |
| GET | /api/v1/recurring-rides | None |
| POST | /api/v1/recurring-rides | Bearer |
| GET | /api/v1/recurring-rides/:id | None |
| PATCH | /api/v1/recurring-rides/:id | Bearer |
| DELETE | /api/v1/recurring-rides/:id | Bearer |
| GET | /api/v1/admin/rides | Admin |
| GET | /api/v1/admin/stats | Admin |