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

# Integrations

> Manage LLM and agent integrations with the AX CLI

<Note>
  The `ax integrations` commands are currently in **ALPHA**. The API may change without notice. A one-time warning is emitted on first use.
</Note>

The `ax integrations` commands let you create and manage LLM and agent integrations on the Arize platform. LLM integrations store model-provider credentials and configuration; agent integrations connect a customer-hosted agent exposed at an HTTPS endpoint.

## `ax integrations list`

List integrations, optionally filtered by type, name, or space. When `--type` is omitted, integrations of every type are returned in one merged list; each item carries its type.

```bash theme={null}
ax integrations list [--type <type>] [--name <filter>] [--space <name_or_id>] [--limit <n>] [--cursor <cursor>] [--output <fmt>] [--verbose]
```

| Option            | Description                                                    |
| ----------------- | -------------------------------------------------------------- |
| `--type`, `-t`    | Filter by integration type: `LLM` or `AGENT`                   |
| `--name`, `-n`    | Case-insensitive substring filter on integration name          |
| `--space`, `-s`   | Space name or ID (optional visibility filter)                  |
| `--limit`, `-l`   | Maximum number of integrations to return (default: 15)         |
| `--cursor`, `-c`  | Pagination cursor for the next page                            |
| `--output`, `-o`  | Output format (`table`, `json`, `csv`, `parquet`) or file path |
| `--verbose`, `-v` | Enable verbose logs                                            |

**Examples:**

```bash theme={null}
ax integrations list
ax integrations list --type LLM --output integrations.json
```

## `ax integrations get`

Get an integration by name or ID.

```bash theme={null}
ax integrations get <name-or-id> [--type <type>] [--space <name_or_id>] [--output <fmt>] [--verbose]
```

| Option            | Description                                                                                                       |
| ----------------- | ----------------------------------------------------------------------------------------------------------------- |
| `--type`, `-t`    | Integration type (`LLM` or `AGENT`). Required when using a name instead of an ID — names are only unique per type |
| `--space`, `-s`   | Space name or ID (optional visibility filter)                                                                     |
| `--output`, `-o`  | Output format (`table`, `json`, `csv`, `parquet`) or file path                                                    |
| `--verbose`, `-v` | Enable verbose logs                                                                                               |

**Examples:**

```bash theme={null}
ax integrations get int_abc123
ax integrations get "OpenAI Production" --type LLM
```

## `ax integrations create`

Create an integration. Choose the subcommand matching the type you want: `llm` or `agent`.

### `ax integrations create llm`

Create an LLM integration.

```bash theme={null}
ax integrations create llm --name <name> --provider <provider> [provider-specific options] [--scopings <json>] [--output <fmt>] [--verbose]
```

| Option                                                         | Description                                                                                                                                     |
| -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `--name`, `-n`                                                 | Integration name (must be unique within the account) (required)                                                                                 |
| `--provider`                                                   | Model provider: `OPEN_AI`, `ANTHROPIC`, `GEMINI`, `AWS_BEDROCK`, `CUSTOM`, `VERTEX_AI`, `NVIDIA_NIM` (required)                                 |
| `--api-key`                                                    | API key (write-only). Required for `OPEN_AI`, `ANTHROPIC`, `GEMINI`; optional for `CUSTOM` and `NVIDIA_NIM`                                     |
| `--base-url`                                                   | Endpoint URL (HTTPS). Required for `CUSTOM`; optional for `NVIDIA_NIM`                                                                          |
| `--model-name`                                                 | Custom model name (repeat for multiple). `AWS_BEDROCK`, `CUSTOM`, and `NVIDIA_NIM` only                                                         |
| `--enable-default-models` / `--no-enable-default-models`       | Enable Arize's default model catalog. `AWS_BEDROCK`, `CUSTOM`, and `NVIDIA_NIM` only                                                            |
| `--function-calling-enabled` / `--no-function-calling-enabled` | Enable function/tool calling. Not valid for `AWS_BEDROCK` or `VERTEX_AI`                                                                        |
| `--headers`                                                    | Custom headers as a JSON object or path to a JSON file. Pass `'null'` to clear                                                                  |
| `--auth`                                                       | AWS Bedrock auth as a JSON object or path to a JSON file (required for `AWS_BEDROCK`), e.g. `'{"auth_type": "DEFAULT", "role_arn": "arn:..."}'` |
| `--gcp-project-id`                                             | GCP project ID (`VERTEX_AI` only)                                                                                                               |
| `--gcp-location`                                               | GCP region (`VERTEX_AI` only)                                                                                                                   |
| `--project-access-label`                                       | Vertex AI project-access label (`VERTEX_AI` only)                                                                                               |
| `--scopings`                                                   | Visibility scoping rules as a JSON array or path to a JSON file (replaces all existing scopings)                                                |
| `--output`, `-o`                                               | Output format (`table`, `json`, `csv`, `parquet`) or file path                                                                                  |
| `--verbose`, `-v`                                              | Enable verbose logs                                                                                                                             |

