API documentation
Authentication
Use JWT bearer token from login, or an API key via X-API-Key header for public endpoints.
POST /api/auth/login GET /api/wallet Authorization: Bearer <token> GET /api/v1/products X-API-Key: dublogs_<key>
Wallet & payments
POST /api/wallet/deposit
{ "amount": 50, "provider": "simulated" }
POST /api/webhooks/paystack
POST /api/webhooks/flutterwave
Orders & products
GET /api/products
POST /api/orders/checkout
{ "items": [{ "product_id": 1, "quantity": 1 }] }
SMS & admin
GET /api/sms/numbers POST /api/sms/allocate GET /api/admin/stats (admin JWT)