API REFERENCE

Inventory API

The Inventory API reads and moves the stock an MSP keeps on hand: quantities by location, serialized units, and the purchase orders, receipts, transfers, and counts that change them. Use it to feed warehouse tooling, barcode scanners, and procurement automation.

Read stock on hand

GET /inventory/stock lists quantities, filterable by location_id, service_id, client_id, and a low_stock flag for reorder checks. GET /inventory/stock-locations lists the places stock can live, and /inventory/units tracks individual serialized units through to the asset they become. For scanner integrations, GET /inventory/lookup resolves a scanned barcode or identifier in one call.

curl
curl "https://algapsa.com/api/v1/inventory/lookup?code=889349114032" \
  -H "X-API-Key: $ALGA_API_KEY"

Receive and move stock

Incoming hardware flows through purchase orders: list them with GET /inventory/purchase-orders and book arrivals with POST /inventory/purchase-orders/{poId}/lines/{lineId}/receive. Stock that arrives outside a PO is booked with POST /inventory/receipts. Between locations, list in-flight moves with GET /inventory/transfers and confirm arrival with POST /inventory/transfers/{transferId}/receive. One-off corrections go through POST /inventory/adjustments.

Run cycle counts

Physical counts are session-based: POST /inventory/counts starts a session, POST /inventory/counts/{sessionId}/records records each counted quantity, and POST /inventory/counts/{sessionId}/submit closes the session and applies the results.

Endpoints

Every endpoint links through to its full parameters, request and response schemas, and code samples.

POST/api/v1/inventory/adjustmentsAlgaPSAAdjust stockGET/api/v1/inventory/countsAlgaPSAList cycle count sessionsPOST/api/v1/inventory/countsAlgaPSAStart a cycle count sessionGET/api/v1/inventory/counts/{sessionId}AlgaPSAGet a cycle count sessionPOST/api/v1/inventory/counts/{sessionId}/recordsAlgaPSARecord a cycle count quantityPOST/api/v1/inventory/counts/{sessionId}/submitAlgaPSASubmit a cycle count sessionGET/api/v1/inventory/lookupAlgaPSALook up an inventory barcode or identifierGET/api/v1/inventory/purchase-ordersAlgaPSAList purchase ordersGET/api/v1/inventory/purchase-orders/{poId}AlgaPSAGet a purchase orderPOST/api/v1/inventory/purchase-orders/{poId}/lines/{lineId}/receiveAlgaPSAReceive a purchase-order linePOST/api/v1/inventory/receiptsAlgaPSAReceive stock manuallyGET/api/v1/inventory/stockAlgaPSAList stock levelsGET/api/v1/inventory/stock-locationsAlgaPSAList stock locationsGET/api/v1/inventory/transfersAlgaPSAList stock transfersPOST/api/v1/inventory/transfers/{transferId}/receiveAlgaPSAReceive a stock transferGET/api/v1/inventory/unitsAlgaPSAList serialized stock unitsGET/api/v1/inventory/units/{unitId}AlgaPSAGet a serialized stock unit