Skip to content

POST /print/{target}

Send a print job to a specific printer.

Endpoint:

POST /api/v1/print/{target}
ParameterTypeDescription
targetstringThe printer’s path value from GET /printers, or a tag alias (e.g. tag_zpl).

Two options for sending print data:

Send the raw print data (ZPL, PDF, etc.) directly as the request body.

POST /api/v1/print/tcp_192-168-86-250_9100
Content-Type: application/octet-stream
X-API-Key: YOUR_API_KEY
^XA^FO50,50^A0N,50,50^FDHello World^FS^XZ

Send a JSON body with a content field containing a URL to fetch the document from.

POST /api/v1/print/tcp_192-168-86-250_9100
Content-Type: application/json
X-API-Key: YOUR_API_KEY
{
"content": "https://example.com/label.zpl"
}
{
"status": "success",
"statusCode": 200,
"result": {
"module": "/print/tcp_192-168-86-250_9100",
"message": "Printed successfully.",
"content": null
}
}

Returned when the pre-flight status check detects an issue (ZPL printers only). See Pre-flight Status Check for details.

{
"status": "error",
"statusCode": 503,
"result": {
"module": "/print/tcp_192-168-86-250_9100",
"message": "Printer is not ready",
"content": {
"ready": false,
"paperOut": false,
"paused": true,
"headOpen": false,
"ribbonOut": false,
"errors": ["Printer is paused (may need calibration — press the feed button)"]
}
}
}