connections
Credentials and configuration for external systems. Build connections first — every export and import references one.
REST API: Connections
celigo connections <subcommand> [args] [flags]Supports all global flags.
Subcommands
list
List all connections.
applications
List the external applications in use across the account, with resource references.
get <id>
Fetch one connection (secrets are masked as ******).
create
Create a connection from a JSON body (--file <path> or stdin).
set <id> key=value …
Set whitelisted fields (e.g. name, debugUntil) via atomic PATCH. Supports key=file://<path>.
update <id>
Full-replace PUT from a JSON body (--file <path> or stdin). Refuses masked placeholders unless --force.
delete <id>
Delete a connection by ID.
dependencies <id> (alias used-by)
List resources that depend on this connection.
audit <id>
Show the audit log (change history) for one connection.
ping <id>
Test connectivity and auth against the remote system.
enable-debug <id>
Turn on connection-level debug logging for a time window.
disable-debug <id>
Turn off connection-level debug logging.
debug-logs <id>
Fetch captured debug logs for a connection.
delete-debug-logs <id>
Delete the captured debug logs for a connection.
authorize <id>
Complete the OAuth2 authorization flow in a browser and poll to completion.
purge-messages <id>
Purge queued messages for a connection.
setis PATCH-only for connections. BecauseGET /v1/connections/{id}returns masked credential values (******),setapplies only PATCH-whitelisted fields (e.g.name,debugUntil) atomically — it never round-trips other fields through GET → modify → PUT, which would overwrite the real credentials. To change non-whitelisted fields, useupdatewith a hand-built payload that contains the actual secrets (or""to clear them).
celigo connections list
List all connections in the current account.
Signature
Arguments
None.
Flags
--integration <id>
string
—
List only connections belonging to this integration.
Default table columns: _id, name, type, offline, lastModified.
Example
Corresponds to: GET /v1/connections
celigo connections applications
List the external applications (NetSuite, Shopify, an HTTP-connector ID, a trading-partner code, etc.) referenced by at least one resource in the account. Each entry carries an application slug (_id) and, when present, refs pointing to the connections, exports, imports, and connectors that use it.
The list is usage-driven — applications with no referencing resource are omitted.
Signature
Flags
--application <name>
string
—
Case-insensitive substring match against application slugs. Filtering happens client-side; the server returns the full response either way.
Examples
Corresponds to: GET /v1/applications (operationId: listAccountApplications)
celigo connections get <id>
Fetch a single connection by ID. Encrypted fields are returned as ******.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
None beyond global flags.
Example
Corresponds to: GET /v1/connections/{_id}
celigo connections create
Create a connection from a JSON body. Read the body from a file with -f, --file (recommended), or pipe it on stdin.
Signature
Arguments
None.
Flags
-f, --file <path>
string
—
Read the JSON body from a file instead of stdin (--file - also means stdin). Added in celigo-cli 2026.6.1.
Request body
A JSON object matching the POST /v1/connections request schema (one variant per connection type: http, netsuite, salesforce, ftp, rdbms, s3, as2, wrapper, …). See the Connections API reference.
Example
Corresponds to: POST /v1/connections (operationId: createConnection)
celigo connections set <id>
Set field(s) on a connection. Only PATCH-whitelisted fields (e.g. name, debugUntil, schedule.*) are accepted, applied via an atomic PATCH. Other fields must go through update because GET masks credential values. Accepts key=value pairs; values auto-parse as JSON (=null removes a field). Supports dot paths and array indexing. A key=file://<path> value loads that field's value from a file (a leading ~ and relative paths are supported). Added in celigo-cli 2026.6.1.
Signature
Arguments
<id>
string
Yes
Connection ID.
[assignments...]
key=value pairs
Yes
One or more whitelisted field assignments.
Example
Corresponds to: PATCH /v1/connections/{_id} (operationId: patchConnection)
celigo connections update <id>
Full-replace a connection with a JSON body. Read the body from a file with -f, --file, or pipe it on stdin. Refuses to submit a payload containing masked placeholders (all-asterisk strings) unless --force is passed.
⚠️
updateerases omitted fields.PUTis a full replace — any field missing from the body is cleared.GETthe connection first, edit it, then send back the complete object — or usesetfor whitelisted fields.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
-f, --file <path>
string
—
Read the JSON body from a file instead of stdin (--file - also means stdin). Added in celigo-cli 2026.6.1.
--force
boolean
false
Submit the payload even if it contains masked credential values (***). Without it, masked fields cause the command to abort with the list of offending paths.
Request body
A complete connection object matching the PUT /v1/connections/{_id} request schema (PUT is a full replace). See the Connections API reference.
Example
Corresponds to: PUT /v1/connections/{_id}
celigo connections delete <id>
Delete a connection. Prompts for confirmation unless -y is passed.
⚠️
deleteis immediate. Every export and import that references this connection stops working until you repoint it. Rundependenciesfirst.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
-y, --yes
boolean
false
Skip the interactive confirmation.
Example
Corresponds to: DELETE /v1/connections/{_id}
celigo connections dependencies <id>
List resources that depend on this connection (exports, imports, flows, …). Use it to check whether a connection is safe to delete — empty means no dependents. Aliased as used-by.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
None beyond global flags.
Example
Corresponds to: GET /v1/connections/{_id}/dependencies (operationId: listConnectionDependencies)
celigo connections audit <id>
Show the audit log (change history) for one connection.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
None beyond global flags.
Example
Corresponds to: GET /v1/connections/{_id}/audit
celigo connections ping <id>
Ping a connection — the API attempts the remote handshake (auth + basic request) and returns the outcome.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
None beyond global flags.
Example
Corresponds to: POST /v1/connections/{_id}/ping
celigo connections enable-debug <id>
Turn on connection-level debug logging by PATCHing debugDate to a future timestamp. Logs are shared across every flow that uses this connection.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
--duration <minutes>
integer
60
Minutes to keep debug on. Values above 60 are clamped to 60.
Example
Corresponds to: PATCH /v1/connections/{_id} (JSON Patch: replace /debugDate)
celigo connections disable-debug <id>
Turn off connection-level debug logging by PATCH-removing debugDate.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
None beyond global flags.
Example
Corresponds to: PATCH /v1/connections/{_id} (JSON Patch: remove /debugDate)
celigo connections debug-logs <id>
Fetch the debug logs captured while debugDate was set. Logs cover every flow that ran against this connection during the window.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
None beyond global flags.
Example
Corresponds to: GET /v1/connections/{_id}/debug
celigo connections delete-debug-logs <id>
Delete the captured debug logs for a connection. Prompts for confirmation unless -y is passed.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
-y, --yes
boolean
false
Skip the interactive confirmation.
Example
Corresponds to: DELETE /v1/connections/{_id}/debug
celigo connections authorize <id>
Complete an OAuth2 authorization flow for a connection that has needsAuthorization: true. Fetches the provider's authorization URL, opens it in your browser (or prints it), then polls the connection until needsAuthorization clears, then pings to verify. Works for HTTP OAuth, Salesforce, and every other OAuth2-backed connection type.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
--timeout <seconds>
integer
180
How long to poll before giving up.
--print-url
boolean
false
Print the authorization URL instead of opening a browser (useful for headless environments).
Example
Corresponds to: GET /v1/connection/{_id}/oauth2 (operationId: getConnectionOAuth2AuthorizationUrl) to obtain the authorization URL, followed by polling GET /v1/connections/{_id} and a final POST /v1/connections/{_id}/ping.
celigo connections purge-messages <id>
Purge queued messages for a connection. Prompts for confirmation unless -y is passed.
⚠️
purge-messagesdiscards queued messages. Queued messages for this connection are dropped and cannot be recovered. Any in-flight data waiting on the queue is lost.
Signature
Arguments
<id>
string
Yes
Connection ID.
Flags
-y, --yes
boolean
false
Skip the interactive confirmation.
Example
Corresponds to: POST /v1/connections/{_id}/purgemessages (operationId: purgeConnectionMessages)
Gotchas
typeis lowercase. Connectiontypevalues (http,netsuite,ftp,salesforce,rdbms,s3, …) are lowercase. TheadaptorTypefield on exports and imports is PascalCase (NetSuiteDistributedImport,HTTPExport). Mixing the two cases is the most common cause of422 Unprocessable Entityerrors.NetSuite connections need
distributed: trueandsuiteAppInstalled: true. Without them the SuiteApp bridge won't pick up the connection and every NetSuite flow will fail to submit.Resources don't cross environments. A flow can reference only connections that live in the same environment. The API rejects references to resources in another environment.
OAuth connections can share an iClient. When several connections point at the same provider (Salesforce, NetSuite OAuth, HubSpot, …), register one iclient and reference it from each connection so credentials rotate in one place.
updaterefuses masked payloads by default.GET /v1/connections/{id}returns encrypted fields as******. Piping GET → update without editing will abort listing every masked path; fill them in with the real values (or""to clear) or pass--forceto submit anyway.debug-logsis shared. Turning on debug collects traffic from every flow that uses the connection during the window — expect noise if the connection is hot.
Related
Last updated
Was this helpful?