Skip to content

CLI

The Echopoint CLI manages webhooks, flows, and collections from the terminal and runs flows ephemerally in CI. Its source is public on GitHub at github.com/nanostack-dev/echopoint-cli.

macOS and Linux — checksum-verified, installs to ~/.local/bin, no sudo:

Terminal window
curl -fsSL https://raw.githubusercontent.com/nanostack-dev/echopoint-cli/main/install.sh | sh

Windows (PowerShell):

Terminal window
irm https://raw.githubusercontent.com/nanostack-dev/echopoint-cli/main/install.ps1 | iex

Prebuilt binaries are also published on GitHub Releases. Once installed, the CLI updates itself:

Terminal window
echopoint update # self-update to the latest release
echopoint version # print the installed version

Four methods, in order of typical use:

MethodHowUse for
Browser loginechopoint auth login (OAuth via Clerk)Local development
Token flagechopoint auth login --token <token>Non-interactive login
Token env varECHOPOINT_TOKENScripted sessions
API key pairECHOPOINT_API_KEY + ECHOPOINT_ORGANIZATION_IDCI pipelines
Terminal window
# CI: no login step needed — the CLI picks up the env pair directly
export ECHOPOINT_API_KEY=<key>
export ECHOPOINT_ORGANIZATION_ID=<org id>
echopoint auth status

Create CI keys with the ci preset — see API keys & permissions.

Settings live in ~/.echopoint/config.yaml. Profiles point the CLI at alternate API URLs and switch between them:

Terminal window
echopoint profile add staging --api-url https://api.echopoint.dev
echopoint profile use staging
echopoint profile list

Every command supports table, JSON, or YAML output:

Terminal window
echopoint flows list -o json
GroupCommandsPurpose
authlogin logout statusSign in and inspect the active session
flowslist get create create-interactive update delete launch run validate show exportManage and execute flows
flows nodeadd update removeEdit nodes — types request, delay, module
flows node outputadd removeOutput extractors (jsonPath, xmlPath, statusCode, header, body)
flows node assertionadd removeAssertions on node responses
flows edgeadd removeConnect nodes with --type success|error
flows envget set unset deleteFlow-level environment variables
flows tag--add / --remove, --query, --match-tag, --match-mode any|allTag flows and search by tag
flows executionget listInspect run history and per-node results
collectionslist get create update delete importManage collections; import --file takes an OpenAPI spec
org envget set unset delete, -e <name>, environments list|deleteOrg defaults and named overlays
profile / configProfiles and local configuration
version / updateVersion info and self-update

Frequently used examples:

Terminal window
echopoint flows validate <flow-id>
echopoint flows export <flow-id> -o json
echopoint flows tag --add smoke <flow-id>
echopoint flows execution list <flow-id>
echopoint collections import --file openapi.yaml
echopoint org env set BASE_URL https://staging.example.com -e staging

echopoint flows run executes flows ephemerally: the flow snapshot and resolved inputs are delivered to the CLI process, the flow runs there, and results are published back. Resolved environment values go only to the launched execution and are never logged.

Terminal window
# Run specific flows by ID
echopoint flows run <flow-id> <another-flow-id>
# Run a tag suite against staging, three flows at a time
echopoint flows run --tag smoke --environment staging --parallel 3
# Pin a published version and dedupe retried pipelines
echopoint flows run <flow-id> --version-id <version-id> --idempotency-key "$CI_RUN_ID"
FlagBehavior
--tagSelect flows by tag; repeatable; --match-mode any|all; cap 50 flows
--environment <key>Resolve org/flow variables for that environment
--version-idRun a pinned published version
--parallel NRun up to N flows concurrently
--poll-timeoutMax wait for completion (default 30m)
--idempotency-keyDeduplicate launches across pipeline retries
-o jsonMachine-readable results
--verboseLive node-by-node status while running

Exit codes gate pipelines directly: 0 all flows passed, 1 a flow failed, 3 contract or API error.