Auth Service
Supplier registration, login, tokens & password reset
POST
Public
/api/supplier/auth/register
Register a new supplier account — returns JWT + refresh token
POST
Public
/api/supplier/auth/login
Login with email & password — returns JWT + refresh token
POST
Public
/api/supplier/auth/refresh
Exchange a refresh token for a new access token
POST
Public
/api/supplier/auth/logout
Revoke refresh token and end the session
POST
Public
/api/supplier/auth/forgot-password
Send password reset email (always returns 200 — prevents enumeration)
POST
Public
/api/supplier/auth/reset-password
Reset password using the token received by email
Product Service
Supplier product catalogue — CRUD, stock, availability & barcodes
GET
🔒 JWT
/api/supplier/products?page&pageSize&search&status
List products — status: active | pending_approval | archived
GET
🔒 JWT
/api/supplier/products/{id}
Get a single product by ID
POST
🔒 JWT
/api/supplier/products
Create a new product — auto-generates EAN-13 barcode if not supplied
PUT
🔒 JWT
/api/supplier/products/{id}
Update all product fields
PATCH
🔒 JWT
/api/supplier/products/{id}/toggle
Toggle product availability on / off
GET
🔒 JWT
/api/supplier/products/{id}/barcode
Get EAN-13 barcode + SVG render for a product
DELETE
🔒 JWT
/api/supplier/products/{id}
Permanently delete a product
Order Service
Supplier order management and status transitions
GET
🔒 JWT
/api/supplier/orders?page&pageSize&status
List orders — status: pending | processing | dispatched | delivered | cancelled
GET
🔒 JWT
/api/supplier/orders/{id}
Get full order detail including items and shop info
PATCH
🔒 JWT
/api/supplier/orders/{id}/status
Transition: pending → processing → dispatched → delivered (or cancelled)
Analytics Service
Revenue trends, KPI summary and top-performing products
GET
🔒 JWT
/api/supplier/analytics/summary
Monthly KPIs: revenue, orders, active products, pending orders + MoM growth %
GET
🔒 JWT
/api/supplier/analytics/revenue?period=week|month|year
Revenue chart data grouped by day (week/month) or month (year)
GET
🔒 JWT
/api/supplier/analytics/top-products
Top 5 products by revenue this month with units sold
User / Profile Service
Supplier profile, compliance documents and logo upload
GET
🔒 JWT
/api/supplier/profile
Get full supplier profile — company, banking, address, documents
PUT
🔒 JWT
/api/supplier/profile
Update company info, contact details, address and banking details
POST
🔒 JWT
/api/supplier/profile/documents
Upload compliance document — multipart/form-data: docType + file
POST
🔒 JWT
/api/supplier/profile/logo
Upload supplier logo — JPG/PNG/WEBP, max 5MB
Compliance Service
Admin document review — approve or reject supplier documents
GET
🔒 JWT
/api/compliance/documents?status&search
List all supplier documents with pending / approved / rejected summary counts
PATCH
🔒 JWT
/api/compliance/documents/{id}/approve
Approve a supplier document
PATCH
🔒 JWT
/api/compliance/documents/{id}/reject
Reject a document — body: { "reason": "..." }