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

  1. Create an API key in the dashboard.
  2. Connect a print server and register printers.
  3. Send print jobs with your API key.
  4. 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_KEY

Generate 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)
  • fileUrl or fileDataBase64 (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_KEY

Response

{
  "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