For the complete documentation index, see llms.txt. This page is also available as Markdown.

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=true

Diff 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?