Skip to main content

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, run ekso ....
  • Onboard new tenants by replaying a folder of curated payloads through ekso ... --data @file.json.
For programmatic embedding inside a .NET application, prefer the SDK.

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-key flag or EKSO_API_KEY env var — non-interactive bearer-token auth. Best for CI, agents, and headless automation. Mint keys via the admin surface.
The CLI authenticates as a CLI/SDK client (the JWT carries an 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

# Install
dotnet tool install -g Ekso.Cli

# Authenticate (opens a browser tab to approve the device code)
ekso auth login --tenant acme

# List your items
ekso item list --tenant acme

# Create a custom field via the curated typed surface
ekso field create-text --name "Customer Reference" --maximum 64 --tenant acme

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.