curl --request POST \
--url https://api.printeasy.adfinite.com/v1/printjobs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"printerId": "0192f1a0-7c00-7000-8000-0000000000bb",
"title": "Invoice 1042"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({printerId: '0192f1a0-7c00-7000-8000-0000000000bb', title: 'Invoice 1042'})
};
fetch('https://api.printeasy.adfinite.com/v1/printjobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.printeasy.adfinite.com/v1/printjobs"
payload = {
"printerId": "0192f1a0-7c00-7000-8000-0000000000bb",
"title": "Invoice 1042"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"computerId": "0192f1a0-7c00-7000-8000-0000000000cc",
"contentType": "pdf_uri",
"createdAt": "2026-10-14T10:00:00.000Z",
"expireAfter": 86400,
"expiresAt": "2026-10-15T10:00:00.000Z",
"fileSha256": "9f2c4a1e0b7d3f5a8c6e2d4b1a9f7e5c3b1d9f7a5e3c1b9d7f5a3e1c9b7d5f3a",
"fileSize": 48213,
"finishedAt": "2026-10-14T10:00:09.000Z",
"id": "0192f1a0-7c00-7000-8000-0000000000aa",
"mode": "live",
"options": {
"copies": 1,
"paper": "A4"
},
"printerId": "0192f1a0-7c00-7000-8000-0000000000bb",
"printingAt": "2026-10-14T10:00:03.000Z",
"qty": 1,
"receivedAt": "2026-10-14T10:00:02.000Z",
"sentAt": "2026-10-14T10:00:01.000Z",
"source": "api",
"state": "done",
"stateMessage": null,
"title": "Invoice 1042"
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}Create a print job
Queues a PDF or raw document for a printer. Send an Idempotency-Key header to make retries safe: a repeat with the same body returns the first response with header Idempotent-Replayed: true. To print an earlier job again, send reprintOf with its id instead of contentType and content.
curl --request POST \
--url https://api.printeasy.adfinite.com/v1/printjobs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"printerId": "0192f1a0-7c00-7000-8000-0000000000bb",
"title": "Invoice 1042"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({printerId: '0192f1a0-7c00-7000-8000-0000000000bb', title: 'Invoice 1042'})
};
fetch('https://api.printeasy.adfinite.com/v1/printjobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.printeasy.adfinite.com/v1/printjobs"
payload = {
"printerId": "0192f1a0-7c00-7000-8000-0000000000bb",
"title": "Invoice 1042"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"computerId": "0192f1a0-7c00-7000-8000-0000000000cc",
"contentType": "pdf_uri",
"createdAt": "2026-10-14T10:00:00.000Z",
"expireAfter": 86400,
"expiresAt": "2026-10-15T10:00:00.000Z",
"fileSha256": "9f2c4a1e0b7d3f5a8c6e2d4b1a9f7e5c3b1d9f7a5e3c1b9d7f5a3e1c9b7d5f3a",
"fileSize": 48213,
"finishedAt": "2026-10-14T10:00:09.000Z",
"id": "0192f1a0-7c00-7000-8000-0000000000aa",
"mode": "live",
"options": {
"copies": 1,
"paper": "A4"
},
"printerId": "0192f1a0-7c00-7000-8000-0000000000bb",
"printingAt": "2026-10-14T10:00:03.000Z",
"qty": 1,
"receivedAt": "2026-10-14T10:00:02.000Z",
"sentAt": "2026-10-14T10:00:01.000Z",
"source": "api",
"state": "done",
"stateMessage": null,
"title": "Invoice 1042"
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}{
"error": {
"code": "not_found",
"message": "Printer not found",
"request_id": "4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a"
}
}Authorizations
Send Authorization: Bearer <API key>. Use a pe_test_ key in the playground; it only reaches virtual test printers.
Headers
Any unique string up to 255 characters; retries with it never print twice
255"invoice-1042-print-1"
Body
Job to print
Send exactly one of two forms: contentType with content (a new document), or reprintOf alone (print the stored file of an earlier job again). Any other combination is 400 invalid_request.
Printer to print on
Shown in the dashboard and logs
1 - 255Show child attributes
Show child attributes
Base64 document or https content URL. Required together with contentType; must be omitted with reprintOf.
1How content is sent. Required together with content; must be omitted with reprintOf.
pdf_uri, pdf_base64, raw_uri, raw_base64 60 <= x <= 604800Show child attributes
Show child attributes
1 <= x <= 100Id of an earlier job of this organization and mode whose stored file is printed again. Send it instead of contentType and content, never with them. Its contentType is copied; 410 file_expired once the file is gone.
255Response
The queued job
pdf_uri, pdf_base64, raw_uri, raw_base64 live, test Show child attributes
Show child attributes
queued, sent, received, printing, done, error, cancelled, expired Was this page helpful?