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.

Requires: printer.view

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"
  }
]