Printago API
GET
/v1/printer-throttle-groups/leases
List Staggered Start holds
List Staggered Start holds (leases). By default returns only the **active** holds (`releasedAt` is null) — the printers currently reserving or warming a slot. Each lease carries `groupId`, `printerId`, `warmupStartedAt` (set once the job is sent and the printer is heating), and `releasedAt`. Count the ones with a non-null `warmupStartedAt` to get how many printers are warming right now. Pass `includeReleased=true` for the full history.
Query Parameters
includeReleased
optional
boolean
Include released (historical) holds, not just the active ones.
Response Schema
PrinterThrottleLease[]
Array of PrinterThrottleLease, each with:
acquiredAtrequired
string
format: date-time
bedSatisfiedAtrequirednullable
string
format: date-time
createdAtrequired
string
format: date-time
durationSatisfiedAtrequirednullable
string
format: date-time
fallbackTimeoutSecondsSnapshotrequired
number
groupIdrequired
string
pattern: ^[a-z0-9]{24}$
idrequired
string
pattern: ^[a-z0-9]{24}$
nozzleSatisfiedAtrequirednullable
string
format: date-time
printerIdrequired
string
pattern: ^[a-z0-9]{24}$
printJobIdrequired
string
pattern: ^[a-z0-9]{24}$
releaseConditionsSnapshotrequired
object
bedoptionalnullable
object
moderequired
"percent-of-target" | "fixed-temp" | "first-layer-temp"
percent-of-targetfixed-tempfirst-layer-temp
percentoptionalnullable
number
temperatureCoptionalnullable
number
durationoptionalnullable
object
secondsrequired
number
nozzleoptionalnullable
object
moderequired
"percent-of-target" | "fixed-temp" | "first-layer-temp"
percent-of-targetfixed-tempfirst-layer-temp
percentoptionalnullable
number
temperatureCoptionalnullable
number
releasedAtrequirednullable
string
format: date-time
releaseReasonrequirednullable
enum
all-conditions-satisfiedjob-cancelledjob-completedjob-failedjob-unassignedprinter-offlinesend-failedfallback-timeoutclaim-stalemanual-releasestale-idle
storeIdrequired
string
pattern: ^[a-z0-9]{24}$
taskIdSnapshotrequirednullable
number
temperatureToleranceCSnapshotrequired
number
updatedAtrequired
string
format: date-time
warmupStartedAtrequirednullable
string
Stamped at send (`PrinterSendJobStep`). Null while the reservation is held
but the job has not yet been streamed to the printer. Release conditions
(temp/duration/fallback) are evaluated relative to this timestamp, so
slicing dead-time never burns the warmup window. Capacity is unaffected.
format: date-time
Example Response
200 OK — application/json
[
{
"groupId": "string",
"printerId": "string",
"printJobId": "string",
"taskIdSnapshot": 1,
"releaseConditionsSnapshot": {
"bed": {
"mode": "percent-of-target",
"percent": 1,
"temperatureC": 1
},
"nozzle": {
"mode": "percent-of-target",
"percent": 1,
"temperatureC": 1
},
"duration": {
"seconds": 1
}
},
"fallbackTimeoutSecondsSnapshot": 1,
"temperatureToleranceCSnapshot": 1,
"bedSatisfiedAt": "2025-01-15T12:00:00.000Z",
"nozzleSatisfiedAt": "2025-01-15T12:00:00.000Z",
"durationSatisfiedAt": "2025-01-15T12:00:00.000Z",
"acquiredAt": "2025-01-15T12:00:00.000Z",
"warmupStartedAt": "2025-01-15T12:00:00.000Z",
"releasedAt": "2025-01-15T12:00:00.000Z",
"releaseReason": "all-conditions-satisfied",
"id": "string",
"storeId": "string",
"createdAt": "2025-01-15T12:00:00.000Z",
"updatedAt": "2025-01-15T12:00:00.000Z"
}
]