Printago CLI
The Printago CLI is a command-line client for the Printago API. It wraps every REST endpoint (printers, print jobs, orders, parts, materials, SKUs, profiles, builds, and more) behind a single printago command.
It is a small, zero-dependency program that runs on Node.js 18+ and talks to the same API as the dashboard. Your API key is stored locally and never sent anywhere except Printago.
Driving Printago from an AI agent? See AI Agents & Skills for the CLI's agent-friendly output, action hints, and the Claude Code skill.
Install
# Homebrew (macOS / Linux)
brew install printago/tap/printago
# npm (macOS / Linux / Windows)
npm install -g @printago/cli
# curl (macOS / Linux)
curl -fsSL https://printago.io/cli-install.sh | sh
# PowerShell (Windows)
irm https://printago.io/cli-install.ps1 | iex
All four channels install the same printago command and require Node.js 18 or newer. To update later: brew upgrade printago, npm update -g @printago/cli, or re-run the install script.
Authenticate
Create an API key in the dashboard under Settings > Integrations > API Keys (see API Keys), then:
printago auth login
This prompts for your store id and your API key. The key is entered hidden (it is never echoed to the terminal or written to your shell history) and is saved to ~/.config/printago/credentials.json with 0600 permissions. Check status anytime with printago auth status, which shows the key masked.
For CI or scripted environments, set PRINTAGO_API_KEY and PRINTAGO_STORE_ID as environment variables instead. They take precedence over the stored file.
Basic usage
The CLI is self-documenting. Run it with no arguments to list every command group, a group name to list its commands, or --help on a command to see its method, path, and request-body fields:
printago # list all command groups
printago printers # list commands in the printers group
printago printers get --help # method, path, and body fields for one command
Common patterns:
printago printers list # list your printers
printago printers get <printerId> # fetch one
printago print-jobs list -q status.eq=printing # filter (see below)
printago parts create --data @part.json # create from a JSON file
Commands follow a predictable shape: list, get <id>, create, update <id>, delete <id>, and search, plus action commands like printers snapshot <id> or print-jobs cancel.
Filtering
Filter on the list command using -q field.op=value, or pass a JSON filter with --filter:
printago print-jobs list -q status.eq=printing
printago print-jobs list -q status.in=printing,paused
printago parts list --filter '{"name":{"contains":"bracket"}}'
Operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between. Multiple -q conditions are combined with AND.
Uploading files
Uploading a model is a signed-URL handshake followed by a direct upload, so the CLI bundles it into one command that prints the resulting file reference:
printago upload model.3mf
You then pass that file reference to printago parts create.
Related resources
The interactive API reference lives at developers.printago.io, and the OpenAPI spec is available for code generation. To operate Printago through an AI agent, see AI Agents & Skills.