Skip to content

CLI Reference

prusactl COMMAND

Prusa Connect CLI and API Client

Table of Contents

Commands:

  • api: Make a raw authenticated API request.
  • auth: Manage authentication settings
  • camera: Camera management
  • cameras: List all cameras (alias for 'camera list').
  • file: File management (Connect/Team level)
  • files: List files (alias for 'file list').
  • job: Job management
  • jobs: List jobs (alias for 'job list').
  • printer: Printer management
  • printers: List all printers (alias for 'printer list').
  • stats: Printer statistics
  • team: Team management
  • teams: List all teams (alias for 'team list').
  • --install-completion: Install shell completion for this application.

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl --install-completion

prusactl --install-completion [OPTIONS]

Install shell completion for this application.

This command generates and installs the completion script to the appropriate location for your shell. After installation, you may need to restart your shell or source your shell configuration file.

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json
  • --shell: Shell type for completion. If not specified, attempts to auto-detect current shell. [choices: zsh, bash, fish]
  • --output, -o: Output path for the completion script. If not specified, uses shell-specific default.

prusactl printer

Printer management

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl printer files

Printer file management

Commands:

  • download: Download a file that belongs to a printer's team.
  • list: List files on the printer's storage.
  • upload: Upload a file to a printer's storage.

prusactl printer files list

prusactl printer files list [ARGS]

List files on the printer's storage.

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID

prusactl printer files upload

prusactl printer files upload PATH [ARGS]

Upload a file to a printer's storage.

Parameters:

  • PATH, --path: Local path to file [required]
  • PRINTER-ID, --printer-id: Printer UUID
  • DESTINATION, --destination: Destination path on printer (e.g. /usb/) [default: /usb/]

prusactl printer files download

prusactl printer files download FILE-HASH [ARGS]

Download a file that belongs to a printer's team.

Parameters:

  • FILE-HASH, --file-hash: File hash to download [required]
  • PRINTER-ID, --printer-id: Printer UUID
  • OUTPUT, --output: Optional output path

prusactl printer list

prusactl printer list [ARGS]

List all printers associated with the account.

Parameters:

  • PATTERN, --pattern: Glob pattern to filter names [default: ]*

prusactl printer show

prusactl printer show [ARGS]

Show detailed status for a specific printer.

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID
  • --detailed, --no-detailed, -d: Show detailed information (MMU, Fans, Axis) [default: False]

prusactl printer pause

prusactl printer pause [ARGS]

Pause print on one or more printers.

Parameters:

  • PRINTER-IDS, --printer-ids, --empty-printer-ids: Printer UUIDs

prusactl printer resume

prusactl printer resume [ARGS]

Resume print on one or more printers.

Parameters:

  • PRINTER-IDS, --printer-ids, --empty-printer-ids: Printer UUIDs

prusactl printer stop

prusactl printer stop [ARGS]

Stop print on one or more printers, optionally setting a failure reason.

Parameters:

  • PRINTER-IDS, --printer-ids, --empty-printer-ids: Printer UUIDs
  • REASON, --reason: Job failure reason (e.g. SPAGHETTI_MONSTER)
  • NOTE, --note: Optional note for the failure [default: ""]

prusactl printer cancel-object

prusactl printer cancel-object OBJECT-ID [ARGS]

Cancel a specific object during print.

Parameters:

  • OBJECT-ID, --object-id: Object ID to cancel [required]
  • PRINTER-ID, --printer-id: Printer UUID

prusactl printer move

prusactl printer move [ARGS]

Move printer axis.

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID
  • X, --x: Target X position
  • Y, --y: Target Y position
  • Z, --z: Target Z position
  • E, --e: Extruder movement
  • SPEED, --speed: Feedrate

prusactl printer flash

prusactl printer flash FILE-PATH [ARGS]

Flash firmware from a file on the printer's storage.

Parameters:

  • FILE-PATH, --file-path: Path to .bbf file on printer storage (e.g. /usb/fw.bbf) [required]
  • PRINTER-ID, --printer-id: Printer UUID

prusactl printer commands

prusactl printer commands [ARGS]

List supported commands for a specific printer.

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID

prusactl printer command

prusactl printer command [OPTIONS] COMMAND-NAME [ARGS]

Execute a specific command on a printer.

Arguments can be passed as flags (e.g. --object-id 1) or as a JSON string via --args.

