Command-line interface for the Rhombus physical security platform API. Provides direct terminal access to cameras, access control, alerts, sensors, and 60+ API resource categories — plus higher-level commands for video stitching, frame analysis, real-time monitoring, and AI-powered chat.
brew install RhombusSystems/tap/rhombuscurl -fsSL https://raw.githubusercontent.com/RhombusSystems/rhombus-cli/main/install.sh | shOn Linux, this automatically uses .deb or .rpm packages when a compatible package manager is detected.
irm https://raw.githubusercontent.com/RhombusSystems/rhombus-cli/main/install.ps1 | iexRequires Go 1.26+.
git clone https://github.com/RhombusSystems/rhombus-cli.git
cd rhombus-cli
make installrhombus loginOpens your browser for OAuth2 authentication, then creates and stores an API key locally. Supports both certificate-based (mTLS) and token-based auth.
rhombus configurePrompts for an API key, output format, and endpoint URL. Useful when you already have an API key.
| Variable | Description |
|---|---|
RHOMBUS_API_KEY |
API key (overrides credentials file) |
RHOMBUS_PROFILE |
Profile name (default: default) |
RHOMBUS_OUTPUT |
Output format: json, table, text |
RHOMBUS_ENDPOINT_URL |
API endpoint override |
Manage multiple accounts or environments with named profiles:
rhombus login --profile staging
rhombus camera get-minimal-camera-state-list --profile stagingCredentials are stored in ~/.rhombus/credentials (file permissions 600) and config in ~/.rhombus/config.
rhombus <command> [subcommand] [flags]
--profile string Configuration profile (default: "default")
--output string Output format: json, table, text (default: json)
--api-key string Override API key
--endpoint-url string Override API endpoint
--partner-org string Client org name or UUID (partner accounts)
62 resource commands are auto-generated from the Rhombus OpenAPI spec, covering the full API surface. Examples:
# List all cameras
rhombus camera get-minimal-camera-state-list
# Get camera details
rhombus camera get-full-camera-state --camera-uuid <uuid>
# List recent alerts
rhombus event get-policy-alerts-v2
# Get alert details with bounding boxes
rhombus event get-policy-alert-details --alert-uuid <uuid>
# Manage locations
rhombus location get-locations
# Door access control
rhombus door-controller grant-access --door-uuid <uuid>Every generated command supports:
--generate-cli-skeleton— prints a JSON template of all accepted parameters--cli-input-json '<json>'or--cli-input-json file://params.json— pass complex request bodies as JSON
Resource categories: access-control, alert-monitoring, audio-gateway, badge-reader, camera, climate, door, door-controller, doorbell-camera, elevator, event, event-search, export, face-recognition-event, face-recognition-person, feature, integrations, location, lockdown-plan, logistics, oauth, occupancy, org, partner, permission, policy, report, rules, scene-query, schedule, search, sensor, user, vehicle, video, webhook-integrations, and more.
# Recent alerts (optionally filtered by camera)
rhombus alert recent --camera "Front Lobby" --max 10
# Download alert thumbnail
rhombus alert thumb <alert-uuid> --output thumb.jpg
# Download alert video clip
rhombus alert download <alert-uuid> --output clip.mp4
# Open alert clip in browser
rhombus alert play <alert-uuid># Open live view for a camera
rhombus footage "Front Lobby"
# Jump to a specific time
rhombus footage "Front Lobby" --start "5m ago"
rhombus footage "Front Lobby" --start 1711900800000Starts a local HTTP server with an authenticated player and opens your browser.
# Stream policy alerts as they fire
rhombus monitor
# Include all event types
rhombus monitor --all-events
# JSON output for piping
rhombus monitor --jsonConnects via WebSocket (STOMP protocol) with automatic reconnection.
Requires ffmpeg.
# Stitch events across cameras at a location
rhombus stitch --location "HQ" --start "2h ago" --end "1h ago"
# Specific cameras with buffer
rhombus stitch --camera "Entrance" --camera "Lobby" --start "30m ago" --buffer 5Creates a grid-layout MP4 with timestamp overlays from events across multiple cameras.
# Analyze alert frames
rhombus analyze alert <alert-uuid>
# Analyze footage across cameras at a location
rhombus analyze footage --location "HQ" --start "1h ago" --end "30m ago"
# Include motion metadata, output raw frames
rhombus analyze footage "Lobby Cam" --start "2h ago" --include-motion --rawExtracts intelligently-sampled frames with activity detection metadata. Outputs a manifest suitable for external ML pipelines.
# Generate full snapshot of all locations and cameras with stills
rhombus context generate
# Details for a specific location or camera
rhombus context location "HQ"
rhombus context camera "Front Lobby"Produces a structured manifest of your deployment — locations, cameras, hardware info, coordinates, and current stills.
# Interactive chat
rhombus chat
# Voice-powered chat (requires sox and whisper-cpp)
rhombus voice --model baseNatural language interface to your Rhombus deployment. The chat agent can execute CLI commands on your behalf.
For partner/multi-tenant organizations, pass --partner-org to operate on a client org:
rhombus camera get-minimal-camera-state-list --partner-org "Acme Corp"
rhombus camera get-minimal-camera-state-list --partner-org <org-uuid>Name matching is case-insensitive and substring-based. If multiple orgs match, you'll be prompted to select one.
| Path | Purpose |
|---|---|
~/.rhombus/config |
Default output format, endpoint URL (INI) |
~/.rhombus/credentials |
API keys and cert paths per profile (INI, 600 perms) |
~/.rhombus/certs/<profile>/ |
Client certificates and private keys |
- CLI flags
- Environment variables
- Profile config files
- Defaults
| OS | Architectures |
|---|---|
| macOS | amd64, arm64 |
| Linux | amd64, arm64 |
| Windows | amd64, arm64 |
MIT