Total: 124 stable operations (218 runtime guards). Paritas OpenAPI
diverifikasi via scripts/check-openapi-runtime-parity.mjs.
| Method |
Route |
Fungsi |
| POST |
/api/v1/auth/login |
Email + password |
| POST |
/api/v1/auth/otp/request |
Phone → challenge |
| POST |
/api/v1/auth/otp/verify |
Challenge + code → session |
| POST |
/api/v1/auth/refresh |
Refresh token |
| POST |
/api/v1/auth/recovery/request |
Password reset (email via Kurir) |
| GET |
/api/v1/auth/session |
Session info (role, modules, branches) |
| Method |
Route |
Fungsi |
| GET/POST |
/api/v1/admin/products |
Product CRUD |
| GET/POST |
/api/v1/admin/orders |
Order list/create |
| POST |
/api/v1/admin/orders/:id/void |
Void order |
| GET/POST |
/api/v1/admin/payments |
Payment initiate |
| POST |
/api/v1/admin/payments/:id |
Payment transition |
| GET/POST |
/api/v1/admin/suppliers |
Supplier CRUD |
| GET/POST |
/api/v1/admin/purchase-orders |
PO list/create |
| POST |
/api/v1/admin/inventory/transfers |
Stock transfer |
| GET/PATCH |
/api/v1/admin/loyalty/config |
Loyalty config |
| GET |
/api/v1/admin/accounting/accounts |
Chart of accounts |
| GET/POST |
/api/v1/admin/accounting/journal |
Journal entries |
| GET/POST |
/api/v1/admin/accounting/cash-shifts |
Cash shift lifecycle |
| GET/POST |
/api/v1/admin/vouchers |
Voucher CRUD (owner-only) |
| GET |
/api/v1/admin/laundry/by-label/:label |
Laundry lookup |
| POST |
/api/v1/admin/laundry/receive-by-label |
Laundry receive |
| Method |
Route |
Fungsi |
| GET |
/api/v1/public/business/:slug |
Business profile |
| GET |
/api/v1/public/business/:slug/products |
Public catalog |
Semua respons memakai canonical envelope:
{ "success": true, "data": {}, "meta": { "requestId": "..." } }
{ "success": false, "error": { "code": "...", "message": "...", "retryable": false } }