Use with extreme caution.

This command allows arbitrary commands and arguments to be sent to the printer via the Prusa Connect API. Minimal validation is performed on the arguments by prusactl and there is no guarantee the Prusa Connect API or your printer will accept or process them successfully.

Parameters:

  • COMMAND-NAME, --command-name: Command Name (e.g. CANCEL_OBJECT) [required]
  • PRINTER-ID, --printer-id: Printer UUID
  • ARGS, --args: JSON arguments string [default: ""]
  • --[KEYWORD]:

prusactl printer storages

prusactl printer storages [ARGS]

List storage devices attached to a printer.

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID

prusactl printer set-current

prusactl printer set-current PRINTER-ID

Set the default printer UUID for future commands.

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID [required]

prusactl camera

Camera management

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl camera list

prusactl camera list

List all cameras.

prusactl camera snapshot

prusactl camera snapshot [ARGS]

Take a snapshot from a camera.

Parameters:

  • CAMERA-ID, --camera-id: Camera ID (Numeric)
  • OUTPUT, --output: Output file path for snapshot

prusactl camera trigger

prusactl camera trigger [ARGS]

Trigger a snapshot on a camera.

Parameters:

  • CAMERA-ID, --camera-id: Camera Token or ID (if mapped)

prusactl camera move

prusactl camera move [ARGS]

Move a pan/tilt camera.

Parameters:

  • CAMERA-ID, --camera-id: Camera Token or ID
  • DIRECTION, --direction: Direction: LEFT, RIGHT, UP, DOWN [choices: LEFT, RIGHT, UP, DOWN]
  • ANGLE, --angle: Angle in degrees [default: 30]

prusactl camera adjust

prusactl camera adjust [ARGS]

Adjust camera image settings.

Parameters:

  • CAMERA-ID, --camera-id: Camera Token or ID
  • BRIGHTNESS, --brightness: Brightness value
  • CONTRAST, --contrast: Contrast value
  • SATURATION, --saturation: Saturation value

prusactl camera set-current

prusactl camera set-current CAMERA-ID

Set the default camera ID for future commands.

Parameters:

  • CAMERA-ID, --camera-id: Camera UUID [required]

prusactl camera show

prusactl camera show [ARGS]

Show details for a specific camera.

Parameters:

  • CAMERA-ID, --camera-id: Camera Token or ID or Name
  • DETAILED, --detailed, --no-detailed: [default: False]

prusactl job

Job management

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl job list

prusactl job list [ARGS]

List job history.

If no filters provided, lists jobs for all available printers (aggregated).

Parameters:

  • TEAM, --team: Filter by Team ID
  • PRINTER, --printer: Filter by Printer UUID
  • STATE, --state, --empty-state: Filter by job state (e.g. PRINTING, FINISHED)
  • LIMIT, --limit: Limit number of jobs

prusactl job queued

prusactl job queued [ARGS]

List queued jobs (pending).

Parameters:

  • PRINTER, --printer: Filter by Printer UUID

prusactl job show

prusactl job show JOB-ID [ARGS]

Show detailed job information including cancelable objects.

Parameters:

  • JOB-ID, --job-id: Job ID [required]
  • PRINTER, --printer: Printer UUID
  • --detailed, --no-detailed, -d: Show detailed information about the job [default: False]

prusactl file

File management (Connect/Team level)

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl file list

prusactl file list [ARGS]

List files in a team storage.

Parameters:

  • TEAM-ID, --team-id: Team ID to list files for

prusactl file upload

prusactl file upload PATH [ARGS]

Upload a file to Connect.

Parameters:

  • PATH, --path: Local path to file [required]
  • TEAM-ID, --team-id: Team ID
  • DESTINATION, --destination: Destination folder [default: /]

prusactl file download

prusactl file download FILE-HASH [ARGS]

Download a file from Connect.

Parameters:

  • FILE-HASH, --file-hash: File hash to download [required]
  • TEAM-ID, --team-id: Team ID
  • OUTPUT, --output: Optional output path/filename

prusactl file show

prusactl file show FILE-HASH [ARGS]

Show detailed information for a specific file.

Parameters:

  • FILE-HASH, --file-hash: File hash to show [required]
  • TEAM-ID, --team-id: Team ID
  • --detailed, --no-detailed, -d: Show detailed information about the file [default: False]