**Provider-specific requirements:**

| Provider                           | Required options                                                                    |
| ---------------------------------- | ----------------------------------------------------------------------------------- |
| `OPEN_AI` / `ANTHROPIC` / `GEMINI` | `--api-key`                                                                         |
| `AWS_BEDROCK`                      | `--auth`                                                                            |
| `CUSTOM`                           | `--base-url`                                                                        |
| `VERTEX_AI`                        | `--gcp-project-id`, `--gcp-location`, `--project-access-label`                      |
| `NVIDIA_NIM`                       | none (needs at least one model source: `--model-name` or `--enable-default-models`) |

**Examples:**

```bash theme={null}
# OpenAI LLM integration
ax integrations create llm \
  --name "OpenAI Production" \
  --provider OPEN_AI \
  --api-key sk-...

# AWS Bedrock LLM integration
ax integrations create llm \
  --name "Bedrock Production" \
  --provider AWS_BEDROCK \
  --auth '{"auth_type": "DEFAULT", "role_arn": "arn:aws:iam::123456789:role/BedrockRole"}'
```

### `ax integrations create agent`

Create an agent integration. Connects a customer-hosted agent exposed at an HTTPS endpoint.

```bash theme={null}
ax integrations create agent --name <name> --endpoint <url> --input-schema <json-or-path> [options] [--output <fmt>] [--verbose]
```

| Option              | Description                                                                                      |
| ------------------- | ------------------------------------------------------------------------------------------------ |
| `--name`, `-n`      | Integration name (must be unique within the account) (required)                                  |
| `--endpoint`        | HTTPS endpoint Arize calls for replay (required)                                                 |
| `--input-schema`    | JSON Schema (Draft-07) for the request body, as a JSON object or path to a JSON file (required)  |
| `--description`     | Human-readable description                                                                       |
| `--headers`         | Custom headers as a JSON object or path to a JSON file. Pass `'null'` to clear                   |
| `--request-presets` | Initial named request presets as a JSON array or path to a JSON file                             |
| `--scopings`        | Visibility scoping rules as a JSON array or path to a JSON file (replaces all existing scopings) |
| `--output`, `-o`    | Output format (`table`, `json`, `csv`, `parquet`) or file path                                   |
| `--verbose`, `-v`   | Enable verbose logs                                                                              |

**Example:**

```bash theme={null}
ax integrations create agent \
  --name "Support Agent" \
  --endpoint https://agent.example.com/replay \
  --input-schema ./input_schema.json
```

## `ax integrations update`

Update an integration. Choose the subcommand matching the integration's type: `llm` or `agent`. Only the fields you pass are changed; omitted fields are left unchanged.

### `ax integrations update llm`

Update an LLM integration by name or ID. The provider is immutable. Config fields are provider-conditional; the server rejects fields that do not apply to the stored provider.

```bash theme={null}
ax integrations update llm <name-or-id> [--space <id>] [options] [--output <fmt>] [--verbose]
```

