Endpoint Explorer

Search across all 1000 endpoints in 7 portals and 46 modules. Filter by HTTP method or portal, or type any part of a path, purpose or module name.

1000 endpoints — showing the first 300, refine to narrow

GET/api/v1/consignment/summaryJWT

Summary

GET/api/v1/consignmentJWT

List consignments

Customer AppSalesQuery: pagination / filters
GET/api/v1/consignment/:idJWT

Get a consignment by id

POST/api/v1/consignmentJWT

Create a consignment

Customer AppSalesBody: CreateConsignmentDto
PATCH/api/v1/consignment/:id/settleJWT

Settle

Customer AppSalesBody: SettleConsignmentDto
PATCH/api/v1/consignment/:idJWT

Update a consignment

Customer AppSalesBody: UpdateConsignmentDto
DELETE/api/v1/consignment/:idJWT

Delete a consignment

GET/api/v1/delivery-notesJWT

List delivery notes

Customer AppSalesQuery: pagination / filters
GET/api/v1/delivery-notes/:idJWT

Get a delivery note by id

POST/api/v1/delivery-notesJWT

Create a delivery note

Customer AppSalesBody: CreateDeliveryNoteDto
PATCH/api/v1/delivery-notes/:idJWT

Update a delivery note

Customer AppSalesBody: UpdateDeliveryNoteDto
PATCH/api/v1/delivery-notes/:id/statusJWT

Set status

Customer AppSalesBody: JSON
PATCH/api/v1/delivery-notes/:id/lockJWT

Set lock

Customer AppSalesBody: JSON
PATCH/api/v1/delivery-notes/:id/discountJWT

Set discount

Customer AppSalesBody: JSON
PATCH/api/v1/delivery-notes/:id/chargesJWT

Set charges

Customer AppSalesBody: JSON
PATCH/api/v1/delivery-notes/:id/reminderJWT

Set reminder

Customer AppSalesBody: JSON
POST/api/v1/delivery-notes/:id/duplicateJWT

Duplicate

POST/api/v1/delivery-notes/:id/convert-to-sales-invoiceJWT

Convert a DeliveryNote to a SalesInvoice (bill a dispatched shipment)

POST/api/v1/delivery-notes/:id/convert-to-proforma-invoiceJWT

