Skip to content

Inventory

PrintStudio’s inventory tracker monitors material stock levels and automatically blocks jobs when a required material is insufficient. This prevents silent failures caused by an empty spool mid-print.

  1. Each SKU specifies a required material and estimated consumption in grams (or sheets for laser)
  2. When a job enters VALIDATED, the inventory tracker checks remaining stock
  3. If stock is insufficient, the job is flagged as awaiting_manual_review instead of proceeding to SLICED
  4. When stock is replenished, blocked jobs are automatically released
TypeUnitTracked by
FDM filamentgrams (g)Spool weight
Resinmillilitres (mL)Bottle volume
Laser sheetpiecesSheet count
Laser consumableunitsManual count
Terminal window
# Add a new spool of PLA Black
curl -X POST http://localhost:8787/api/inventory/materials \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d '{
"name": "PLA Black",
"type": "filament",
"color": "#1a1a1a",
"brand": "Bambu",
"quantity": 1000,
"unit": "g",
"reorderPoint": 200,
"reorderQuantity": 2000
}'
# Update stock after receiving new material
curl -X PATCH http://localhost:8787/api/inventory/materials/{id} \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d '{ "quantity": 1000 }'

Set reorderPoint (in grams/mL) on each material. When stock drops below this threshold:

  1. AutoPilot sends a low-stock alert via email and OpenClaw
  2. A LOW_STOCK event fires — n8n can trigger a purchase order workflow
  3. Jobs requiring that material are still accepted and queued, but will block at validation until stock is replenished
Terminal window
# View current stock levels
curl http://localhost:8787/api/inventory/materials \
-H "X-API-Key: your-api-key"

If you use InvenTree for parts management, PrintStudio can sync material stock bidirectionally. Configure the integration in the Setup Wizard and set:

Terminal window
INVENTREE_URL=http://localhost:8000
INVENTREE_TOKEN=your-api-token

Stock updates in InvenTree are reflected in PrintStudio within 5 minutes (polling interval).