GET /printers/{path}
Returns a single printer by its path (URL-encoded). The response shape matches a single element from the GET /printers array, including status, statusReasons, and loadedTape on USB P-touch printers.
Endpoint:
GET /api/v1/printers/{path}Path Parameter
Section titled “Path Parameter”| Parameter | Type | Description |
|---|---|---|
path |
string |
The printer’s path value, URL-encoded. For example: tcp%3A%2F%2F192.168.86.250%3A9100 or tcp_192-168-86-250_9100. |
Response
Section titled “Response”{ "status": "success", "statusCode": 200, "result": { "module": "/printers/tcp_192-168-86-250_9100", "message": "Printer retrieved.", "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": [] } }}See GET /printers for the full field reference.
Loaded Tape (USB P-touch)
Section titled “Loaded Tape (USB P-touch)”loadedTape is present on supported USB P-touch printers and omitted on other printers. It has three shapes:
| Shape | Meaning |
|---|---|
{ media, label, widthMm, widthPt, mediaType, readAt } |
Successful tape reading. media is the media name, label is its display label, widthPt is the PDF page width in points, and mediaType is the numeric Brother media-type code. widthMm is the reported width; 3.5mm tape reports 4 and uses tz-4 with widthPt: 10. |
{ reason, readAt } |
Failed reading. reason is no-tape, unsupported-tape, printer-error, or unreadable. |
null |
The queue is busy and this backend process has never read the tape. |
For example, a successful reading is:
{ "media": "tz-24", "label": "24 mm tape", "widthMm": 24, "widthPt": 68, "mediaType": 1, "readAt": "2026-03-28T14:30:00.000Z"}An idle queue gets a live reading, bounded to 3 seconds. A busy queue returns the last reading with its original readAt timestamp. Busy includes processing, pending jobs, and the 20 seconds after the queue last changed state: CUPS can report a completed job while the label is still printing and cutting, so ProxyBox does not query the printer then. A stopped queue with no pending jobs and no recent state change also permits a read.
For USB P-touch, use loadedTape.widthPt to size a PDF. capabilities.mediaSupported describes the driver default, not the loaded tape.
Error: 404 — Printer Not Found
Section titled “Error: 404 — Printer Not Found”{ "status": "error", "statusCode": 404, "result": { "module": "/printers/tcp_192-168-99-99_9100", "message": "Printer not found", "content": { "message": "No printer with path: tcp_192-168-99-99_9100" } }}ProxyBox Zero Docs v1.0.29
