RESTprinting API
Use the RESTprinting API to submit print jobs and monitor status. This page covers only the public endpoints that integrations need.
How it works
- Create an API key in the dashboard.
- Connect a print server and register printers.
- Send print jobs with your API key.
- Poll job status to monitor progress.
Need help setting up a print server? Start in Print Servers.
Base URL
Production: https://restprinting.com/api
Authentication
All requests require a customer API key in the Authorization header.
Authorization: Bearer YOUR_API_KEYGenerate customer API keys at restprinting.com/dashboard/api-keys. Keys are scoped to the selected organization, so be sure you are in the correct org before creating them. These keys are different from print server keys.
POST /api/print-jobs
Create a new print job.
Request body
printServerId(string, required)printerId(string, required)fileName(string, required)fileType(pdf | jpg | png, required)fileUrlorfileDataBase64(exactly one required)copies(1-100, default 1)priority(1-10, default 5)metadata(object, optional)
POST https://restprinting.com/api/print-jobs
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"printServerId": "ps_123",
"printerId": "pr_456",
"fileName": "invoice.pdf",
"fileType": "pdf",
"fileUrl": "https://example.com/invoice.pdf",
"copies": 2,
"priority": 5,
"metadata": { "orderId": "ORD-1001" }
}Response
{
"id": "job_123",
"status": "Pending",
"createdAt": "2026-02-10T12:00:00.000Z",
"message": "Print job created successfully"
}GET /api/print-jobs
List print jobs for your organization.
Query parameters
status(optional)printServerId(optional)limit(optional, max 200, default 50)
GET https://restprinting.com/api/print-jobs?status=Pending&limit=20
Authorization: Bearer YOUR_API_KEYResponse
{
"jobs": [
{
"id": "job_123",
"fileName": "invoice.pdf",
"fileType": "pdf",
"printerName": "Office Printer",
"copies": 2,
"priority": 5,
"status": "Pending",
"errorMessage": null,
"processedAt": null,
"completedAt": null,
"createdAt": "2026-02-10T12:00:00.000Z",
"updatedAt": "2026-02-10T12:00:00.000Z",
"printServer": { "id": "ps_123", "name": "HQ Server" }
}
],
"total": 1
}Errors
- 401: Invalid or missing API key
- 403: Key type invalid or plan limit reached
- 404: Printer or print server not found
- 500: Internal server error