Overview
The Ekso CLI is a single binary,ekso, that exposes every public Ekso API operation as a curated command. It speaks the same protocol as the SDK but is shaped for shells, scripts, and CI — not application code.
Reach for the CLI when you want to:
- Drive Ekso from a terminal during admin work, debugging, or one-off cleanup.
- Wire Ekso into shell pipelines (
ekso item list --format json | jq ...). - Automate from CI/CD without writing a .NET app — issue an API key, set
EKSO_API_KEY, runekso .... - Onboard new tenants by replaying a folder of curated payloads through
ekso ... --data @file.json.
What’s in the box
The CLI groups operations into 36 top-level branches (one per resource —item, board, field, docs, file, auth, …). Each branch carries verbs scoped to that resource (ekso item list, ekso item create, ekso field create-date).
Every command shares a global flag surface: --tenant, --api-key, --format, --quiet, --verbose, --no-color, --timeout, --base-url. Anything you can pass on the command line you can also set via an EKSO_* environment variable. See Configuration for the full list.
Output is structured: JSON by default, with table / YAML / JSONL formats available via --format. Every command returns a POSIX exit code that maps to a specific failure shape (auth, validation, not-found, rate-limit, etc.) so shell pipelines can branch on the cause.
Authentication paths
Two ways to authenticate:ekso auth login— interactive OAuth 2.0 device-flow. Best for humans; tokens auto-refresh and are cached per tenant.--api-keyflag orEKSO_API_KEYenv var — non-interactive bearer-token auth. Best for CI, agents, and headless automation. Mint keys via the admin surface.
EksoClient=Cli claim, API keys resolve to Sdk), which the backend uses to gate operations that should not be scriptable — for example, system-field updates are rejected from the CLI but allowed from the webapp. See CLI/SDK marker for the full semantics.
Quick taste
Where to next
- Installation — install the CLI and check the version.
- Authentication — device-flow login, API keys, precedence rules.
- Configuration — flag/env-var reference, output formats, exit codes.
- Branches — every command, grouped by resource.
- API Reference — the underlying HTTP surface every CLI command calls.