> For the complete documentation index, see [llms.txt](https://developer.celigo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.celigo.com/cli/commands/integrations.md).

# integrations

Containers that group flows, connections, and settings together. Reach for `integrations` when you need to create, clone, snapshot, or triage errors at the integration level.

**REST API**: [Integrations](https://developer.celigo.com/api/api-reference/integrations)

```
celigo integrations <subcommand> [args] [flags]
```

Supports all [global flags](/cli/getting-started/global-flags.md).

***

## Subcommands

| Subcommand                                          | Purpose                                                                                                     |
| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `list`                                              | List every integration.                                                                                     |
| `get <id>`                                          | Fetch one integration by ID.                                                                                |
| `create`                                            | Create from a JSON body (`--file <path>` or stdin).                                                         |
| `update <id>`                                       | Full PUT replace from a JSON body (`--file <path>` or stdin).                                               |
| `set <id> <key=value>...`                           | Safe field edit: whitelisted fields via PATCH, others via GET + modify + PUT. Supports `key=file://<path>`. |
| `delete <id>`                                       | Delete an integration.                                                                                      |
| `clone <id> <environmentId>`                        | Clone the integration (and children) into an environment.                                                   |
| `dependencies <id>` (alias `used-by`)               | List resources that depend on this integration.                                                             |
| `audit <id>`                                        | Show the audit log (change history) for one integration.                                                    |
| `flow-groups <id>`                                  | List flow groups (sections) within an integration.                                                          |
| `create-flow-group <id> <name>`                     | Create a flow group.                                                                                        |
| `delete-flow-group <id> <flowGroupingId>`           | Remove a flow group (flows in it become ungrouped).                                                         |
| `api-groups <id>`                                   | List API groups (sections) within an integration.                                                           |
| `create-api-group <id> <name>`                      | Create an API group.                                                                                        |
| `delete-api-group <id> <apiGroupingId>`             | Remove an API group (APIs in it become ungrouped).                                                          |
| `register-connections <id> <connectionIds...>`      | Register one or more connections.                                                                           |
| `deregister-connections <id> <connectionIds...>`    | Deregister one or more connections.                                                                         |
| `register-lookup-caches <id> <lookupCacheIds...>`   | Register one or more lookup caches.                                                                         |
| `deregister-lookup-caches <id> <lookupCacheIds...>` | Deregister one or more lookup caches.                                                                       |
| `download <id>`                                     | Download the integration as a ZIP.                                                                          |
| `errors <id>`                                       | List all open errors across every flow.                                                                     |
| `revisions <id>`                                    | List revisions (snapshots, pulls, pushes).                                                                  |
| `revision <id> <revisionId>`                        | Fetch a single revision.                                                                                    |
| `create-snapshot <id>`                              | Create a snapshot revision.                                                                                 |
| `revision-diff <id> <revisionId>`                   | Show the before/after diff for a pending revision.                                                          |

***

## `celigo integrations list`

List every integration in the account.

**Signature**

```bash
celigo integrations list [flags]
```

**Arguments**

*None.*

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations list --format table
```

**Corresponds to**: [`GET /v1/integrations`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations) (operationId: `listIntegrations`).

***

## `celigo integrations get`

Fetch a single integration by ID.

**Signature**

```bash
celigo integrations get <id>
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations get 5f83a9b2c7d3e8f1a2b3c4d5 --format json | jq '{name,mode}'
```

**Corresponds to**: [`GET /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id) (operationId: `getIntegration`).

***

## `celigo integrations create`

Create an integration from a JSON body. Read the body from a file with `-f, --file` (recommended), or pipe it on stdin.

**Signature**

```bash
celigo integrations create --file <path>
celigo integrations create < integration.json     # or pipe on stdin
```

**Arguments**

*None.*

**Flags**

| Flag                | Type   | Default | Description                                                                                                  |
| ------------------- | ------ | ------- | ------------------------------------------------------------------------------------------------------------ |
| `-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/integrations` request schema.

**Example**

```bash
celigo integrations create --file ./integration.json
cat integration.json | celigo integrations create
```

**Corresponds to**: [`POST /v1/integrations`](https://developer.celigo.com/api/api-reference/integrations#post-v1-integrations) (operationId: `createIntegration`).

***

## `celigo integrations update`

Full PUT replace of an integration from a JSON body (`--file <path>` or stdin). Omitted fields are erased.

> ⚠️ **`PUT` fully replaces the integration.** Any field omitted from the body is erased. Prefer `set` for targeted edits, or round-trip via `get` + `jq` before `update`.

**Signature**

```bash
celigo integrations update <id> --file <path>
celigo integrations update <id> < body.json     # or pipe on stdin
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

| Flag                | Type   | Default | Description                                                                                                  |
| ------------------- | ------ | ------- | ------------------------------------------------------------------------------------------------------------ |
| `-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`           | bool   | `false` | Submit even if the body contains masked credential values (`***`) copied from a `get`.                       |

**Request body**

A JSON object matching the `PUT /v1/integrations/{_id}` request schema.

**Example**

```bash
celigo integrations get 5f83a9b2c7d3e8f1a2b3c4d5 --format json \
  | jq '.name = "renamed"' \
  | celigo integrations update 5f83a9b2c7d3e8f1a2b3c4d5
```

**Corresponds to**: [`PUT /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#put-v1-integrations-_id) (operationId: `updateIntegration`).

***

## `celigo integrations set`

Safe field edit. Whitelisted fields (e.g. `name`, `debugUntil`, `schedule.*`) are applied via an atomic `PATCH`; other fields go through GET + in-memory mutation + PUT. Values are auto-parsed as JSON (`disabled=false` is a boolean, `debugUntil=null` removes the field), with a fallback to the literal string when the value isn't valid JSON. Dot notation and array indexing are supported.

A `key=file://<path>` value loads that field's value from a file instead of the command line. A JSON file parses to an object; anything else is read as a literal string. A leading `~` and paths relative to the current directory are supported. Added in celigo-cli 2026.6.1.

**Signature**

```bash
celigo integrations set <id> key=value [key2=value2 ...]
```

**Arguments**

| Argument                 | Type              | Required | Description                                                                                                                            |
| ------------------------ | ----------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `<id>`                   | string            | Yes      | Integration ID.                                                                                                                        |
| `key=value` (repeatable) | string (variadic) | Yes      | One or more assignments, e.g. `name=Prod` or `settings.general.notifyEmail=null`. Use `key=file://<path>` to load a value from a file. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations set 5f83a9b2c7d3e8f1a2b3c4d5 'name=Shopify -> NetSuite (v2)'
```

**Corresponds to**: [`GET /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id) + [`PUT /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#put-v1-integrations-_id) (operationIds: `getIntegration`, `updateIntegration`), or `PATCH /v1/integrations/{_id}` for whitelisted fields.

***

## `celigo integrations delete`

Delete an integration by ID.

> ⚠️ **Deleting an integration is destructive.** The integration and the flows it contains are removed. Run `dependencies` first to confirm nothing relies on it.

**Signature**

```bash
celigo integrations delete <id> [--yes]
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

| Flag          | Type | Default | Description                               |
| ------------- | ---- | ------- | ----------------------------------------- |
| `-y`, `--yes` | bool | `false` | Skip the interactive confirmation prompt. |

**Example**

```bash
celigo integrations delete 5f83a9b2c7d3e8f1a2b3c4d5 --yes
```

**Corresponds to**: [`DELETE /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#delete-v1-integrations-_id) (operationId: `deleteIntegration`).

***

## `celigo integrations clone`

Clone an integration (and all child resources) into a target environment.

Same-environment clones auto-build a self-map from the source integration's `_registeredConnectionIds`. For cross-environment clones, pipe an explicit `connectionMap` via stdin so source connections are remapped to target-environment connections.

**Signature**

```bash
celigo integrations clone <id> <environmentId> [--name <name>]
```

**Arguments**

| Argument          | Type   | Required | Description            |
| ----------------- | ------ | -------- | ---------------------- |
| `<id>`            | string | Yes      | Source integration ID. |
| `<environmentId>` | string | Yes      | Target environment ID. |

**Flags**

| Flag            | Type   | Default                 | Description                      |
| --------------- | ------ | ----------------------- | -------------------------------- |
| `--name <name>` | string | `Clone - <source name>` | Name for the cloned integration. |

**Request body**

Stdin JSON is optional and only needed for cross-environment remapping:

```json
{"connectionMap":{"sourceConnId":"targetConnId"}}
```

**Example**

```bash
celigo integrations clone 5f83a9b2c7d3e8f1a2b3c4d5 envABC --name "Prod clone"
```

**Corresponds to**: [`POST /v1/integrations/{_id}/clone`](https://developer.celigo.com/api/api-reference/integrations#post-v1-integrations-_id-clone) (operationId: `cloneIntegration`).

***

## `celigo integrations flow-groups`

List flow groups (sections) defined inside an integration. Reads from the integration's `flowGroupings` array.

**Signature**

```bash
celigo integrations flow-groups <id>
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations flow-groups 5f83a9b2c7d3e8f1a2b3c4d5
```

**Corresponds to**: [`GET /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id) (operationId: `getIntegration`) — reads the `flowGroupings` field.

***

## `celigo integrations create-flow-group`

Create a new flow group inside an integration. Implemented as a GET + PUT that appends to `flowGroupings`.

**Signature**

```bash
celigo integrations create-flow-group <id> <name>
```

**Arguments**

| Argument | Type   | Required | Description                          |
| -------- | ------ | -------- | ------------------------------------ |
| `<id>`   | string | Yes      | Integration ID.                      |
| `<name>` | string | Yes      | Display name for the new flow group. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations create-flow-group 5f83a9b2c7d3e8f1a2b3c4d5 "Inbound orders"
```

**Corresponds to**: [`GET /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id) + [`PUT /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#put-v1-integrations-_id) (operationIds: `getIntegration`, `updateIntegration`).

***

## `celigo integrations delete-flow-group`

Remove a flow group from an integration. Implemented as a GET + PUT that drops the matching entry from `flowGroupings`. The flows that were in the group are **not** deleted — they become ungrouped.

**Signature**

```bash
celigo integrations delete-flow-group <id> <flowGroupingId> [--yes]
```

**Arguments**

| Argument           | Type   | Required | Description                            |
| ------------------ | ------ | -------- | -------------------------------------- |
| `<id>`             | string | Yes      | Integration ID.                        |
| `<flowGroupingId>` | string | Yes      | Flow group `_id` (from `flow-groups`). |

**Flags**

| Flag          | Type | Default | Description                   |
| ------------- | ---- | ------- | ----------------------------- |
| `-y`, `--yes` | bool | `false` | Skip the confirmation prompt. |

**Example**

```bash
celigo integrations delete-flow-group 5f83a9b2c7d3e8f1a2b3c4d5 fg_abc123 --yes
```

**Corresponds to**: [`GET /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id) + [`PUT /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#put-v1-integrations-_id) (operationIds: `getIntegration`, `updateIntegration`).

***

> **Assigning flows to a group** is a flows operation, not an integration one — see [`flows set-group`](/cli/commands/flows.md#celigo-flows-set-group). `create-flow-group`/`delete-flow-group` define groups on the integration; `flows set-group` sets which flows belong to one.

***

## `celigo integrations api-groups` / `create-api-group` / `delete-api-group`

The API-grouping equivalents of the flow-group commands above. `apiGroupings` is a separate array on the integration that works identically to `flowGroupings`, but for API resources. All three use the same GET → mutate → PUT pattern on the integration.

**Signatures**

```bash
celigo integrations api-groups <id>
celigo integrations create-api-group <id> <name>
celigo integrations delete-api-group <id> <apiGroupingId> [--yes]
```

**Arguments**

| Argument          | Type   | Required                 | Description                          |
| ----------------- | ------ | ------------------------ | ------------------------------------ |
| `<id>`            | string | Yes                      | Integration ID.                      |
| `<name>`          | string | Yes (`create-api-group`) | Display name for the new API group.  |
| `<apiGroupingId>` | string | Yes (`delete-api-group`) | API group `_id` (from `api-groups`). |

**Example**

```bash
celigo integrations api-groups 5f83a9b2c7d3e8f1a2b3c4d5
celigo integrations create-api-group 5f83a9b2c7d3e8f1a2b3c4d5 "Public endpoints"
celigo integrations delete-api-group 5f83a9b2c7d3e8f1a2b3c4d5 ag_abc123 --yes
```

**Corresponds to**: `api-groups` reads [`GET /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id); `create`/`delete` GET then [`PUT /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#put-v1-integrations-_id) (operationIds: `getIntegration`, `updateIntegration`).

> **Assigning APIs to a group** is an apis operation — see [`apis set-group`](/cli/commands/apis.md#celigo-apis-set-group-unset-group). `create-api-group`/`delete-api-group` define groups on the integration; `apis set-group` sets which APIs belong to one.

***

## `celigo integrations register-connections`

Register one or more connections to an integration via the dedicated registration endpoint.

**Signature**

```bash
celigo integrations register-connections <id> <connectionIds...>
```

**Arguments**

| Argument             | Type              | Required | Description                 |
| -------------------- | ----------------- | -------- | --------------------------- |
| `<id>`               | string            | Yes      | Integration ID.             |
| `<connectionIds...>` | string (variadic) | Yes      | One or more connection IDs. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations register-connections 5f83a9b2c7d3e8f1a2b3c4d5 connA connB
```

**Corresponds to**: [`PUT /v1/integrations/{_id}/connections/register`](https://developer.celigo.com/api/api-reference/integrations#put-v1-integrations-_id-connections-register).

***

## `celigo integrations deregister-connections`

Deregister one or more connections from an integration. Iterates a `DELETE` per connection ID.

**Signature**

```bash
celigo integrations deregister-connections <id> <connectionIds...> [--yes]
```

**Arguments**

| Argument             | Type              | Required | Description                 |
| -------------------- | ----------------- | -------- | --------------------------- |
| `<id>`               | string            | Yes      | Integration ID.             |
| `<connectionIds...>` | string (variadic) | Yes      | One or more connection IDs. |

**Flags**

| Flag          | Type | Default | Description                               |
| ------------- | ---- | ------- | ----------------------------------------- |
| `-y`, `--yes` | bool | `false` | Skip the interactive confirmation prompt. |

**Example**

```bash
celigo integrations deregister-connections 5f83a9b2c7d3e8f1a2b3c4d5 connA connB --yes
```

**Corresponds to**: [`DELETE /v1/integrations/{_id}/connections/{_connectionId}/register`](https://developer.celigo.com/api/api-reference/integrations#delete-v1-integrations-_id-connections-_connectionid-register) (one call per connection).

***

## `celigo integrations register-lookup-caches`

Register one or more lookup caches to an integration via the dedicated registration endpoint — the exact mirror of `register-connections`. Requires `full` mode. Added in celigo-cli 2026.8.7.

Registration also adds an entry to the integration's `aliases[]` for each cache (a slug of its name) — the handle the integration's steps reference the cache by.

**Signature**

```bash
celigo integrations register-lookup-caches <id> <lookupCacheIds...>
```

**Arguments**

| Argument              | Type              | Required | Description                   |
| --------------------- | ----------------- | -------- | ----------------------------- |
| `<id>`                | string            | Yes      | Integration ID.               |
| `<lookupCacheIds...>` | string (variadic) | Yes      | One or more lookup cache IDs. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations register-lookup-caches 5f83a9b2c7d3e8f1a2b3c4d5 cacheA cacheB
```

**Corresponds to**: [`PUT /v1/integrations/{_id}/lookupcaches/register`](https://developer.celigo.com/api/api-reference/integrations) — a batch `PUT` with the raw id-array body.

***

## `celigo integrations deregister-lookup-caches`

Deregister one or more lookup caches from an integration; the caches themselves and their data are untouched. Iterates a `DELETE` per cache ID, like `deregister-connections`. Requires `full` mode. Added in celigo-cli 2026.8.7.

Deregistering fails with `400` while an alias still references a cache — **including the alias that `register-lookup-caches` itself creates**. Remove the alias first: edit the integration's `aliases[]` via `integrations set`.

**Signature**

```bash
celigo integrations deregister-lookup-caches <id> <lookupCacheIds...> [--yes]
```

**Arguments**

| Argument              | Type              | Required | Description                   |
| --------------------- | ----------------- | -------- | ----------------------------- |
| `<id>`                | string            | Yes      | Integration ID.               |
| `<lookupCacheIds...>` | string (variadic) | Yes      | One or more lookup cache IDs. |

**Flags**

| Flag          | Type | Default | Description                               |
| ------------- | ---- | ------- | ----------------------------------------- |
| `-y`, `--yes` | bool | `false` | Skip the interactive confirmation prompt. |

**Example**

```bash
# Remove the alias register-lookup-caches created, then deregister
celigo integrations get 5f83a9b2c7d3e8f1a2b3c4d5 --jq '.aliases'
celigo integrations set 5f83a9b2c7d3e8f1a2b3c4d5 'aliases[0]=null'
celigo integrations deregister-lookup-caches 5f83a9b2c7d3e8f1a2b3c4d5 cacheA --yes
```

**Corresponds to**: [`DELETE /v1/integrations/{_id}/lookupcaches/{_lookupCacheId}/register`](https://developer.celigo.com/api/api-reference/integrations) (one call per cache).

***

## `celigo integrations download`

Download the integration as a ZIP. Resolves the signed URL from the template endpoint and writes the file locally. Rejects Integration App installations (non-standalone integrations).

**Signature**

```bash
celigo integrations download <id> [-o <path>]
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

| Flag                    | Type   | Default             | Description            |
| ----------------------- | ------ | ------------------- | ---------------------- |
| `-o`, `--output <path>` | string | `<name>.zip` in CWD | Destination file path. |

**Example**

```bash
celigo integrations download 5f83a9b2c7d3e8f1a2b3c4d5 -o ./backup.zip
```

**Corresponds to**: [`GET /v1/integrations/{_id}`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id) + [`GET /v1/integrations/{_id}/template`](https://developer.celigo.com/api/api-reference/integrations) (operationId for the first: `getIntegration`).

***

## `celigo integrations errors`

List every open error across all flows in an integration (paginated via `nextPageURL` in the body).

**Signature**

```bash
celigo integrations errors <id>
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations errors 5f83a9b2c7d3e8f1a2b3c4d5 --format json
```

**Corresponds to**: [`GET /v1/integrations/{_id}/errors`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id-errors) (operationId: `listIntegrationErrors`).

***

## `celigo integrations revisions`

List all revisions (snapshots, pulls, pushes) for an integration.

**Signature**

```bash
celigo integrations revisions <id>
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations revisions 5f83a9b2c7d3e8f1a2b3c4d5
```

**Corresponds to**: [`GET /v1/integrations/{_id}/revisions`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id-revisions) (operationId: `listIntegrationRevisions`).

***

## `celigo integrations revision`

Get details of a single revision.

**Signature**

```bash
celigo integrations revision <id> <revisionId>
```

**Arguments**

| Argument       | Type   | Required | Description     |
| -------------- | ------ | -------- | --------------- |
| `<id>`         | string | Yes      | Integration ID. |
| `<revisionId>` | string | Yes      | Revision ID.    |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations revision 5f83a9b2c7d3e8f1a2b3c4d5 rev987
```

**Corresponds to**: [`GET /v1/integrations/{_id}/revisions/{_revisionId}`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id-revisions-_revisionid) (operationId: `getIntegrationRevision`).

***

## `celigo integrations create-snapshot`

Create a snapshot revision of the current integration state. Handy to run before a risky deploy.

**Signature**

```bash
celigo integrations create-snapshot <id> --description <text>
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

| Flag                   | Type   | Default      | Description                          |
| ---------------------- | ------ | ------------ | ------------------------------------ |
| `--description <text>` | string | — (required) | Human-readable snapshot description. |

**Example**

```bash
celigo integrations create-snapshot 5f83a9b2c7d3e8f1a2b3c4d5 --description 'before deploy'
```

**Corresponds to**: [`POST /v1/integrations/{_id}/revisions/create`](https://developer.celigo.com/api/api-reference/integrations#post-v1-integrations-_id-revisions-create) (operationId: `createIntegrationRevision`).

***

## `celigo integrations revision-diff`

Show the before/after diff for a revision. Only revisions in a pending state (e.g. `pull` or `revert`) can be diffed; completed snapshots cannot.

**Signature**

```bash
celigo integrations revision-diff <id> <revisionId>
```

**Arguments**

| Argument       | Type   | Required | Description     |
| -------------- | ------ | -------- | --------------- |
| `<id>`         | string | Yes      | Integration ID. |
| `<revisionId>` | string | Yes      | Revision ID.    |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations revision-diff 5f83a9b2c7d3e8f1a2b3c4d5 rev987
```

**Corresponds to**: [`GET /v1/integrations/{_id}/revisions/{_revisionId}/diff`](https://developer.celigo.com/api/api-reference/integrations#get-v1-integrations-_id-revisions-_revisionid-diff) (operationId: `getIntegrationRevisionDiff`).

***

## `celigo integrations dependencies`

List resources that depend on this integration. Use this to check whether the integration is safe to delete — an empty result means no dependents. Aliased as `used-by`.

**Signature**

```bash
celigo integrations dependencies <id>
celigo integrations used-by <id>     # alias
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations dependencies 5f83a9b2c7d3e8f1a2b3c4d5
```

**Corresponds to**: `GET /v1/integrations/{_id}/dependencies`.

***

## `celigo integrations audit`

Show the audit log (change history) for one integration.

**Signature**

```bash
celigo integrations audit <id>
```

**Arguments**

| Argument | Type   | Required | Description     |
| -------- | ------ | -------- | --------------- |
| `<id>`   | string | Yes      | Integration ID. |

**Flags**

*None beyond* [*global flags*](/cli/getting-started/global-flags.md)*.*

**Example**

```bash
celigo integrations audit 5f83a9b2c7d3e8f1a2b3c4d5 --format table
```

**Corresponds to**: `GET /v1/integrations/{_id}/audit`.

***

## Gotchas

* **`update` is a full PUT replace.** Omitted fields are erased. Prefer `set` for targeted edits, or always round-trip via `get` + `jq` before `update`.
* **Cross-env clones require a `connectionMap`.** Same-env clones auto-build a self-map from `_registeredConnectionIds`. Only pipe stdin JSON when the target environment is different.
* **`download` rejects Integration App installations.** The template endpoint only works for standalone integrations — anything with `_connectorId` or `mode: install` errors out.
* **`revision-diff` fails on completed snapshots.** Only pending revisions (pulls, reverts) expose a diff; snapshot revisions are point-in-time captures with nothing to compare.
* **`create-snapshot` requires `--description`.** The flag is enforced by the CLI even though the REST payload accepts an empty description.
* **ILM commands are UI-only.** `revision-apply`, `revision-cancel`, `revert-*`, `pull-*`, `clonefamily`, and `ilm-ignore*` are session-auth only and are intentionally not exposed as CLI commands. Use the UI for those.
* **Lookup-cache registration leaves an alias behind.** `register-lookup-caches` adds an `aliases[]` entry per cache, and `deregister-lookup-caches` fails with `400` until every alias referencing the cache is removed (edit `aliases[]` via `integrations set`).

## Related

* [flows](/cli/commands/flows.md) — integrations contain flows; use `flows` for flow-level CRUD, runs, and errors.
* [connections](/cli/commands/connections.md) — `register-connections` / `deregister-connections` operate on connections already created via `celigo connections`.
* [lookup-caches](/cli/commands/lookup-caches.md) — `register-lookup-caches` / `deregister-lookup-caches` attach caches created via `celigo lookup-caches`.
* [flows](/cli/commands/flows.md) — assign errors at the step level with `flows assign-errors`; assign flows to a group with `flows set-group`.
* [account](/cli/commands/account.md) — `account snapshot` indexes every integration for search, dependency, and lint workflows.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.celigo.com/cli/commands/integrations.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
