Printago API
GET /v1/filament-stock

Get filament stock

On-hand filament weight per variant, split into tracked spools and untagged bulk Needs the filament-inventory add-on. The tracked figures are 0 without the spool-tracking add-on. No figure is ever negative: stock stops at 0 g.

Requires: material.view

Query Parameters

includeEmpty optional
boolean
Include variants that have never held stock.

Response Schema

FilamentStockResponse
rowsrequired
object[]
brandrequirednullable
string
bulkGramsrequired
number
colorrequirednullable
string
lastIntakeAtrequirednullable
string
format: date-time
materialIdrequirednullable
string
pattern: ^[a-z0-9]{24}$
materialNamerequirednullable
string
materialTyperequirednullable
string
onHandGramsrequired
number
Bulk + every tracked spool of this variant.
pricePer1000grequirednullable
number
Effective price per kg (variant's, else the material's), in cents.
trackedCountrequired
number
trackedGramsrequired
number
valueCentsrequirednullable
number
variantIdrequired
string
pattern: ^[a-z0-9]{24}$
variantNamerequired
string
summaryrequired
object
bulkGramsrequired
number
onHandGramsrequired
number
trackedCountrequired
number
trackedGramsrequired
number
unpricedVariantCountrequired
number
Variants holding stock at no known price, so the value above is a floor.
valueCentsrequired
number
What the priced stock is worth. Filament with no price is not in here.
variantCountrequired
number

Example Response

200 OK — application/json
{
  "rows": [
    {
      "variantId": "string",
      "variantName": "string",
      "materialId": "string",
      "materialName": "string",
      "brand": "string",
      "materialType": "string",
      "color": "string",
      "onHandGrams": 1,
      "bulkGrams": 1,
      "trackedGrams": 1,
      "trackedCount": 1,
      "pricePer1000g": 1,
      "valueCents": 1,
      "lastIntakeAt": "2025-01-15T12:00:00.000Z"
    }
  ],
  "summary": {
    "onHandGrams": 1,
    "bulkGrams": 1,
    "trackedGrams": 1,
    "trackedCount": 1,
    "valueCents": 1,
    "unpricedVariantCount": 1,
    "variantCount": 1
  }
}