Printago API
GET /v1/print-history/serials/{serial}/attempts

Trace a spool serial through print history

Every print attempt that consumed a given spool serial The traceability lookup: given a roll's serial, which prints used it, when, on which printer, and how much came off it. Newest first.

Requires: queue.view

Path Parameters

serial required
string
The spool serial to trace

Query Parameters

limit required
number
Maximum attempts to return (default 200, max 1000)

Response Schema

SpoolSerialTrace
attemptsrequired
object[]
The newest matching attempts, capped by the request's `limit`.
attemptNumberrequired
number
endedAtrequired
string
format: date-time
outcomerequired
string
partNamerequirednullable
string
printerIdrequirednullable
string
pattern: ^[a-z0-9]{24}$
printerNamerequirednullable
string
printHistoryIdrequired
string
pattern: ^[a-z0-9]{24}$
printJobIdrequirednullable
string
pattern: ^[a-z0-9]{24}$
skuNamerequirednullable
string
slotsrequired
number[]
Flat slot ids on this attempt that held the serial.
usedGramsrequirednullable
number
Grams drawn from this roll on this attempt, null when never converted.
attemptsWithUnknownGramsrequired
number
Matching attempts with no grams conversion. Non-zero means `totalUsedGrams` under-counts; equal to `totalAttempts` means consumption is entirely unknown rather than zero.
serialrequired
string
totalAttemptsrequired
number
Every attempt that used the roll, whether or not it fit in `attempts`.
totalUsedGramsrequired
number
Grams drawn off the roll across every match — not just the returned page. Attempts whose millimetres were never converted contribute nothing, so this is a floor whenever `attemptsWithUnknownGrams` is non-zero.
truncatedrequired
boolean
True when `attempts` holds only the newest page of `totalAttempts`.

Example Response

200 OK — application/json
{
  "serial": "string",
  "attempts": [
    {
      "printHistoryId": "string",
      "printJobId": "string",
      "attemptNumber": 1,
      "endedAt": "2025-01-15T12:00:00.000Z",
      "outcome": "string",
      "partName": "string",
      "skuName": "string",
      "printerId": "string",
      "printerName": "string",
      "slots": [
        1
      ],
      "usedGrams": 1
    }
  ],
  "totalAttempts": 1,
  "truncated": true,
  "totalUsedGrams": 1,
  "attemptsWithUnknownGrams": 1
}