Convert a DeliveryNote to a ProformaInvoice (client docx #1: proforma should be able to follow the delivery note)

DELETE/api/v1/delivery-notes/:idJWT

Delete a delivery note

GET/api/v1/proforma-invoices/:proformaInvoiceId/activitiesJWT

List proforma-invoice activities

Customer AppSalesQuery: pagination / filters
POST/api/v1/proforma-invoices/:proformaInvoiceId/activitiesJWT

Create a proforma-invoice activity

Customer AppSalesBody: CreateActivityDto
DELETE/api/v1/proforma-invoices/:proformaInvoiceId/activities/:activityIdJWT

Delete a proforma-invoice activity

GET/api/v1/proforma-invoicesJWT

List proforma invoices

Customer AppSalesQuery: pagination / filters
GET/api/v1/proforma-invoices/:idJWT

Get a proforma invoice by id

POST/api/v1/proforma-invoicesJWT

Create a proforma invoice

Customer AppSalesBody: CreateProformaInvoiceDto
PATCH/api/v1/proforma-invoices/:idJWT

Update a proforma invoice

Customer AppSalesBody: UpdateProformaInvoiceDto
PATCH/api/v1/proforma-invoices/:id/statusJWT

Set status

Customer AppSalesBody: JSON
POST/api/v1/proforma-invoices/:id/convert-to-sales-invoiceJWT

Convert a Proforma Invoice directly to a SalesInvoice

DELETE/api/v1/proforma-invoices/:idJWT

Delete a proforma invoice

GET/api/v1/quotations/:quotationId/activitiesJWT

List quotation activities

Customer AppSalesQuery: pagination / filters
POST/api/v1/quotations/:quotationId/activitiesJWT

Create a quotation activity

Customer AppSalesBody: CreateActivityDto
DELETE/api/v1/quotations/:quotationId/activities/:activityIdJWT

Delete a quotation activity

GET/api/v1/quotationsJWT

List quotations

Customer AppSalesQuery: pagination / filters
GET/api/v1/quotations/:idJWT

Get a quotation by id

POST/api/v1/quotationsJWT

Create a quotation

Customer AppSalesBody: CreateQuotationDto
PATCH/api/v1/quotations/:idJWT

Update a quotation

Customer AppSalesBody: UpdateQuotationDto
PATCH/api/v1/quotations/:id/statusJWT

Set status

Customer AppSalesBody: JSON
POST/api/v1/quotations/:id/convert-to-sales-orderJWT

Convert a Quotation to a SalesOrder

POST/api/v1/quotations/:id/convert-to-sales-invoiceJWT

Convert a Quotation directly to a SalesInvoice (skipping SO)

POST/api/v1/quotations/:id/convert-to-proforma-invoiceJWT

Convert a Quotation to a ProformaInvoice (pre-invoice / advance payment request, before the tax invoice is issued)

POST/api/v1/quotations/:id/convert-to-delivery-noteJWT

Convert a Quotation to a DeliveryNote (ship first, bill later)

POST/api/v1/quotations/:id/convert-to-sales-returnJWT

Convert a Quotation to a SalesReturn (credit note)

DELETE/api/v1/quotations/:idJWT

Delete a quotation

GET/api/v1/sales-invoicesJWT

List sales invoices

Customer AppSalesQuery: pagination / filters
GET/api/v1/sales-invoices/:idJWT

Get a sales invoice by id

POST/api/v1/sales-invoicesJWT

Create a sales invoice

Customer AppSalesBody: CreateSalesInvoiceDto
PATCH/api/v1/sales-invoices/:idJWT

Update a sales invoice

Customer AppSalesBody: UpdateSalesInvoiceDto
PATCH/api/v1/sales-invoices/:id/statusJWT

Set status

Customer AppSalesBody: JSON
PATCH/api/v1/sales-invoices/:id/lockJWT

Set lock

Customer AppSalesBody: JSON
PATCH/api/v1/sales-invoices/:id/discountJWT

Set discount

Customer AppSalesBody: JSON
PATCH/api/v1/sales-invoices/:id/chargesJWT

Set charges

Customer AppSalesBody: JSON
PATCH/api/v1/sales-invoices/:id/reminderJWT

Set reminder

Customer AppSalesBody: JSON
POST/api/v1/sales-invoices/:id/record-paymentJWT

Record payment

Customer AppSalesBody: RecordPaymentDto
POST/api/v1/sales-invoices/:id/zatca-qrJWT

issue the invoice: generate/attach its ZATCA QR and stamp `qrGeneratedAt`

Customer AppSalesBody: IssueZatcaQrDto
POST/api/v1/sales-invoices/:id/duplicateJWT

Duplicate

DELETE/api/v1/sales-invoices/:idJWT

Delete a sales invoice

GET/api/v1/sales-ordersJWT

List sales orders

Customer AppSalesQuery: pagination / filters
GET/api/v1/sales-orders/:idJWT

Get a sales order by id

POST/api/v1/sales-ordersJWT

Create a sales order

Customer AppSalesBody: CreateSalesOrderDto
PATCH/api/v1/sales-orders/:idJWT

Update a sales order

Customer AppSalesBody: UpdateSalesOrderDto
PATCH/api/v1/sales-orders/:id/statusJWT

manual workflow status change

Customer AppSalesBody: UpdateSalesOrderStatusDto
PATCH/api/v1/sales-orders/:id/lockJWT

Set lock

Customer AppSalesBody: JSON
PATCH/api/v1/sales-orders/:id/discountJWT

Set discount

Customer AppSalesBody: JSON
PATCH/api/v1/sales-orders/:id/chargesJWT

Set charges

Customer AppSalesBody: JSON
PATCH/api/v1/sales-orders/:id/reminderJWT

Set reminder

Customer AppSalesBody: JSON
POST/api/v1/sales-orders/:id/duplicateJWT

Duplicate

POST/api/v1/sales-orders/:id/convertJWT

Convert

Customer AppSalesBody: JSON
POST/api/v1/sales-orders/:id/convert-to-sales-invoiceJWT

Convert a SalesOrder into a real SalesInvoice (billing)

POST/api/v1/sales-orders/:id/convert-to-delivery-noteJWT

Convert a SalesOrder into a real DeliveryNote (shipment)

DELETE/api/v1/sales-orders/:idJWT

Delete a sales order

GET/api/v1/sales-returnsJWT

List sales returns

Customer AppSalesQuery: pagination / filters
GET/api/v1/sales-returns/:idJWT

Get a sales return by id

POST/api/v1/sales-returnsJWT

Create a sales return

Customer AppSalesBody: CreateSalesReturnDto
POST/api/v1/sales-returns/from-invoice/:invoiceIdJWT

Bugs (1).docx — Convert a Sales Invoice → Sales Return (credit note)

PATCH/api/v1/sales-returns/:idJWT

Update a sales return

Customer AppSalesBody: UpdateSalesReturnDto
PATCH/api/v1/sales-returns/:id/statusJWT

Set status

Customer AppSalesBody: JSON
PATCH/api/v1/sales-returns/:id/lockJWT

Set lock

Customer AppSalesBody: JSON
PATCH/api/v1/sales-returns/:id/discountJWT

Set discount

Customer AppSalesBody: JSON
PATCH/api/v1/sales-returns/:id/chargesJWT

Set charges

Customer AppSalesBody: JSON
PATCH/api/v1/sales-returns/:id/reminderJWT

Set reminder

Customer AppSalesBody: JSON
POST/api/v1/sales-returns/:id/approveJWT

Approve

Customer AppSalesBody: ApproveReturnDto
POST/api/v1/sales-returns/:id/inspectJWT

Inspect

Customer AppSalesBody: InspectReturnDto
POST/api/v1/sales-returns/:id/process-refundJWT

Process refund

Customer AppSalesBody: ProcessRefundDto
POST/api/v1/sales-returns/:id/zatca-qrJWT

issue the credit note: generate/attach its ZATCA QR and stamp `qrGeneratedAt`

Customer AppSalesBody: IssueZatcaQrDto
POST/api/v1/sales-returns/:id/duplicateJWT

Duplicate

DELETE/api/v1/sales-returns/:idJWT

Delete a sales return

GET/api/v1/salesmanJWT

List salesmans

Customer AppSalesQuery: pagination / filters
GET/api/v1/salesman/:id/summaryJWT

Summary

GET/api/v1/salesman/:idJWT

Get a salesman by id

POST/api/v1/salesmanJWT

Create a salesman

Customer AppSalesBody: CreateSalesmanDto
PATCH/api/v1/salesman/:idJWT

Update a salesman

Customer AppSalesBody: UpdateSalesmanDto
DELETE/api/v1/salesman/:idJWT

Delete a salesman

GET/api/v1/van-sales/summaryJWT

Summary

GET/api/v1/van-sales/routesJWT

List routes

Customer AppSalesQuery: pagination / filters
GET/api/v1/van-sales/routes/:idJWT

Find route

POST/api/v1/van-sales/routesJWT

Create route

Customer AppSalesBody: CreateSalesRouteDto
PATCH/api/v1/van-sales/routes/:idJWT

Update route

Customer AppSalesBody: UpdateSalesRouteDto
DELETE/api/v1/van-sales/routes/:idJWT

Remove route

GET/api/v1/van-sales/loadsJWT

List loads

Customer AppSalesQuery: pagination / filters
GET/api/v1/van-sales/loads/:idJWT

Find load

POST/api/v1/van-sales/loadsJWT

Create load

Customer AppSalesBody: CreateVanLoadDto
PATCH/api/v1/van-sales/loads/:id/settleJWT

Settle

Customer AppSalesBody: SettleVanLoadDto
PATCH/api/v1/van-sales/loads/:idJWT

Update load

Customer AppSalesBody: UpdateVanLoadDto
DELETE/api/v1/van-sales/loads/:idJWT

Remove load

GET/api/v1/goods-receiptsJWT

List goods receipts

Customer AppPurchasingQuery: pagination / filters
GET/api/v1/goods-receipts/:idJWT

Get a goods receipt by id

Customer AppPurchasing
POST/api/v1/goods-receiptsJWT

Create a goods receipt

Customer AppPurchasingBody: CreateGoodsReceiptDto
PATCH/api/v1/goods-receipts/:idJWT

Update a goods receipt

Customer AppPurchasingBody: UpdateGoodsReceiptDto
PATCH/api/v1/goods-receipts/:id/statusJWT

Set status

Customer AppPurchasingBody: JSON
PATCH/api/v1/goods-receipts/:id/lockJWT

Set lock

Customer AppPurchasingBody: JSON
PATCH/api/v1/goods-receipts/:id/discountJWT

Set discount

Customer AppPurchasingBody: JSON
PATCH/api/v1/goods-receipts/:id/chargesJWT

Set charges

Customer AppPurchasingBody: JSON
PATCH/api/v1/goods-receipts/:id/reminderJWT

Set reminder

Customer AppPurchasingBody: JSON
POST/api/v1/goods-receipts/:id/inspectJWT

Inspect

Customer AppPurchasingBody: InspectDto
POST/api/v1/goods-receipts/:id/duplicateJWT

Duplicate

Customer AppPurchasing
POST/api/v1/goods-receipts/:id/convert-to-purchase-invoiceJWT

GoodsReceipt → PurchaseInvoice (see GoodsReceiptsService.convertToPurchaseInvoice)

Customer AppPurchasing
DELETE/api/v1/goods-receipts/:idJWT

Delete a goods receipt

Customer AppPurchasing
GET/api/v1/payment-termsJWT

List payment terms

Customer AppPurchasingQuery: status, search
POST/api/v1/payment-termsJWT

Create a payment term

Customer AppPurchasingBody: CreatePaymentTermDto
PATCH/api/v1/payment-terms/:idJWT

Update a payment term

Customer AppPurchasingBody: UpdatePaymentTermDto
DELETE/api/v1/payment-terms/:idJWT

Delete a payment term

Customer AppPurchasing
GET/api/v1/purchase-invoicesJWT

List purchase invoices

Customer AppPurchasingQuery: pagination / filters
GET/api/v1/purchase-invoices/:idJWT

Get a purchase invoice by id

Customer AppPurchasing
POST/api/v1/purchase-invoicesJWT

Create a purchase invoice

Customer AppPurchasingBody: CreatePurchaseInvoiceDto
PATCH/api/v1/purchase-invoices/:idJWT

Update a purchase invoice

Customer AppPurchasingBody: UpdatePurchaseInvoiceDto
PATCH/api/v1/purchase-invoices/:id/statusJWT

Set status

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-invoices/:id/lockJWT

Set lock

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-invoices/:id/discountJWT

Set discount

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-invoices/:id/chargesJWT

Set charges

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-invoices/:id/reminderJWT

Set reminder

Customer AppPurchasingBody: JSON
POST/api/v1/purchase-invoices/:id/record-paymentJWT

Record payment

Customer AppPurchasingBody: RecordPaymentDto
POST/api/v1/purchase-invoices/:id/duplicateJWT

Duplicate

Customer AppPurchasing
DELETE/api/v1/purchase-invoices/:idJWT

Delete a purchase invoice

Customer AppPurchasing
GET/api/v1/purchase-ordersJWT

List purchase orders

Customer AppPurchasingQuery: pagination / filters
GET/api/v1/purchase-orders/:idJWT

Get a purchase order by id

Customer AppPurchasing
POST/api/v1/purchase-ordersJWT

Create a purchase order

Customer AppPurchasingBody: CreatePurchaseOrderDto
PATCH/api/v1/purchase-orders/:idJWT

Update a purchase order

Customer AppPurchasingBody: UpdatePurchaseOrderDto
PATCH/api/v1/purchase-orders/:id/statusJWT

Set status

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-orders/:id/lockJWT

Set lock

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-orders/:id/discountJWT

Set discount

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-orders/:id/chargesJWT

Set charges

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-orders/:id/reminderJWT

Set reminder

Customer AppPurchasingBody: JSON
POST/api/v1/purchase-orders/:id/duplicateJWT

Duplicate

Customer AppPurchasing
POST/api/v1/purchase-orders/:id/convert-to-goods-receiptJWT

Convert a PurchaseOrder → GoodsReceipt (GRN)

Customer AppPurchasing
POST/api/v1/purchase-orders/:id/convert-to-purchase-invoiceJWT

Convert a PurchaseOrder → PurchaseInvoice (vendor bill / AP)

Customer AppPurchasing
DELETE/api/v1/purchase-orders/:idJWT

Delete a purchase order

Customer AppPurchasing
GET/api/v1/purchase-requestsJWT

List purchase requests

Customer AppPurchasingQuery: pagination / filters
GET/api/v1/purchase-requests/:idJWT

Get a purchase request by id

Customer AppPurchasing
POST/api/v1/purchase-requestsJWT

Create a purchase request

Customer AppPurchasingBody: CreatePurchaseRequestDto
PATCH/api/v1/purchase-requests/:idJWT

Update a purchase request

Customer AppPurchasingBody: UpdatePurchaseRequestDto
PATCH/api/v1/purchase-requests/:id/statusJWT

Set status

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-requests/:id/lockJWT

Set lock

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-requests/:id/discountJWT

Set discount

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-requests/:id/chargesJWT

Set charges

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-requests/:id/reminderJWT

Set reminder

Customer AppPurchasingBody: JSON
POST/api/v1/purchase-requests/:id/duplicateJWT

Duplicate

Customer AppPurchasing
POST/api/v1/purchase-requests/:id/convert-to-purchase-orderJWT

Convert to purchase order

Customer AppPurchasing
DELETE/api/v1/purchase-requests/:idJWT

Delete a purchase request

Customer AppPurchasing
GET/api/v1/purchase-returnsJWT

List purchase returns

Customer AppPurchasingQuery: pagination / filters
GET/api/v1/purchase-returns/:idJWT

Get a purchase return by id

Customer AppPurchasing
POST/api/v1/purchase-returnsJWT

Create a purchase return

Customer AppPurchasingBody: CreatePurchaseReturnDto
POST/api/v1/purchase-returns/from-invoice/:invoiceIdJWT

Bugs (1).docx — Convert a Purchase Invoice → Purchase Return (debit note)

Customer AppPurchasing
PATCH/api/v1/purchase-returns/:idJWT

Update a purchase return

Customer AppPurchasingBody: UpdatePurchaseReturnDto
PATCH/api/v1/purchase-returns/:id/statusJWT

Set status

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-returns/:id/lockJWT

Set lock

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-returns/:id/discountJWT

Set discount

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-returns/:id/chargesJWT

Set charges

Customer AppPurchasingBody: JSON
PATCH/api/v1/purchase-returns/:id/reminderJWT

Set reminder

Customer AppPurchasingBody: JSON
POST/api/v1/purchase-returns/:id/approveJWT

Approve

Customer AppPurchasingBody: ApproveDto
POST/api/v1/purchase-returns/:id/inspectJWT

Inspect

Customer AppPurchasingBody: InspectDto
POST/api/v1/purchase-returns/:id/process-refundJWT

Process refund

Customer AppPurchasingBody: ProcessRefundDto
POST/api/v1/purchase-returns/:id/duplicateJWT

Duplicate

Customer AppPurchasing
DELETE/api/v1/purchase-returns/:idJWT

Delete a purchase return

Customer AppPurchasing
GET/api/v1/vendorsJWT

List vendors

Customer AppPurchasingQuery: pagination / filters
GET/api/v1/vendors/check-duplicateJWT

Declared BEFORE @Get(':id') so `/vendors/check-duplicate` is not captured by the :id param route

Customer AppPurchasingQuery: pagination / filters
GET/api/v1/vendors/:idJWT

Get a vendor by id

Customer AppPurchasing
POST/api/v1/vendorsJWT

Create a vendor

Customer AppPurchasingBody: CreateVendorDto
PATCH/api/v1/vendors/:idJWT

Update a vendor

Customer AppPurchasingBody: UpdateVendorDto
DELETE/api/v1/vendors/:idJWT

Delete a vendor

Customer AppPurchasing
GET/api/v1/customer-branchesJWT

List customer branches

Customer AppCustomers & ContactsQuery: customerId
GET/api/v1/customer-branches/:idJWT

Get a customer branch by id

Customer AppCustomers & Contacts
POST/api/v1/customer-branchesJWT

Create a customer branch

Customer AppCustomers & ContactsBody: CreateCustomerBranchDto
PATCH/api/v1/customer-branches/:idJWT

Update a customer branch

Customer AppCustomers & ContactsBody: UpdateCustomerBranchDto
DELETE/api/v1/customer-branches/:idJWT

Delete a customer branch

Customer AppCustomers & Contacts
GET/api/v1/customer-categoriesJWT

List customer categories

Customer AppCustomers & Contacts
GET/api/v1/customer-categories/:idJWT

Get a customer category by id

Customer AppCustomers & Contacts
POST/api/v1/customer-categoriesJWT

Create a customer category

Customer AppCustomers & ContactsBody: CreateCustomerCategoryDto
PATCH/api/v1/customer-categories/:idJWT

Update a customer category

Customer AppCustomers & ContactsBody: UpdateCustomerCategoryDto
DELETE/api/v1/customer-categories/:idJWT

Delete a customer category

Customer AppCustomers & Contacts
GET/api/v1/customer-contactsJWT

List customer contacts

Customer AppCustomers & ContactsQuery: customerId
GET/api/v1/customer-contacts/:idJWT

Get a customer contact by id

Customer AppCustomers & Contacts
POST/api/v1/customer-contactsJWT

Create a customer contact

Customer AppCustomers & ContactsBody: CreateCustomerContactDto
PATCH/api/v1/customer-contacts/:idJWT

Update a customer contact

Customer AppCustomers & ContactsBody: UpdateCustomerContactDto
DELETE/api/v1/customer-contacts/:idJWT

Delete a customer contact

Customer AppCustomers & Contacts
GET/api/v1/customer-groupsJWT

List customer groups

Customer AppCustomers & Contacts
GET/api/v1/customer-groups/:idJWT

Get a customer group by id

Customer AppCustomers & Contacts
POST/api/v1/customer-groupsJWT

Create a customer group

Customer AppCustomers & ContactsBody: CreateCustomerGroupDto
PATCH/api/v1/customer-groups/:idJWT

Update a customer group

Customer AppCustomers & ContactsBody: UpdateCustomerGroupDto
DELETE/api/v1/customer-groups/:idJWT

Delete a customer group

Customer AppCustomers & Contacts
GET/api/v1/customersJWT

List customers

Customer AppCustomers & ContactsQuery: pagination / filters
GET/api/v1/customers/check-duplicateJWT

Declared BEFORE @Get(':id') so `/customers/check-duplicate` is not captured by the :id param route

Customer AppCustomers & ContactsQuery: pagination / filters
GET/api/v1/customers/:id/financialsJWT

Declared BEFORE @Get(':id') so `/customers/:id/financials` resolves to this handler (Review #18 — real Customer-360 aggregates), not the detail route

Customer AppCustomers & Contacts
GET/api/v1/customers/:idJWT

Get a customer by id

Customer AppCustomers & Contacts
POST/api/v1/customersJWT

Create a customer

Customer AppCustomers & ContactsBody: CreateCustomerDto
PATCH/api/v1/customers/:idJWT

Update a customer

Customer AppCustomers & ContactsBody: UpdateCustomerDto
DELETE/api/v1/customers/:idJWT

Delete a customer

Customer AppCustomers & Contacts
GET/api/v1/itemsJWT

List items

Customer AppItems & PricingQuery: pagination / filters
GET/api/v1/items/check-duplicateJWT

NOTE: declared BEFORE @Get(':id') so the literal `/items/check-duplicate` path is matched here and never captured by the :id param route

Customer AppItems & PricingQuery: pagination / filters
GET/api/v1/items/:idJWT

Get an item by id

Customer AppItems & Pricing
POST/api/v1/itemsJWT

Create an item

Customer AppItems & PricingBody: CreateItemDto
PATCH/api/v1/items/:idJWT

Update an item

Customer AppItems & PricingBody: UpdateItemDto
DELETE/api/v1/items/:idJWT

Delete an item

Customer AppItems & Pricing
POST/api/v1/items/:id/imageJWT

Upload image

Customer AppItems & Pricing
GET/api/v1/items/:id/imagePublic

Get image

Customer AppItems & Pricing
DELETE/api/v1/items/:id/imageJWT

Delete image

Customer AppItems & Pricing
GET/api/v1/price-historyJWT

Get a price record

Customer AppItems & PricingQuery: itemId, sku, customerId, vendorId, limit, allParties
POST/api/v1/batchJWT

Batch

Customer AppInventory & WarehousesBody: BatchRequestDto
GET/api/v1/inventory-categoriesJWT

List inventory categories

Customer AppInventory & WarehousesQuery: pagination / filters
GET/api/v1/inventory-categories/statsJWT

REAL per-category rollups (item count + on-hand stock value), company-scoped

Customer AppInventory & Warehouses
GET/api/v1/inventory-categories/code/:codeJWT

Find by code

Customer AppInventory & Warehouses
GET/api/v1/inventory-categories/:idJWT

Get an inventory category by id

Customer AppInventory & Warehouses
POST/api/v1/inventory-categoriesJWT

Create an inventory category

Customer AppInventory & WarehousesBody: CreateInventoryCategoryDto
PATCH/api/v1/inventory-categories/:idJWT

Update an inventory category

Customer AppInventory & WarehousesBody: UpdateInventoryCategoryDto
DELETE/api/v1/inventory-categories/:idJWT

Delete an inventory category

Customer AppInventory & Warehouses
GET/api/v1/inventory-transfersJWT

List stock transfers

Customer AppInventory & WarehousesQuery: pagination / filters
GET/api/v1/inventory-transfers/:idJWT

Get a stock transfer by id

Customer AppInventory & Warehouses
POST/api/v1/inventory-transfersJWT

Create a stock transfer

Customer AppInventory & WarehousesBody: CreateInventoryTransferDto
POST/api/v1/inventory-transfers/:id/postJWT

Post

Customer AppInventory & Warehouses
DELETE/api/v1/inventory-transfers/:idJWT

Delete a stock transfer

Customer AppInventory & Warehouses
GET/api/v1/inventory-unitsJWT

List units of measure

Customer AppInventory & WarehousesQuery: pagination / filters
GET/api/v1/inventory-units/usageJWT

REAL per-unit usage counts (items using each unit symbol), company-scoped

Customer AppInventory & Warehouses
GET/api/v1/inventory-units/symbol/:symbolJWT

Find by symbol

Customer AppInventory & Warehouses
GET/api/v1/inventory-units/:idJWT

Get an unit of measure by id

Customer AppInventory & Warehouses
POST/api/v1/inventory-unitsJWT

Create an unit of measure

Customer AppInventory & WarehousesBody: CreateInventoryUnitDto
PATCH/api/v1/inventory-units/:idJWT

Update an unit of measure

Customer AppInventory & WarehousesBody: UpdateInventoryUnitDto
DELETE/api/v1/inventory-units/:idJWT

Delete an unit of measure

Customer AppInventory & Warehouses
GET/api/v1/inventory-warehousesJWT

List warehouses

Customer AppInventory & WarehousesQuery: pagination / filters
GET/api/v1/inventory-warehouses/statsJWT

REAL stock-by-warehouse rollups (item count + value + movements), company-scoped

Customer AppInventory & Warehouses
GET/api/v1/inventory-warehouses/code/:codeJWT

Find by code

Customer AppInventory & Warehouses
GET/api/v1/inventory-warehouses/:id/movementsJWT

REAL recent movements for one warehouse (company-scoped), newest first

Customer AppInventory & WarehousesQuery: limit
GET/api/v1/inventory-warehouses/:idJWT

Get a warehouse by id

Customer AppInventory & Warehouses
POST/api/v1/inventory-warehousesJWT

Create a warehouse

Customer AppInventory & WarehousesBody: CreateInventoryWarehouseDto
PATCH/api/v1/inventory-warehouses/:idJWT

Update a warehouse

Customer AppInventory & WarehousesBody: UpdateInventoryWarehouseDto
DELETE/api/v1/inventory-warehouses/:idJWT

Delete a warehouse

Customer AppInventory & Warehouses
GET/api/v1/inventory/stock-movementsJWT

List stock movements

Customer AppInventory & WarehousesQuery: pagination / filters
GET/api/v1/inventory/warehouse-stockJWT

per-item on-hand at one warehouse (from the ledger)

Customer AppInventory & WarehousesQuery: warehouseId
GET/api/v1/stock-adjustmentsJWT

List stock adjustments

Customer AppInventory & WarehousesQuery: pagination / filters
GET/api/v1/stock-adjustments/:idJWT

Get a stock adjustment by id

Customer AppInventory & Warehouses
POST/api/v1/stock-adjustmentsJWT

Create a stock adjustment

Customer AppInventory & WarehousesBody: CreateStockAdjustmentDto
DELETE/api/v1/stock-adjustments/:idJWT

Delete a stock adjustment

Customer AppInventory & Warehouses
GET/api/v1/warehouse-management/binsJWT

─────────────────────────────── BINS ───────────────────────────────

Customer AppInventory & WarehousesQuery: pagination / filters
GET/api/v1/warehouse-management/bins/:idJWT

Find bin

Customer AppInventory & Warehouses
POST/api/v1/warehouse-management/binsJWT

Create bin

Customer AppInventory & WarehousesBody: CreateWarehouseBinDto
PATCH/api/v1/warehouse-management/bins/:idJWT

Update bin

Customer AppInventory & WarehousesBody: UpdateWarehouseBinDto
DELETE/api/v1/warehouse-management/bins/:idJWT

Remove bin

Customer AppInventory & Warehouses
GET/api/v1/warehouse-management/movementsJWT

───────────────────────────── MOVEMENTS ─────────────────────────────

Customer AppInventory & WarehousesQuery: pagination / filters
POST/api/v1/warehouse-management/movementsJWT

Create movement

Customer AppInventory & WarehousesBody: CreateWmsMovementDto
GET/api/v1/pos-security/permissionsJWT

Permissions

Customer AppPoint of Sale
GET/api/v1/pos-security/usersJWT

Users

Customer AppPoint of Sale
GET/api/v1/pos-security/rolesJWT

List roles

Customer AppPoint of Sale
POST/api/v1/pos-security/rolesJWT

Create role

Customer AppPoint of SaleBody: CreatePosRoleDto
PATCH/api/v1/pos-security/roles/:idJWT

Update role

Customer AppPoint of SaleBody: UpdatePosRoleDto
DELETE/api/v1/pos-security/roles/:idJWT

Remove role

Customer AppPoint of Sale
GET/api/v1/pos-security/assignmentsJWT

List assignments

Customer AppPoint of Sale
POST/api/v1/pos-security/assignmentsJWT

Create assignment

Customer AppPoint of SaleBody: CreatePosAssignmentDto
DELETE/api/v1/pos-security/assignments/:idJWT

Remove assignment

Customer AppPoint of Sale
GET/api/v1/pos/outletsJWT

List outlets

Customer AppPoint of Sale
POST/api/v1/pos/outletsJWT

Create outlet

Customer AppPoint of SaleBody: CreateOutletDto
PATCH/api/v1/pos/outlets/:idJWT

Update outlet

Customer AppPoint of SaleBody: UpdateOutletDto
GET/api/v1/pos/terminalsJWT

List terminals

Customer AppPoint of SaleQuery: outletId
POST/api/v1/pos/terminalsJWT

Create terminal

Customer AppPoint of SaleBody: CreateTerminalDto
PATCH/api/v1/pos/terminals/:idJWT

Update terminal

Customer AppPoint of SaleBody: UpdateTerminalDto
GET/api/v1/posJWT

List POS records

Customer AppPoint of SaleQuery: outletId, status
GET/api/v1/pos/currentJWT

Current

Customer AppPoint of SaleQuery: terminalId
GET/api/v1/pos/:id/summaryJWT

rich shift summary (reference images 6 & 8)

Customer AppPoint of Sale
GET/api/v1/pos/:idJWT

Get a POS record by id

Customer AppPoint of Sale
POST/api/v1/pos/openJWT

Open

Customer AppPoint of SaleBody: OpenShiftDto
POST/api/v1/pos/:id/closeJWT

Close

Customer AppPoint of SaleBody: CloseShiftDto
POST/api/v1/pos/:id/pauseJWT

Pause / Resume / Handover / Expense (reference images 6 & 8)

Customer AppPoint of Sale
POST/api/v1/pos/:id/resumeJWT

Resume

Customer AppPoint of Sale
POST/api/v1/pos/:id/handoverJWT

Handover

Customer AppPoint of SaleBody: HandoverShiftDto
POST/api/v1/pos/:id/expenseJWT

Expense

Customer AppPoint of SaleBody: ShiftExpenseDto
GET/api/v1/posJWT

List POS records

Customer AppPoint of SaleQuery: pagination / filters
GET/api/v1/pos/:idJWT

Get a POS record by id

Customer AppPoint of Sale
POST/api/v1/posJWT

Create a POS record

Customer AppPoint of SaleBody: CreatePosSaleDto
GET/api/v1/posJWT

List POS records

Customer AppPoint of SaleQuery: outletId, search
GET/api/v1/pos/:idJWT

Get a POS record by id

Customer AppPoint of Sale
POST/api/v1/posJWT

Create a POS record

Customer AppPoint of SaleBody: CreateHeldBillDto
DELETE/api/v1/pos/:idJWT

Delete a POS record

Customer AppPoint of Sale
GET/api/v1/pos/currentJWT

Current

Customer AppPoint of SaleQuery: terminalId, shiftId
POST/api/v1/posJWT

Create a POS record

Customer AppPoint of SaleBody: CashDrawerTxnDto
GET/api/v1/posJWT

List POS records

Customer AppPoint of SaleQuery: shiftId, outletId, from, to
GET/api/v1/pos/:idJWT

Get a POS record by id

Customer AppPoint of Sale
POST/api/v1/posJWT

Create a POS record

Customer AppPoint of SaleBody: CreatePosReturnDto
GET/api/v1/pos/todayJWT

Today

Customer AppPoint of SaleQuery: from, to, shiftId, outletId
GET/api/v1/pos/receiptsJWT

Receipts

Customer AppPoint of SaleQuery: from, to, shiftId, outletId
GET/api/v1/pos/cashier-salesJWT

Cashier sales

Customer AppPoint of SaleQuery: from, to, shiftId, outletId
GET/api/v1/pos/shift-reportJWT

Shift report

Customer AppPoint of SaleQuery: from, to, shiftId, outletId
GET/api/v1/pos/payment-modeJWT

Payment mode

Customer AppPoint of SaleQuery: from, to, shiftId, outletId