Skip to main content
The Zippendo Printer Client is a desktop app that connects local printers over WebSocket. You authorize it in the browser, register printers in the client, then Approve each device on Printers. Walkthrough: Labels and printing. Install, Sign in with Browser, and Add Printer: Set up the printer client. Naming, type, and rotate-wide-pages on the web list: Add a printer.
This page is the web authorize screen (/authorize-printer) and the Approve / Disable actions on Printers. Every screen in the Zippendo Printer desktop app is Set up the printer client.

Download the client

Sidebar Printers. Header action Download Printer Client. Menu title Download for your system: Links open the latest GitHub release in a new tab.
Printers header with Download Printer Client menu open showing macOS and Windows downloadsPrinters header with Download Printer Client menu open showing macOS and Windows downloads

Download Printer Client lists macOS Apple Silicon, macOS Intel, and Windows

Authorize in the browser

In the printer client, choose sign in with the browser. Zippendo opens /authorize-printer?session_id=… (optional callback_port for the HTTP fallback). You must already be signed in. Title: Authorize Printer Client. Description: A printer client is requesting access to your Zippendo account.
Authorize Printer Client page with signed-in email, access warning, and Authorize Printer Client buttonAuthorize Printer Client page with signed-in email, access warning, and Authorize Printer Client button

Authorize Printer Client — signed-in account, warning, Authorize or Reject

Authorize Printer Client calls the approve API, then redirects to zippendo://callback?token=… (preferred) or http://localhost:PORT/callback. Stay on this tab until the client receives the token.
Authorization Complete message after approving the printer clientAuthorization Complete message after approving the printer client

Authorization Complete — close the tab and return to the printer client

Other authorize states

None of these have extra fields — close the window and start again from the client if needed. Toasts / inline errors: Failed to approve authorization, Failed to reject authorization. OAuth consent internals (/authorize for API apps) are a different screen. Do not use that flow for the printer client.

Approve a pending printer

After the client registers a printer, it appears on Printers with status Pending Approval. Stat Pending approval / Waiting for admin approval counts those rows. Row menu Approve is only shown when status is Pending Approval. Toast: Printer approved successfully (or Failed to approve printer). Status becomes Active. Approved shows the date and by {{name}}. Until then the column is Not approved.
Printers table with a Pending Approval printer and the Approve action in the row menuPrinters table with a Pending Approval printer and the Approve action in the row menu

Pending Approval row — Approve is in the row menu until an admin confirms the device

Statuses on the list: Active, Pending Approval, Disabled. Connection: Online (green) or Offline. Testenv printers stay Offline because no printer-client WebSocket is connected. Last Seen: Never, Just now, {{count}} min ago, hour(s) ago, or day(s) ago.

Disable

On an Active printer, row menu Disable. Toast: Printer disabled successfully / Failed to disable printer. Disabled printers do not receive new jobs.

Filters

Header Filters: Search, Status (Active / Pending Approval / Disabled), Type (Label printer / Document printer).