Scripting patterns
The CLI is designed to compose with standard Unix tooling. A few patterns cover 90% of what you'll want to do in bash, PowerShell, or CI.
Get a single field
celigo integrations get 5f83a9b2c7d3e8f1a2b3c4d5 --jq '.name'Or pipe to jq:
celigo integrations get 5f83a9b2c7d3e8f1a2b3c4d5 --format json | jq -r '.name'Filter a listing client-side
Resource list commands don't take server-side filters (unlike jobs list and audit list). Filter in jq:
# All disabled flows
celigo flows list --jq '[.[] | select(.disabled) | ._id]'
# All flows in one integration
celigo flows list \
--jq '[.[] | select(._integrationId == "5f83a9b2c7d3e8f1a2b3c4d5") | {_id, name, disabled}]'--jq takes a single expression argument — it doesn't accept jq's own flags like -r or --arg. Inline any values directly into the expression. Plain-string results are emitted raw (no surrounding quotes) automatically, so you rarely need -r. When you do need jq flags, pipe --format json to a standalone jq instead.
Bulk enable or disable
# Disable every flow whose name matches a pattern
celigo flows list --jq '.[] | select(.name | test("prod-v1-.*")) | ._id' \
| xargs -I {} celigo flows set {} disabled=trueDiff two accounts
Per-file JSON dump (for Git diffs)
For a live local index (fast search + dependency graph) use celigo account snapshot instead — it writes to ~/.celigo/indexes/<profile>.json.
CI: fail on lint
Handling rate limits
The HTTP client honors Retry-After on 429 Too Many Requests automatically (up to 5 retries). If you're still hitting the limit, you're sending requests too aggressively — reduce parallelism or add sleep between loops.
Idempotent upsert by name
Exit codes
See Exit codes. The CLI returns 0 on success and 1 on any error.
Last updated
Was this helpful?