Global flags
Everyekso command accepts these flags. They sit alongside command-specific options:
| Flag | Description | Env var | Default |
|---|---|---|---|
--tenant <SUBDOMAIN> | Tenant subdomain (e.g. acme). Required unless env-var is set. | EKSO_TENANT | — |
--api-key <KEY> | API key for non-interactive auth. Overrides any stored device-flow tokens. | EKSO_API_KEY | — |
-f, --format <FORMAT> | Output format. One of json, jsonl, yaml, table. | EKSO_FORMAT | json |
-q, --quiet | Suppress non-essential output. On create, prints just the new id. | — | off |
-v, --verbose | Verbose logging — request/response details. | — | off |
--no-color | Disable ANSI colors. Honours NO_COLOR. | NO_COLOR | off |
--timeout <SECONDS> | HTTP timeout in seconds. | EKSO_TIMEOUT | 30 |
--base-url <URL> | Override the API base URL. Useful for local dev. | EKSO_BASE_URL | https://{tenant}.ekso.app |
ekso ... call inherits them.
Recommended shell setup
Drop these in your.zshrc / .bashrc so you don’t repeat yourself:
Output formats
The CLI defaults to JSON — the same shape Ekso returns over HTTP. Use--format (or EKSO_FORMAT) to change:
| Format | Use case |
|---|---|
json (default) | Machine-readable, pipes cleanly into jq. |
jsonl | Newline-delimited JSON. One record per line. Good for streaming. |
yaml | Human-readable for browsing, terraform-style configs. |
table | Compact aligned columns for terminal viewing. Loses nested fields. |
-q, --quiet is independent of --format — it suppresses success messages and non-essential prose, leaving only the data (or just the id, on create). Combine -q --format json for clean machine output.
Exit codes
The CLI follows POSIX conventions plus a few Ekso-specific codes:| Code | Meaning |
|---|---|
0 | Success |
1 | Generic error (unknown failure) |
2 | Usage error (bad flags / missing required argument) |
3 | Auth error (no credentials, expired refresh token, revoked key) |
4 | Forbidden (insufficient permissions, e.g. not a super admin) |
5 | Not found (HTTP 404) |
6 | Validation error (HTTP 400 / 422) |
7 | Rate limited (HTTP 429) — back off and retry |
8 | Network error (DNS, TCP, TLS, timeout) — typically transient |
9 | Server error (HTTP 5xx) |
Help
Every command and branch has built-in help:--help prints the same surface as the docs but reflects the binary you have installed — it’s the source of truth if the rendered docs and the installed CLI ever drift.