> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kataven.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Node SDK — integrations

> Node SDK reference for Kataven third-party integrations — Stripe, Shopify, Slack with encrypted credentials.

`IntegrationsResource` is reachable on every Kataven Node client as `client.integrations`. Each method maps to one HTTP endpoint on the [Hub API](/api-reference/introduction); links to the underlying spec entry are inline below.

Third-party integrations bundle a set of tools + required credentials (encrypted via Secret Encryptor). Install once per account.

## Methods at a glance

| Method      | HTTP                                    | Summary                       |
| ----------- | --------------------------------------- | ----------------------------- |
| `list`      | `GET /api/integrations`                 | List third-party integrations |
| `get`       | `GET /api/integrations/{id}`            | Get a single integration      |
| `install`   | `POST /api/integrations/{id}/install`   | Install an integration        |
| `uninstall` | `POST /api/integrations/{id}/uninstall` | Uninstall an integration      |

## Reference

### `client.integrations.list(...)`

List third-party integrations

**HTTP** — `GET /api/integrations` · [API reference →](/api-reference/introduction#tag/Integrations/operation/getApiIntegrations)

```typescript theme={null}
list(opts: { category?: string; status?: string } = {})
```

Returns the catalog of third-party integrations (Stripe, Shopify, ...) for this tenant. Includes per-category counts.

### `client.integrations.get(...)`

Get a single integration

**HTTP** — `GET /api/integrations/{id}` · [API reference →](/api-reference/introduction#tag/Integrations/operation/getApiIntegrationsById)

```typescript theme={null}
get(id: string)
```

### `client.integrations.install(...)`

Install an integration

**HTTP** — `POST /api/integrations/{id}/install` · [API reference →](/api-reference/introduction#tag/Integrations/operation/postApiIntegrationsByIdInstall)

```typescript theme={null}
install(id: string, params: Record<string, string> = {}, secrets: Record<string, string> = {})
```

Stores params (plaintext) and secrets (encrypted) supplied by the caller, then flips the integration row's status to 'installed'. Empty body installs without params.

### `client.integrations.uninstall(...)`

Uninstall an integration

**HTTP** — `POST /api/integrations/{id}/uninstall` · [API reference →](/api-reference/introduction#tag/Integrations/operation/postApiIntegrationsByIdUninstall)

```typescript theme={null}
uninstall(id: string)
```

Flips status back to 'available' and clears installed\_at. Stored params/secrets are NOT purged.