prusactl team

Team management

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl team list

prusactl team list

List all teams the user belongs to.

prusactl team show

prusactl team show [ARGS]

Show details for a specific team.

Parameters:

  • TEAM-ID, --team-id: Team ID
  • --detailed, --no-detailed, -d: Show detailed information about the team [default: False]

prusactl team add-user

prusactl team add-user EMAIL [ARGS]

Invite a user to a team.

Parameters:

  • EMAIL, --email: Email address of user to invite [required]
  • TEAM-ID, --team-id: Team ID
  • RIGHTS-RO, --rights-ro, --no-rights-ro: Grant read-only rights [default: True]
  • RIGHTS-USE, --rights-use, --no-rights-use: Grant use rights [default: False]
  • RIGHTS-RW, --rights-rw, --no-rights-rw: Grant read-write rights [default: False]

prusactl team set-current

prusactl team set-current TEAM-ID

Set the default team ID for future commands.

Parameters:

  • TEAM-ID, --team-id: Team ID [required]

prusactl team jobs

prusactl team jobs [ARGS]

List jobs (alias for 'job list').

Parameters:

  • TEAM, --team: Team ID
  • PRINTER, --printer: Printer UUID
  • STATE, --state, --empty-state: Job state
  • LIMIT, --limit: Limit number of jobs

prusactl stats

Printer statistics

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl stats usage

prusactl stats usage [ARGS]

Show printer usage statistics (printing vs not printing).

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID
  • DAYS, --days: Number of days to look back [default: 7]
  • --from, -f: Start date
  • --to, -t: End date
  • SECONDS, --seconds, --no-seconds: Output duration in seconds [default: False]

prusactl stats material

prusactl stats material [ARGS]

Show material quantity statistics.

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID
  • DAYS, --days: Number of days to look back [default: 7]
  • --from, -f: Start date
  • --to, -t: End date

prusactl stats jobs

prusactl stats jobs [ARGS]

Show job success statistics.

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID
  • DAYS, --days: Number of days to look back [default: 7]
  • --from, -f: Start date
  • --to, -t: End date

prusactl stats planned

prusactl stats planned [ARGS]

Show planned tasks statistics.

Parameters:

  • PRINTER-ID, --printer-id: Printer UUID
  • DAYS, --days: Number of days to look back [default: 7]
  • --from, -f: Start date
  • --to, -t: End date

prusactl printers

prusactl printers [ARGS]

List all printers (alias for 'printer list').

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json
  • PATTERN, --pattern: Glob pattern to filter names [default: ]*

prusactl cameras

prusactl cameras

List all cameras (alias for 'camera list').

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl jobs

prusactl jobs [ARGS]

List jobs (alias for 'job list').

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json
  • TEAM, --team: Filter by Team ID
  • PRINTER, --printer: Filter by Printer UUID
  • STATE, --state, --empty-state: Filter by job state
  • LIMIT, --limit: Limit number of jobs

prusactl files

prusactl files [ARGS]

List files (alias for 'file list').

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json
  • TEAM-ID, --team-id: Team ID to list files for

prusactl teams

prusactl teams

List all teams (alias for 'team list').

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl api

prusactl api PATH [ARGS]

Make a raw authenticated API request.

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json
  • PATH, --path: API endpoint (e.g. /app/printers) [required]
  • METHOD, --method: HTTP Method [default: GET]
  • DATA, --data: JSON data body
  • OUTPUT, --output: Output file for response
  • STREAM, --stream, --no-stream: Stream response (useful for large files) [default: False]
  • --response-headers, --no-response-headers, -h: Print response headers [default: False]
  • --response-body, --no-response-body, -b: Print response body [default: True]

prusactl auth

Manage authentication settings

Parameters:

  • --verbose, --no-verbose, -v: Enable verbose logging [default: False]
  • DEBUG, --debug, --no-debug: Enable debug logging [default: False]
  • FORMAT, --format: Output format: rich (default on TTY), plain (tab-separated), json

prusactl auth login

prusactl auth login

Perform interactive login.

prusactl auth show

prusactl auth show

Show current authentication status.

prusactl auth clear

prusactl auth clear

Clear saved credentials.

prusactl auth print-access-token

prusactl auth print-access-token

Print the raw access token.

prusactl auth print-identity-token

prusactl auth print-identity-token

Print the raw identity token.