Inventory API
The Inventory API provides endpoints for viewing inventory levels, analytics, channel-location ATP matrices, and managing cycle counts.Scope: Tenant-scoped; requires authenticated org context
Availability: Not available in SuperAdmin
Availability: Not available in SuperAdmin
Authentication
All requests require authentication. Include your API key in theAuthorization header:
Base URL
Headers
All requests must include:Endpoints
| Method | Path | Summary | Auth | Stability | Permissions |
|---|---|---|---|---|---|
GET | /api/inventory | List inventory items | session | stable | inventory.read |
POST | /api/inventory/adjust | Adjust inventory | session | stable | inventory.adjust |
GET | /api/inventory/adjustments | List inventory adjustments | session | stable | inventory.adjust |
POST | /api/inventory/adjustments | Create inventory adjustment | session | stable | inventory.adjust |
POST | /api/inventory/adjustments/lot-correction | Create lot correction adjustment | session | stable | inventory.adjust |
GET | /api/inventory/adjustments/reason-codes | List adjustment reason codes | session | stable | inventory.adjust |
GET | /api/inventory/adjustments/record-stock | List recorded stock adjustments | session | stable | inventory.adjust |
POST | /api/inventory/adjustments/record-stock | Record stock adjustment | session | stable | inventory.adjust |
GET | /api/inventory/availability | List availability records | session | stable | inventory.read |
GET | /api/inventory/availability/[id] | Get availability record | session | stable | inventory.read |
POST | /api/inventory/availability/[id] | Create availability record | session | stable | inventory.write |
POST | /api/inventory/availability/check | Check availability | session | stable | inventory.read |
GET | /api/inventory/channel-location | Get channel × location ATP matrix | session | stable | inventory.read |
GET | /api/inventory/channel-location/drilldown | Drill down into channel-location ATP | session | stable | inventory.read |
GET | /api/inventory/channel/summary | Get channel inventory summary | session | stable | inventory.read |
GET | /api/inventory/cycle-count | List cycle count batches | session | stable | inventory.cyclecount |
POST | /api/inventory/cycle-count | Create cycle count batch | session | stable | inventory.cyclecount |
GET | /api/inventory/cycle-count/[batchId] | Get cycle count batch details | session | stable | inventory.cyclecount |
POST | /api/inventory/cycle-count/[batchId] | Update cycle count batch | session | stable | inventory.cyclecount |
GET | /api/inventory/cycle-count/abc | Get ABC classification for cycle counting | session | stable | inventory.cyclecount |
POST | /api/inventory/cycle-count/abc | Create ABC-based cycle count | session | stable | inventory.cyclecount |
GET | /api/inventory/cycle-count/blind-form | Get blind cycle count form | session | stable | inventory.cyclecount |
POST | /api/inventory/cycle-count/resolve | Resolve cycle count discrepancies | session | stable | inventory.cyclecount |
GET | /api/inventory/expired | List expired inventory | session | stable | inventory.read |
POST | /api/inventory/expired/mark-consumed | Mark expired inventory as consumed | session | stable | inventory.write |
POST | /api/inventory/expired/mark-expired | Mark inventory as expired | session | stable | inventory.write |
POST | /api/inventory/expired/transfer-destruction | Transfer expired inventory for destruction | session | stable | inventory.write |
GET | /api/inventory/holds | List inventory holds | session | stable | inventory.read |
POST | /api/inventory/holds | Create inventory hold | session | stable | inventory.write |
POST | /api/inventory/holds/release | Release inventory hold | session | stable | inventory.write |
GET | /api/inventory/locations | List inventory by location | session | stable | inventory.read |
GET | /api/inventory/lot-control/validate | Get lot control validation | session | stable | inventory.read |
POST | /api/inventory/lot-control/validate | Validate lot control | session | stable | inventory.read |
GET | /api/inventory/put-away | List put-away tasks | session | stable | inventory.read |
POST | /api/inventory/put-away | Create put-away task | session | stable | inventory.write |
POST | /api/inventory/record-stock | Record stock | session | stable | inventory.write |
GET | /api/inventory/replenishment | List replenishment records | session | stable | replenishment.read |
POST | /api/inventory/replenishment | Create replenishment record | session | stable | replenishment.write |
GET | /api/inventory/replenishment/config | Get replenishment configuration | session | stable | replenishment.read |
POST | /api/inventory/replenishment/config | Update replenishment configuration | session | stable | replenishment.write |
POST | /api/inventory/replenishment/suggestions | Get replenishment suggestions | session | stable | replenishment.read |
GET | /api/inventory/transfers | List inventory transfers | session | stable | transfers.read |
POST | /api/inventory/transfers | Create inventory transfer | session | stable | transfers.write |
GET | /api/inventory/transfers/[id] | Get inventory transfer | session | stable | transfers.read |
POST | /api/inventory/transfers/[id] | Update inventory transfer | session | stable | transfers.write |
GET | /api/inventory/transfers/bins | Get transfer bins | session | stable | transfers.read |
GET | /api/products/[id]/inventory-levels | Get product inventory levels | session | stable | products.read, inventory.read |
GET | /api/stock-requests | List stock requests | session | stable | stockrequests.read |
POST | /api/stock-requests | Create a stock request | session | stable | stockrequests.write |
GET | /api/stock-requests/[id] | Get a specific stock request | session | stable | stockrequests.read |
PATCH | /api/stock-requests/[id] | Update a stock request | session | stable | stockrequests.write |
DELETE | /api/stock-requests/[id] | Delete a stock request | session | stable | stockrequests.write |
POST | /api/stock-requests/[id]/approve | Approve a stock request | session | stable | stockrequests.approve |
POST | /api/stock-requests/[id]/comment | Add comment to stock request | session | stable | stockrequests.write |
GET | /api/stock-requests/[id]/lines | Get stock request lines | session | stable | stockrequests.read |
POST | /api/stock-requests/[id]/lines | Add line to stock request | session | stable | stockrequests.write |
POST | /api/stock-requests/[id]/reject | Reject a stock request | session | stable | stockrequests.approve |
POST | /api/stock-requests/[id]/rollback | Rollback a stock request | session | stable | stockrequests.write |
GET | /api/stock-requests/[id]/status | Get stock request status | session | stable | stockrequests.read |
POST | /api/stock-requests/[id]/status | Update stock request status | session | stable | stockrequests.write |
POST | /api/stock-requests/[id]/submit | Submit a stock request | session | stable | stockrequests.write |
GET | /api/stock-requests/by-category | Get stock requests by category | session | stable | stockrequests.read |
GET | /api/stock-requests/dashboard | Get stock requests dashboard data | session | stable | stockrequests.read |
GET | /api/stock-requests/filters | Get stock request filter options | session | stable | stockrequests.read |
GET | /api/stock-requests/pending-approvals | Get pending approvals | session | stable | stockrequests.approve |
GET | /api/stock-requests/products/search | Search products for stock requests | session | stable | stockrequests.read, products.read |
GET | /api/stock-requests/products/stocklist | Get stocklist for stock requests | session | stable | stockrequests.read |
GET | /cycle-count | List cycle count batches |
| POST | /cycle-count | Create cycle count batch |
| GET | /cycle-count/[batchId] | Get cycle count batch details |
| POST | /cycle-count/resolve | Resolve cycle count discrepancies |
Example Requests
Get Channel × Location ATP Matrix
List Inventory Items
Get Inventory Analytics
Common Errors
401 Unauthorized
Authorization header.
400 Bad Request
404 Not Found
500 Internal Server Error
Query Parameters
Channel-Location ATP
locationId(required): Location IDsearch: Search by product name or SKUchannels: Comma-separated channel IDs to filterpage: Page number (default: 1)limit: Page size (default: 50, max: 200)
List Inventory
locationId: Filter by locationproductMasterId: Filter by productlotId: Filter by lotbinId: Filter by binpage: Page number (default: 1)limit: Page size (default: 20, max: 100)
Inventory Analytics
locationId: Filter by locationfromDate: Start date (ISO string)toDate: End date (ISO string)categoryId: Filter by category