{"message":"Welcome to TripTech API","status":"Running","version":"1.0.0","documentation":"Visit /api-docs for interactive Swagger UI","baseUrl":"https://api.transverrahub.com","authentication":{"method":"JWT Bearer Token","loginEndpoint":"POST /api/auth/login","example":"Authorization: Bearer <access_token>"},"endpoints":{"authentication":{"login":"POST /api/auth/login","refreshToken":"POST /api/auth/refresh-token","logout":"POST /api/auth/logout (protected)","verifyOtp":"POST /api/auth/verify-otp","description":"User authentication and token management"},"vendors":{"list":"GET /api/vendors (protected)","getById":"GET /api/vendors/:id (protected)","create":"POST /api/vendors (protected)","update":"PUT /api/vendors/:id (protected)","updateStatus":"PATCH /api/vendors/:id/status (protected)","delete":"DELETE /api/vendors/:id (protected)","description":"Manage vendor/business operations"},"drivers":{"list":"GET /api/drivers (protected)","available":"GET /api/drivers/available (protected)","getById":"GET /api/drivers/:id (protected)","create":"POST /api/drivers (protected)","update":"PUT /api/drivers/:id (protected)","delete":"DELETE /api/drivers/:id (protected)","description":"Manage driver records and availability"},"vehicles":{"list":"GET /api/vehicles (protected)","byStatus":"GET /api/vehicles/status/:status (protected)","getById":"GET /api/vehicles/:id (protected)","create":"POST /api/vehicles (protected)","update":"PUT /api/vehicles/:id (protected)","updateStatus":"PATCH /api/vehicles/:id/status (protected)","delete":"DELETE /api/vehicles/:id (protected)","getReservations":"GET /api/vehicles/reserve (protected)","deleteReservations":"DELETE /api/vehicles//reservations/:reservationId (protected)","description":"Manage vehicle fleet and status"},"owners":{"list":"GET /api/owners (protected)","getById":"GET /api/owners/:id (protected)","create":"POST /api/owners (protected)","update":"PUT /api/owners/:id (protected)","updateStatus":"PATCH /api/owners/:id/status (protected)","delete":"DELETE /api/owners/:id (protected)","description":"Manage trip owners"},"trips":{"list":"GET /api/trips (protected)","getById":"GET /api/trips/:id (protected)","create":"POST /api/trips (protected)","update":"PUT /api/trips/:id (protected)","updateStatus":"PATCH /api/trips/:id/status (protected)","addCost":"POST /api/trips/:id/costs (protected)","getCosts":"GET /api/trips/:id/costs (protected)","delete":"DELETE /api/trips/:id (protected)","getTodaysTrips":"GET /api/trips/today (protected)","getTripReviews":"GET /api/trips/reviews (protected)","submitTripReview":"POST /api/trips/:tripId/review (protected)","getTripReviewDetails":"GET /api/trips/:tripId/review (protected)","description":"Manage trips and trip costs"},"operations":{"list":"GET /api/operations (protected)","add":"POST /api/operations (protected)","update":"PUT /api/operations/:id (protected)","updateStatus":"PATCH /api/operations/:id/status (protected)","delete":"DELETE /api/operations/:id (protected)","description":"Manage operations team members"},"invitations":{"send":"POST /api/invites/send (protected)","sendToLC":"POST /api/invites/send-to-lc (protected)","list":"GET /api/invites (protected)","getById":"GET /api/invites/:invitation_id (protected)","accept":"PUT /api/invites/:invitation_id/accept (protected)","reject":"PUT /api/invites/:invitation_id/reject (protected)","delete":"DELETE /api/invites/:invitation_id (protected)","description":"Send and manage user invitations"},"bookings":{"list":"GET /api/bookings (protected)","byCompany":"GET /api/bookings/owner/:company (protected)","getById":"GET /api/bookings/:id (protected)","create":"POST /api/bookings (protected)","update":"PUT /api/bookings/:id (protected)","delete":"DELETE /api/bookings/:id (protected)","description":"Manage trip bookings"},"documents":{"list":"GET /api/documents (protected)","byType":"GET /api/documents/type/:type (protected)","byEntity":"GET /api/documents/entity/:entityId (protected)","getById":"GET /api/documents/:id (protected)","upload":"POST /api/documents (multipart/form-data, protected)","delete":"DELETE /api/documents/:id (protected)","description":"Manage document uploads and storage"},"services":{"list":"GET /api/services (protected)","getById":"GET /api/services/:id (protected)","create":"POST /api/services (protected)","update":"PUT /api/services/:id (protected)","updateStatus":"PATCH /api/services/:id/status (protected)","delete":"DELETE /api/services/:id (protected)","description":"Manage transportation services"},"tripTypes":{"list":"GET /api/trip-types (protected)","getById":"GET /api/trip-types/:id (protected)","create":"POST /api/trip-types (protected)","update":"PUT /api/trip-types/:id (protected)","delete":"DELETE /api/trip-types/:id (protected)","description":"Manage trip type categories"},"locations":{"search":"GET /api/locations/search?query= (protected)","recentSearches":"GET /api/locations/recent (protected)","description":"Manage trip locations"}},"utilities":{"health":"GET /health (check API and database status)","apiDocs":"GET /api-docs (interactive Swagger documentation)"},"notes":["All endpoints are protected (require JWT) except POST /api/auth/login","JWT tokens expire after 24 hours","Use POST /api/auth/refresh-token to refresh your access token","Pagination available on list endpoints: ?page=1&limit=20","Full API documentation at /api-docs"]}