NestJS API Documentation
v1.0 (NestJS + Stripe)Comprehensive Frontend Developer Guide for NestJS API endpoints, security guards, and request parameters.
Backend Base URL:
http://localhost:30001. Auth & Silent Refresh
NestJS sets 2 HttpOnly cookies (access_token & refresh_token). When Access Token expires (15 min), backend returns 401. RTK Query automatically calls POST /api/auth/google/refresh silently and retries the original request!
2. Stripe Checkout Flow
Step 1: Get publishable key (/payment/key). Step 2: Initiate PaymentIntent (/payment/initiate) to receive clientSecret. Step 3: Mount Stripe Elements card widget. Step 4: Verify payment (/payment/verify) to generate MongoDB Order.
3. Multipart Image Uploads
Posters and review photos use multipart/form-data with images file field. NestJS interceptor uploads files directly to Cloudinary CDN and returns secure HTTPS image URLs.
Showing 28 API endpoints
POST
/api/auth/google/login Public
POST
/api/auth/google/refresh Public
POST
/api/auth/google/logout Auth User
GET
/api/auth/google/me Auth User
GET
/api/inventory Public
GET
/api/inventory/featured Public
GET
/api/inventory/:id Public
GET
/api/inventory/categories/list Public
POST
/api/inventory Admin Only
PUT
/api/inventory/:id Admin Only
DELETE
/api/inventory/:id Admin Only
GET
/api/order/payment/key Auth User
POST
/api/order/payment/initiate Auth User
POST
/api/order/payment/verify Auth User
GET
/api/order Auth User
GET
/api/order/:id Auth User
GET
/api/review/:posterId Public
POST
/api/review/:posterId Auth User
PUT
/api/review/:id Auth User
DELETE
/api/review/:id Auth User
GET
/api/admin/stats Admin Only
GET
/api/admin/orders/recent Admin Only
GET
/api/admin/orders Admin Only
PATCH
/api/admin/orders/:id/status Admin Only
PATCH
/api/admin/orders/:id/cancel Admin Only
GET
/api/admin/customers Admin Only
GET
/api/admin/products/top Admin Only
GET
/api/admin/analytics/revenue Admin Only