The ballot command-line tool is a thin client for Ballot’s API. Anything you can do in the dashboard, you can do here, with the same permissions.

Connection

Simulations

Invites and sessions

Episodes

Parts

Robots

Package a robot with its controller. Publishing uses ballot package publish.

Scenarios and teams

Scenarios with several seats, and invites for teams.

Long-running jobs

Preparation and other slow work runs as a job. Every command that starts one returns straight away with --no-wait.

Global options

Environment variables

Scripts and agents

Every command works without prompts when you pass the options it needs. With --format json, a missing choice returns a clear error instead of waiting for input.
Starting work returns an ID straight away. Waiting is always bounded: when a timeout passes, the command reports the last known state and the job carries on. Repeating a request that already succeeded doesn’t start it again.