Complete endpoint catalog
This catalog contains 222 registered method/path operations, including system routes. It is synchronized from the Go route registrations in the API repository. Open Swagger UI, download openapi.json, or read the API-owned route reference (opens in a new tab) for detailed contracts.
Paths include the default /api/v1 base prefix unless marked as system-level. Access reflects route middleware. Some routes have additional POS permission checks; consult the domain guide before calling them.
Accounts and authentication
Domain guide: Accounts and authentication.
| Method | Path | Access |
|---|---|---|
POST | /api/v1/auth/register | Public |
POST | /api/v1/auth/otp/send | Public |
POST | /api/v1/auth/otp/verify | Public |
POST | /api/v1/auth/login | Public |
POST | /api/v1/auth/mfa/totp/verify | Public |
POST | /api/v1/auth/refresh | Public |
GET | /api/v1/auth/confirm-email | Public |
POST | /api/v1/auth/password/forgot | Public |
POST | /api/v1/auth/password/reset | Public |
GET | /api/v1/accounts/mfa/totp/status | Admin + MFA |
POST | /api/v1/accounts/mfa/totp/setup | Admin + MFA |
POST | /api/v1/accounts/mfa/totp/verify | Admin + MFA |
POST | /api/v1/accounts/mfa/totp/disable | Admin + MFA |
POST | /api/v1/auth/logout | Bearer token |
POST | /api/v1/auth/resend-confirmation | Bearer token |
GET | /api/v1/accounts/me | Bearer token |
PATCH | /api/v1/accounts/me | Bearer token |
GET | /api/v1/accounts/organisation | Owner or admin |
PATCH | /api/v1/accounts/organisation | Owner or admin |
POST | /api/v1/accounts/switch-store | Bearer token |
GET | /api/v1/accounts/users | Owner or admin |
POST | /api/v1/accounts/users | Owner or admin |
DELETE | /api/v1/accounts/users/{id} | Owner or admin |
GET | /api/v1/accounts/ai-credits | Bearer token |
GET | /api/v1/accounts/sms-balance | Bearer token |
GET | /api/v1/meta/business-types | Public |
GET | /api/v1/meta/regions | Public |
GET | /api/v1/meta/regions/{slug}/districts | Public |
GET | /api/v1/meta/outlet-types | Public |
Platform administration
Domain guide: Platform administration.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/admin/dashboard | Admin + MFA |
GET | /api/v1/admin/organisations | Admin + MFA |
GET | /api/v1/admin/organisations/{id} | Admin + MFA |
GET | /api/v1/admin/organisations/{id}/stores | Admin + MFA |
GET | /api/v1/admin/organisations/{id}/users | Admin + MFA |
PATCH | /api/v1/admin/organisations/{id} | Admin + MFA |
GET | /api/v1/admin/users | Admin + MFA |
PATCH | /api/v1/admin/users/{id} | Admin + MFA |
GET | /api/v1/admin/stores | Admin + MFA |
PATCH | /api/v1/admin/stores/{id} | Admin + MFA |
GET | /api/v1/admin/products | Admin + MFA |
GET | /api/v1/admin/products/{id} | Admin + MFA |
PATCH | /api/v1/admin/products/{id} | Admin + MFA |
GET | /api/v1/admin/categories | Admin + MFA |
POST | /api/v1/admin/categories | Admin + MFA |
PATCH | /api/v1/admin/categories/{id} | Admin + MFA |
DELETE | /api/v1/admin/categories/{id} | Admin + MFA |
GET | /api/v1/admin/transactions | Admin + MFA |
GET | /api/v1/admin/transactions/{id} | Admin + MFA |
GET | /api/v1/admin/transactions/summary | Admin + MFA |
GET | /api/v1/admin/customers | Admin + MFA |
GET | /api/v1/admin/credits | Admin + MFA |
GET | /api/v1/admin/suppliers | Admin + MFA |
GET | /api/v1/admin/suppliers/{id}/deliveries | Admin + MFA |
GET | /api/v1/admin/suppliers/{id}/payments | Admin + MFA |
GET | /api/v1/admin/expenses | Admin + MFA |
GET | /api/v1/admin/reviews | Admin + MFA |
PATCH | /api/v1/admin/reviews/{id} | Admin + MFA |
DELETE | /api/v1/admin/reviews/{id} | Admin + MFA |
GET | /api/v1/admin/notes | Admin + MFA |
GET | /api/v1/admin/notifications | Admin + MFA |
GET | /api/v1/admin/ai/usage | Admin + MFA |
GET | /api/v1/admin/subscriptions | Admin + MFA |
GET | /api/v1/admin/analytics/overview | Admin + MFA |
GET | /api/v1/admin/monitoring/overview | Admin + MFA |
GET | /api/v1/admin/monitoring/activity | Admin + MFA |
GET | /api/v1/admin/monitoring/health | Admin + MFA |
AI conversations
Domain guide: AI conversations.
| Method | Path | Access |
|---|---|---|
POST | /api/v1/ai/chat | Bearer token |
POST | /api/v1/ai/conversations/{id}/chat | Bearer token |
GET | /api/v1/ai/conversations | Bearer token |
GET | /api/v1/ai/conversations/{id} | Bearer token |
PATCH | /api/v1/ai/conversations/{id} | Bearer token |
GET | /api/v1/ai/suggestions | Bearer token |
GET | /api/v1/ai/usage | Bearer token |
Analytics
Domain guide: Analytics.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/analytics/overview | Owner or admin |
GET | /api/v1/analytics/summary | Owner or admin |
GET | /api/v1/analytics/trend | Owner or admin |
GET | /api/v1/analytics/payment-mix | Owner or admin |
GET | /api/v1/analytics/top-products | Owner or admin |
GET | /api/v1/analytics/sales | Owner or admin |
GET | /api/v1/analytics/products | Owner or admin |
GET | /api/v1/analytics/customers | Owner or admin |
GET | /api/v1/analytics/cashflow | Owner or admin |
GET | /api/v1/analytics/dashboard | Owner or admin |
GET | /api/v1/analytics/detail/{section} | Owner or admin |
Credit tabs
Domain guide: Credit tabs.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/credits | Bearer token |
GET | /api/v1/credits/customers/{customer_id} | Bearer token |
POST | /api/v1/credits/customers/{customer_id}/payments | Bearer token |
POST | /api/v1/credits/customers/{customer_id}/remind | Bearer token |
POST | /api/v1/credits/customers/{customer_id}/messages | Bearer token |
POST | /api/v1/credits/customers/{customer_id}/notes | Bearer token |
POST | /api/v1/credits/{tab_id}/write-off | Bearer token |
Customers
Domain guide: Customers.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/customers | Bearer token |
POST | /api/v1/customers | Bearer token |
GET | /api/v1/customers/credits | Bearer token |
GET | /api/v1/customers/{id} | Bearer token |
PATCH | /api/v1/customers/{id} | Bearer token |
POST | /api/v1/customers/{id}/sms | Bearer token |
Expenses
Domain guide: Expenses.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/expenses/categories | Bearer token |
POST | /api/v1/expenses/categories | Bearer token |
PATCH | /api/v1/expenses/categories/{id} | Bearer token |
DELETE | /api/v1/expenses/categories/{id} | Bearer token |
GET | /api/v1/expenses | Bearer token |
POST | /api/v1/expenses | Bearer token |
GET | /api/v1/expenses/summary | Bearer token |
GET | /api/v1/expenses/{id} | Bearer token |
PATCH | /api/v1/expenses/{id} | Bearer token |
DELETE | /api/v1/expenses/{id} | Bearer token |
Inventory
Domain guide: Inventory.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/inventory/categories | Bearer token |
POST | /api/v1/inventory/categories | Bearer token |
PATCH | /api/v1/inventory/categories/{id} | Bearer token |
DELETE | /api/v1/inventory/categories/{id} | Bearer token |
GET | /api/v1/inventory/units | Bearer token |
POST | /api/v1/inventory/units | Bearer token |
PATCH | /api/v1/inventory/units/{id} | Bearer token |
DELETE | /api/v1/inventory/units/{id} | Bearer token |
GET | /api/v1/inventory/products | Bearer token |
POST | /api/v1/inventory/products | Bearer token |
POST | /api/v1/inventory/import | Bearer token |
GET | /api/v1/inventory/products/{id} | Bearer token |
PATCH | /api/v1/inventory/products/{id} | Bearer token |
DELETE | /api/v1/inventory/products/{id} | Bearer token |
GET | /api/v1/inventory/products/barcode/{code} | Bearer token |
POST | /api/v1/inventory/products/{id}/adjust | Bearer token |
GET | /api/v1/inventory/products/{id}/adjustments | Bearer token |
GET | /api/v1/inventory/batches | Bearer token |
POST | /api/v1/inventory/products/{id}/batches | Bearer token |
GET | /api/v1/inventory/low-stock | Bearer token |
Notebook
Domain guide: Notebook.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/notebook | Bearer token |
POST | /api/v1/notebook | Bearer token |
GET | /api/v1/notebook/{id} | Bearer token |
PATCH | /api/v1/notebook/{id} | Bearer token |
DELETE | /api/v1/notebook/{id} | Bearer token |
Notifications
Domain guide: Notifications.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/notifications | Bearer token |
GET | /api/v1/notifications/unread-count | Bearer token |
GET | /api/v1/notifications/{id} | Bearer token |
POST | /api/v1/notifications | Bearer token |
PATCH | /api/v1/notifications/read-all | Bearer token |
PATCH | /api/v1/notifications/{id}/read | Bearer token |
DELETE | /api/v1/notifications/{id} | Bearer token |
Pharmacy
Domain guide: Pharmacy.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/pharmacy/batches | Bearer token |
GET | /api/v1/pharmacy/batches/{id}/movements | Bearer token |
POST | /api/v1/pharmacy/batches/{id}/dispose | Owner or admin |
POST | /api/v1/pharmacy/batches/{id}/release | Owner or admin |
POST | /api/v1/pharmacy/products/{id}/batches | Bearer token |
GET | /api/v1/pharmacy/expiry | Bearer token |
GET | /api/v1/pharmacy/prescriptions | Pharmacy personnel |
GET | /api/v1/pharmacy/products | Bearer token |
GET | /api/v1/pharmacy/products/{id} | Bearer token |
PUT | /api/v1/pharmacy/products/{id} | Bearer token |
Reports
Domain guide: Reports.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/reports/types | Bearer token |
POST | /api/v1/reports/generate | Bearer token |
GET | /api/v1/reports/exports | Bearer token |
GET | /api/v1/reports/exports/{id}/download | Bearer token |
GET | /api/v1/reports/scheduled | Owner or admin |
POST | /api/v1/reports/scheduled | Owner or admin |
PATCH | /api/v1/reports/scheduled/{id} | Owner or admin |
DELETE | /api/v1/reports/scheduled/{id} | Owner or admin |
POST | /api/v1/reports/scheduled/{id}/send | Owner or admin |
Reviews
Domain guide: Reviews.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/reviews/public | Public |
POST | /api/v1/reviews | Bearer token |
Staff
Domain guide: Staff.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/staff | Owner or admin |
POST | /api/v1/staff | Owner or admin |
GET | /api/v1/staff/kpis | Owner or admin |
GET | /api/v1/staff/{id} | Owner or admin |
PATCH | /api/v1/staff/{id} | Owner or admin |
DELETE | /api/v1/staff/{id} | Owner or admin |
GET | /api/v1/staff/{id}/stats | Owner or admin |
GET | /api/v1/staff/{id}/activity | Owner or admin |
PATCH | /api/v1/staff/{id}/shift | Owner or admin |
PATCH | /api/v1/staff/{id}/permissions | Owner or admin |
Stores
Domain guide: Stores.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/stores | Owner or admin |
POST | /api/v1/stores | Owner or admin |
GET | /api/v1/stores/stats | Owner or admin |
GET | /api/v1/stores/{id} | Owner or admin |
PATCH | /api/v1/stores/{id} | Owner or admin |
DELETE | /api/v1/stores/{id} | Owner or admin |
GET | /api/v1/stores/{id}/staff | Owner or admin |
GET | /api/v1/stores/{id}/week | Owner or admin |
PATCH | /api/v1/stores/{id}/status | Owner or admin |
Subscriptions
Domain guide: Subscriptions.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/subscriptions/admin/plans | Admin + MFA |
POST | /api/v1/subscriptions/plans | Admin + MFA |
PATCH | /api/v1/subscriptions/plans/{id} | Admin + MFA |
DELETE | /api/v1/subscriptions/plans/{id} | Admin + MFA |
GET | /api/v1/subscriptions/all | Admin + MFA |
GET | /api/v1/subscriptions/all/{id} | Admin + MFA |
POST | /api/v1/subscriptions/all/{id}/activate | Admin + MFA |
PATCH | /api/v1/subscriptions/all/{id}/extra-stores | Admin + MFA |
Suppliers
Domain guide: Suppliers.
| Method | Path | Access |
|---|---|---|
GET | /api/v1/suppliers | Bearer token |
POST | /api/v1/suppliers | Bearer token |
GET | /api/v1/suppliers/stats | Bearer token |
GET | /api/v1/suppliers/purchase-orders | Bearer token |
GET | /api/v1/suppliers/reorder-suggestions | Bearer token |
POST | /api/v1/suppliers/purchase-orders/bulk | Bearer token |
POST | /api/v1/suppliers/purchase-orders | Bearer token |
POST | /api/v1/suppliers/purchase-orders/{id}/receive | Bearer token |
GET | /api/v1/suppliers/deliveries | Bearer token |
POST | /api/v1/suppliers/deliveries | Bearer token |
GET | /api/v1/suppliers/deliveries/{id} | Bearer token |
PATCH | /api/v1/suppliers/deliveries/{id} | Bearer token |
DELETE | /api/v1/suppliers/deliveries/{id} | Bearer token |
POST | /api/v1/suppliers/deliveries/{id}/pay | Owner or admin |
GET | /api/v1/suppliers/payments | Bearer token |
GET | /api/v1/suppliers/{id} | Bearer token |
PATCH | /api/v1/suppliers/{id} | Bearer token |
DELETE | /api/v1/suppliers/{id} | Bearer token |
GET | /api/v1/suppliers/{id}/deliveries | Bearer token |
POST | /api/v1/suppliers/{id}/deliveries | Bearer token |
GET | /api/v1/suppliers/{id}/payments | Bearer token |
POST | /api/v1/suppliers/{id}/pay | Owner or admin |
Point of sale
Domain guide: Point of sale.
| Method | Path | Access |
|---|---|---|
POST | /api/v1/pos/sale | Bearer token |
GET | /api/v1/pos/transactions | Bearer token |
GET | /api/v1/pos/transactions/{id} | Bearer token |
POST | /api/v1/pos/transactions/{id}/refund | Bearer + refund permission |
POST | /api/v1/pos/transactions/{id}/void | Bearer token |
POST | /api/v1/pos/transactions/{id}/receipt | Bearer token |
GET | /api/v1/pos/summary | Bearer token |
GET | /api/v1/pos/summary/hourly | Bearer token |
Uploads
Domain guide: Uploads.
| Method | Path | Access |
|---|---|---|
POST | /api/v1/uploads | Bearer token |
DELETE | /api/v1/uploads | Bearer token |
System
Domain guide: System.
| Method | Path | Access |
|---|---|---|
GET | /healthz | Public (system) |
GET | / | Public (system) |
GET | /api/v1/health | Public (system) |