| Option                                                         | Description                                                                                                    |
| -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `--space`, `-s`                                                | Space name or ID (optional visibility filter)                                                                  |
| `--name`, `-n`                                                 | New integration name                                                                                           |
| `--api-key`                                                    | Rotate the API key. Not valid for `AWS_BEDROCK` (use `--auth`) or `VERTEX_AI`                                  |
| `--function-calling-enabled` / `--no-function-calling-enabled` | Enable function/tool calling (omit to leave unchanged). Not valid for `AWS_BEDROCK` or `VERTEX_AI`             |
| `--auth`                                                       | Replacement AWS Bedrock auth as a JSON object or path to a JSON file (`AWS_BEDROCK` only)                      |
| `--base-url`                                                   | New endpoint URL (`CUSTOM` and `NVIDIA_NIM` only)                                                              |
| `--headers`                                                    | Custom headers as a JSON object or path to a JSON file. Pass `'null'` to clear                                 |
| `--enable-default-models` / `--no-enable-default-models`       | Toggle Arize's default model catalog (omit to leave unchanged). `AWS_BEDROCK`, `CUSTOM`, and `NVIDIA_NIM` only |
| `--model-name`                                                 | Replacement custom model name (repeat for multiple). `AWS_BEDROCK`, `CUSTOM`, and `NVIDIA_NIM` only            |
| `--gcp-project-id`                                             | New GCP project ID (`VERTEX_AI`)                                                                               |
| `--gcp-location`                                               | New GCP region (`VERTEX_AI`)                                                                                   |
| `--project-access-label`                                       | New Vertex AI project-access label (`VERTEX_AI`)                                                               |
| `--scopings`                                                   | Visibility scoping rules as a JSON array or path to a JSON file (replaces all existing scopings)               |
| `--output`, `-o`                                               | Output format (`table`, `json`, `csv`, `parquet`) or file path                                                 |
| `--verbose`, `-v`                                              | Enable verbose logs                                                                                            |

**Example:**

```bash theme={null}
ax integrations update llm int_abc123 --api-key sk-new-key
```

### `ax integrations update agent`

Update an agent integration by name or ID. Collection fields (`headers`, `request-presets`, `scopings`) replace the existing values when provided.

```bash theme={null}
ax integrations update agent <name-or-id> [--space <id>] [options] [--output <fmt>] [--verbose]
```

| Option              | Description                                                                                      |
| ------------------- | ------------------------------------------------------------------------------------------------ |
| `--space`, `-s`     | Space name or ID (optional visibility filter)                                                    |
| `--name`, `-n`      | New integration name                                                                             |
| `--description`     | New description                                                                                  |
| `--endpoint`        | New HTTPS endpoint URL                                                                           |
| `--input-schema`    | New JSON Schema for the request body, as a JSON object or path to a JSON file                    |
| `--headers`         | Custom headers as a JSON object or path to a JSON file. Pass `'null'` to clear                   |
| `--request-presets` | Replacement request presets as a JSON array or path to a JSON file (matched by name)             |
| `--scopings`        | Visibility scoping rules as a JSON array or path to a JSON file (replaces all existing scopings) |
| `--output`, `-o`    | Output format (`table`, `json`, `csv`, `parquet`) or file path                                   |
| `--verbose`, `-v`   | Enable verbose logs                                                                              |

**Example:**

```bash theme={null}
ax integrations update agent int_abc123 --endpoint https://agent.example.com/v2/replay
```

## `ax integrations delete`

Delete an integration by name or ID. This operation is irreversible.

```bash theme={null}
ax integrations delete <name-or-id> [--type <type>] [--space <id>] [--force] [--verbose]
```

| Option            | Description                                                                                                       |
| ----------------- | ----------------------------------------------------------------------------------------------------------------- |
| `--type`, `-t`    | Integration type (`LLM` or `AGENT`). Required when using a name instead of an ID — names are only unique per type |
| `--space`, `-s`   | Space name or ID (optional visibility filter)                                                                     |
| `--force`, `-f`   | Skip the confirmation prompt                                                                                      |
| `--verbose`, `-v` | Enable verbose logs                                                                                               |

**Examples:**

```bash theme={null}
ax integrations delete int_abc123
ax integrations delete "OpenAI Production" --type LLM --force
```
