RBAC Permission Matrix

Environment: staging | Generated: 2569-03-30 18:38:15 | 10 roles | 51 domains | 1510 API calls
Total API Calls
1510
Granted
443
Validation Err
104
Denied
160
PERM GAP
591
Domains
51

Role Summary

owner
126 / 0 / 151 (83%)
accountant (24 gaps)
94 / 11 / 24 gaps / 151 (62%)
acctFirm (13 gaps)
112 / 1 / 13 gaps / 151 (74%)
salesManager (50 gaps)
63 / 18 / 50 gaps / 151 (41%)
seniorSales (50 gaps)
63 / 18 / 50 gaps / 151 (41%)
salesAdmin (91 gaps)
22 / 18 / 91 gaps / 151 (14%)
salesPurchase (84 gaps)
29 / 18 / 84 gaps / 151 (19%)
hrManager (92 gaps)
15 / 24 / 92 gaps / 151 (9%)
hrAdmin (92 gaps)
14 / 25 / 92 gaps / 151 (9%)
cashier (95 gaps)
9 / 27 / 95 gaps / 151 (5%)
Business API (25 domains) ✓ 167   ✗ 124   ⚠ 177 gaps
Contacts (2 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list
GETGET /{id}
Products (3 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list
GETGET /{id}⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL
GETGET search
Inventory (2 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET warehouses
GETGET low-stock
Finance (2 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET accounts
GETGET account by id404404404404404404404404404404
ChartOfAccounts (2 endpoints) — 14 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET group⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET leaf nodes⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
BankReconcile (1 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET transactions404404404404404404404404404404
BookOfAccounts (1 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET by txn id
WithholdingTax (4 endpoints) — 28 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
PaymentSlip (4 endpoints) — 32 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
FixedAsset (3 endpoints) — 21 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET categories⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
Purchase (4 endpoints) — 28 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
Transfer (1 endpoints) — 3 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP
Settings (2 endpoints) — 10 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET period-settings⚠ GAP
POSTGET locking-period status⚠ VAL⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
JournalEntry (3 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list404404404404404404404404404404
GETGET /{id}SERVER ERRSERVER ERR
POSTPOST create404404404404404404404404404404
BankingChannel (3 endpoints) — 16 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET channels⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET accounts⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST createSERVER ERRSERVER ERRSERVER ERR
WarehouseManagement (2 endpoints) — 3 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL
MultiCurrency (2 endpoints) — 8 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET currencies⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET currency-rate404404404404404404404404404404
Project (2 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET listSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERR
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL
SupplierInvoice (3 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list404404404404404404404404404404
GETGET /{id}404404404404404404404404404404
POSTPOST create404404404404404404404404404404
ETaxDocument (2 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list404404404404404404404404404404
POSTPOST create404404404404404404404404404404
BankTransfer (3 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST transferSERVER ERRSERVER ERR
POSTPOST topupSERVER ERRSERVER ERR
POSTPOST paynow confirmSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERRSERVER ERR
Audit (2 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list404404404404404404404404404404
GETGET detail/0⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL
ContactsWrite (3 endpoints) — 6 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL
PUTPUT update/0⚠ VAL⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
DELETEDELETE /0⚠ VAL⚠ VAL⚠ VAL
ProductsWrite (2 endpoints) — 8 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST create⚠ VAL⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
DELETEDELETE /0⚠ VAL⚠ GAP⚠ GAP
WarehouseWrite (3 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST create⚠ VAL⚠ VAL⚠ VAL
PUTPUT update/0⚠ VAL⚠ VAL⚠ VAL
DELETEDELETE /0SERVER ERRSERVER ERRSERVER ERR
Payroll API (6 domains) ✓ 15   ✗ 19   ⚠ 6 gaps
Payroll (3 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET employee all
GETGET employee count
GETGET employee list405405405405405405405405405405
PayrollSettings (1 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET setting
LeaveManagement (2 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET leave-adjustments404404404404404404404404404404
GETGET leave-transactions404404404404404404404404404404
HolidaySettings (1 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET holidays404404404404404404404404404404
PayrollDashboard (1 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET dashboard404404404404404404404404404404
EmployeeImport (1 endpoints) — 6 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET batch-history⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
Report API (8 domains) ✓ 53   ✗ 0   ⚠ 127 gaps
SalesReport (4 endpoints) — 36 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST sales report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST salesByProduct report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST salesByCustomer report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST salesByPerson report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
ExpenseReport (3 endpoints) — 27 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST expense report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST inputTax report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST paymentSlip report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
AccountingReport (3 endpoints) — 25 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST profit-and-loss report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST trial-balance report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST balance-sheet report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
PurchaseReport (2 endpoints) — 14 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST purchase report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST purchaseTax report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
InventoryReport (2 endpoints) — 6 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST stocks report⚠ GAP⚠ GAP⚠ GAP
POSTPOST product report⚠ GAP⚠ GAP⚠ GAP
WHTReport (1 endpoints) — 7 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST wht report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
ReportDashboard (1 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET outstanding-payments
PayrollReport (2 endpoints) — 12 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
POSTPOST payroll report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST payroll summary report⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
Profile API (3 domains) ✓ 53   ✗ 17  
MyCompany (4 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET company
GETGET consent
GETGET logo
GETGET user list
MyCompanyMember (2 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET me
GETGET dashboard405405405405405405405405405405
DocumentTemplate (3 endpoints)
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET templates
GETGET default
GETGET title setting405405405405405405405405405405
Documents (9 domains) ✓ 259   ✗ 0   ⚠ 281 gaps
Quotation (6 endpoints) — 28 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ GAP⚠ GAP⚠ GAP
POSTPOST search⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
TaxInvoice (6 endpoints) — 29 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ GAP⚠ VAL⚠ GAP⚠ GAP⚠ GAP
POSTPOST search⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
Receipt (6 endpoints) — 29 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ GAP⚠ VAL⚠ GAP⚠ GAP⚠ GAP
POSTPOST search⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
CashInvoice (6 endpoints) — 29 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ GAP⚠ VAL⚠ GAP⚠ GAP⚠ GAP
POSTPOST search⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
CreditNote (6 endpoints) — 29 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ GAP⚠ VAL⚠ GAP⚠ GAP⚠ GAP
POSTPOST search⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
DebitNote (6 endpoints) — 29 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ GAP⚠ VAL⚠ GAP⚠ GAP⚠ GAP
POSTPOST search⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
PurchaseOrder (6 endpoints) — 41 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ GAP⚠ GAP⚠ GAP⚠ VAL⚠ GAP⚠ GAP⚠ GAP
POSTPOST search⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
Expense (6 endpoints) — 38 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ GAP⚠ GAP⚠ GAP
POSTPOST search⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
BillingNote (6 endpoints) — 29 PERM GAP
EndpointowneraccountantacctFirmsalesManagerseniorSalessalesAdminsalesPurchasehrManagerhrAdmincashier
GETGET list⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET /{id}⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
POSTPOST create⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ VAL⚠ GAP⚠ VAL⚠ GAP⚠ GAP⚠ GAP
POSTPOST search⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET total⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
GETGET serial⚠ GAP⚠ GAP⚠ GAP⚠ GAP⚠ GAP
✓ GRANTED ⚠ VAL VALIDATION ERR (passed auth, failed business validation) ✗ DENIED ⚠ PERM GAP 401 NO AUTH 404/405