文件目錄
Inventory
Real-time stock — on-hand, reserved and available quantities by SKU and warehouse — plus the warehouses, bins, lots, serials, adjustments, transfers and reservations that move it. The operational balance-sheet inventory that sales, purchasing and manufacturing draw down and replenish. Every mutation is an auditable event.
/v1/inventoryScope: inventory:readList stock levels
Returns on-hand, reserved and available quantities per SKU per warehouse. Filter to items at or below their reorder point to drive replenishment.
| skuoptional | stringFilter by stock-keeping unit. |
| warehouse_idoptional | stringFilter by warehouse id. |
| below_reorderoptional | booleanOnly SKUs at or below their reorder point. |
| limitoptional | integerPage size, 1–200 (default 50). |
| cursoroptional | stringPagination cursor from a previous response. |
curl "https://api.apusplatform.com/v1/inventory" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"sku": "STEEL-BRKT-08",
"warehouse_id": "wh_hcm",
"on_hand": 1840,
"reserved": 320,
"available": 1520,
"reorder_point": 500,
"below_reorder": false,
"updated_at": "2026-07-20T03:14:52Z"
}
],
"has_more": true,
"next_cursor": "crsr_inv_2f"
}/v1/inventory/{sku}Scope: inventory:readRetrieve stock for a SKU
Returns aggregated stock for one SKU across every warehouse, plus a per-warehouse breakdown.
| skurequired | stringStock-keeping unit. |
curl "https://api.apusplatform.com/v1/inventory/STEEL-BRKT-08" \
-H "Authorization: Bearer $APUS_TOKEN"{
"sku": "STEEL-BRKT-08",
"unit": "pcs",
"totals": {
"on_hand": 2650,
"reserved": 320,
"available": 2330
},
"warehouses": [
{
"warehouse_id": "wh_hcm",
"on_hand": 1840,
"reserved": 320,
"available": 1520
},
{
"warehouse_id": "wh_hanoi",
"on_hand": 810,
"reserved": 0,
"available": 810
}
],
"updated_at": "2026-07-20T03:14:52Z"
}/v1/inventory/adjustmentsScope: inventory:writeAdjust stock
Records a signed stock adjustment against a SKU at a warehouse. Use a positive quantity_delta to add, a negative one to remove. Every adjustment is an auditable event with a reason.
| skurequired | stringStock-keeping unit. |
| warehouse_idrequired | stringWarehouse the adjustment applies to. |
| quantity_deltarequired | integerSigned quantity change (negative removes stock). |
| reasonrequired | stringOne of cycle_count, damage, correction. |
| noteoptional | stringFree-text memo kept on the audit trail. |
curl -X POST "https://api.apusplatform.com/v1/inventory/adjustments" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sku": "STEEL-BRKT-08",
"warehouse_id": "wh_hcm",
"quantity_delta": -12,
"reason": "damage",
"note": "Water damage during monsoon transit"
}'{
"id": "adj_7d21",
"sku": "STEEL-BRKT-08",
"warehouse_id": "wh_hcm",
"quantity_delta": -12,
"reason": "damage",
"on_hand": 1828,
"created_at": "2026-07-20T03:20:00Z"
}/v1/inventory/transfersScope: inventory:writeTransfer stock
Moves stock of a SKU from one warehouse to another. The quantity is deducted from the source on creation and received at the destination when the transfer completes.
| skurequired | stringStock-keeping unit. |
| from_warehouse_idrequired | stringSource warehouse id. |
| to_warehouse_idrequired | stringDestination warehouse id. |
| quantityrequired | integerQuantity to move (positive). |
curl -X POST "https://api.apusplatform.com/v1/inventory/transfers" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sku": "STEEL-BRKT-08",
"from_warehouse_id": "wh_hcm",
"to_warehouse_id": "wh_hanoi",
"quantity": 200
}'{
"id": "trf_5c90",
"sku": "STEEL-BRKT-08",
"from_warehouse_id": "wh_hcm",
"to_warehouse_id": "wh_hanoi",
"quantity": 200,
"status": "in_transit",
"created_at": "2026-07-20T03:25:00Z"
}/v1/inventory/warehousesScope: inventory:readList warehouses
Returns the warehouses (and distribution centers) stock is held in.
No parameters.
curl "https://api.apusplatform.com/v1/inventory/warehouses" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "wh_hcm",
"code": "HCM-01",
"name": "Ho Chi Minh DC",
"type": "distribution",
"active": true
},
{
"id": "wh_hanoi",
"code": "HN-01",
"name": "Hanoi warehouse",
"type": "storage",
"active": true
}
]
}/v1/inventory/warehousesScope: inventory:writeCreate a warehouse
Creates a warehouse. code must be unique.
| coderequired | stringUnique warehouse code. |
| namerequired | stringDisplay name. |
| addressoptional | stringPhysical address. |
curl -X POST "https://api.apusplatform.com/v1/inventory/warehouses" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"code": "DN-01",
"name": "Da Nang warehouse",
"address": "48 Bach Dang, Hai Chau, Da Nang"
}'{
"id": "wh_danang",
"code": "DN-01",
"name": "Da Nang warehouse",
"created_at": "2026-07-20T03:30:00Z"
}/v1/inventory/warehouses/{id}Scope: inventory:readRetrieve a warehouse
Returns a single warehouse by its id.
| idrequired | stringWarehouse id. |
curl "https://api.apusplatform.com/v1/inventory/warehouses/wh_hcm" \
-H "Authorization: Bearer $APUS_TOKEN"{
"id": "wh_hcm",
"code": "HCM-01",
"name": "Ho Chi Minh DC",
"type": "distribution",
"address": "12 Nguyen Van Linh, District 7, Ho Chi Minh City",
"bins_count": 240,
"active": true,
"created_at": "2025-01-08T09:00:00Z"
}/v1/inventory/warehouses/{id}/binsScope: inventory:readList bins
Returns the storage bins (locations) within a warehouse.
| idrequired | stringWarehouse id. |
curl "https://api.apusplatform.com/v1/inventory/warehouses/{id}/bins" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "bin_a1",
"code": "A-01-01",
"zone": "A",
"type": "pick",
"occupied": true
},
{
"id": "bin_a2",
"code": "A-01-02",
"zone": "A",
"type": "bulk",
"occupied": false
}
]
}/v1/inventory/lotsScope: inventory:readList lots
Returns tracked lots/batches with their quantities and expiry dates. Filter by SKU or warehouse.
| skuoptional | stringFilter by stock-keeping unit. |
| warehouse_idoptional | stringFilter by warehouse id. |
| limitoptional | integerPage size, 1–200 (default 50). |
| cursoroptional | stringPagination cursor from a previous response. |
curl "https://api.apusplatform.com/v1/inventory/lots" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "lot_88f2",
"sku": "PAINT-WHT-5L",
"lot_number": "L2026-0142",
"warehouse_id": "wh_hcm",
"quantity": 340,
"expires_at": "2027-03-31",
"unit_cost": {
"amount": 210000,
"currency": "VND"
}
}
],
"has_more": false,
"next_cursor": null
}/v1/inventory/lots/{id}Scope: inventory:readRetrieve a lot
Returns a single lot/batch by its id.
| idrequired | stringLot id. |
curl "https://api.apusplatform.com/v1/inventory/lots/lot_88f2" \
-H "Authorization: Bearer $APUS_TOKEN"{
"id": "lot_88f2",
"sku": "PAINT-WHT-5L",
"lot_number": "L2026-0142",
"warehouse_id": "wh_hcm",
"quantity": 340,
"manufactured_at": "2026-04-02",
"expires_at": "2027-03-31",
"unit_cost": {
"amount": 210000,
"currency": "VND"
},
"status": "available"
}/v1/inventory/serialsScope: inventory:readList serial numbers
Returns serial-tracked units and their current status. Filter by SKU or status.
| skuoptional | stringFilter by stock-keeping unit. |
| statusoptional | stringFilter by status: in_stock, reserved, shipped, returned. |
| limitoptional | integerPage size, 1–200 (default 50). |
| cursoroptional | stringPagination cursor from a previous response. |
curl "https://api.apusplatform.com/v1/inventory/serials" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "srl_4410",
"sku": "LAPTOP-14-PRO",
"serial_number": "SN-2026-004410",
"warehouse_id": "wh_hcm",
"status": "in_stock"
},
{
"id": "srl_4411",
"sku": "LAPTOP-14-PRO",
"serial_number": "SN-2026-004411",
"status": "shipped"
}
],
"has_more": true,
"next_cursor": "crsr_srl_7a"
}/v1/inventory/reservationsScope: inventory:readList reservations
Returns active stock reservations. Filter by SKU or by the order they back.
| skuoptional | stringFilter by stock-keeping unit. |
| order_idoptional | stringFilter by the order the reservation backs. |
| limitoptional | integerPage size, 1–200 (default 50). |
| cursoroptional | stringPagination cursor from a previous response. |
curl "https://api.apusplatform.com/v1/inventory/reservations" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "rsv_2c81",
"sku": "STEEL-BRKT-08",
"warehouse_id": "wh_hcm",
"quantity": 320,
"order_id": "so_9f30",
"status": "active",
"created_at": "2026-07-19T10:02:00Z"
}
],
"has_more": false,
"next_cursor": null
}/v1/inventory/reservationsScope: inventory:writeReserve stock
Reserves available stock of a SKU at a warehouse, moving it from available to reserved. Optionally tie the reservation to a sales order.
| skurequired | stringStock-keeping unit. |
| warehouse_idrequired | stringWarehouse to reserve from. |
| quantityrequired | integerQuantity to reserve (positive). |
| order_idoptional | stringSales order the reservation backs. |
curl -X POST "https://api.apusplatform.com/v1/inventory/reservations" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sku": "STEEL-BRKT-08",
"warehouse_id": "wh_hcm",
"quantity": 50,
"order_id": "so_9f30"
}'{
"id": "rsv_2c82",
"sku": "STEEL-BRKT-08",
"warehouse_id": "wh_hcm",
"quantity": 50,
"order_id": "so_9f30",
"status": "active",
"expires_at": "2026-07-27T03:35:00Z",
"created_at": "2026-07-20T03:35:00Z"
}/v1/inventory/stock-countsScope: inventory:writeOpen a stock count
Opens a physical stock-count (cycle count or full inventory) for a warehouse. Counted quantities are reconciled against the system on close.
| warehouse_idrequired | stringWarehouse to count. |
| scopeoptional | stringOne of full, partial (default full). |
curl -X POST "https://api.apusplatform.com/v1/inventory/stock-counts" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"warehouse_id": "wh_hcm",
"scope": "partial"
}'{
"id": "cnt_6712",
"warehouse_id": "wh_hcm",
"scope": "partial",
"status": "open",
"created_at": "2026-07-20T03:40:00Z"
}