Skip to content

GET /printers

Returns all configured printers — both auto-discovered and manually added — with real-time status from CUPS.

Endpoint:

GET /api/v1/printers
{
"status": "success",
"statusCode": 200,
"result": {
"module": "/printers",
"message": "Successfully obtained printers.",
"content": [
{
"id": "MYS9QT8D",
"type": "printer",
"path": "tcp_192-168-86-250_9100",
"connection": {
"type": "network",
"host": "192.168.86.250",
"port": 9100,
"protocol": "tcp"
},
"model": "Zebra ZD421",
"content": "zpl",
"discovered": false,
"localAddress": "192.168.86.250",
"status": "online",
"statusReasons": []
}
]
}
}
Field Type Description
id string Unique printer identifier.
path string The addressable path — use this as the target parameter when printing.
connection.type string network or usb.
connection.host string IP or hostname (network printers).
connection.port number Port number (network printers).
connection.protocol string tcp, ipp, http, or https.
connection.serialNumber string Serial number (USB printers only).
model string Printer model name.
content string Content type: raw, pdf, or zpl.
supportedFormats string[] MIME types supported (discovered via IPP).
discovered boolean true if auto-discovered, false if manually added.
status string Printer status: online, offline, error, or unknown. Derived from CUPS queue state.
statusReasons string[] CUPS printer-state-reasons for the queue (e.g. media-empty, toner-low-warning, paused). Empty array when no conditions are raised.
capabilities object Capability snapshot captured during discovery (see below).

statusReasons reflects what the CUPS queue knows about the printer. Driver- and IPP-backed printers report rich conditions (e.g. media-empty, toner-low-warning, paused). Raw socket printers such as Zebra label printers on TCP port 9100 always report an empty array — CUPS learns nothing about printer health from a raw socket. For Zebra printers, health is checked at print time instead: see the pre-flight status check.

Use capabilities to build valid print requests — it tells you which print options a printer will honor. IPP printers report real values; other printer types get sensible defaults.

Field Type Description
makeAndModel string Make and model as reported by the printer.
colorSupported boolean Whether the printer can print in color (colorMode option).
documentFormatsSupported string[] MIME types the printer accepts.
mediaSupported string[] Valid values for the paperSize print option (IPP media names, e.g. na_letter_8.5x11in, iso_a4_210x297mm).
sidesSupported string[] Duplex support: one-sided, two-sided-long-edge, two-sided-short-edge.
copiesSupported [number, number] [min, max] range for the copies option.

ProxyBox Docs v1.0.16