---
title: "Update an AI integration"
method: PATCH
path: "/v2/ai-integrations/{integration_id}"
tags: ["AI Integrations"]
---

# Update an AI integration

`PATCH /v2/ai-integrations/{integration_id}`

Update an AI integration's configuration. At least one field must be provided.
Omitted fields are left unchanged.

**Payload Requirements**
- At least one of the updatable fields must be provided.
- `name`, if provided, must be unique within the account.
- `api_key` can be set to `null` to remove the existing key, or omitted to keep it unchanged.
- `scopings`, if provided, replaces all existing scoping rules.
- `provider_metadata`, if provided, replaces existing metadata. Set to `null` to remove.

**Valid example**
```json
{
  "name": "Updated Integration",
  "model_names": ["gpt-4o", "gpt-4o-mini"]
}
```

**Invalid example** (empty body)
```json
{}
```

<Warning>This endpoint is in alpha, read more [here](https://arize.com/docs/ax/rest-reference#api-version-stages).</Warning>

## Path parameters

- `integration_id` string, required — A universally unique identifier (base64-encoded opaque string).

## Request body

- UpdateAiIntegrationRequest
  - `name` string — New integration name
  - `provider` 'OPEN_AI' | 'AZURE_OPEN_AI' | 'AWS_BEDROCK' | 'VERTEX_AI' | 'ANTHROPIC' | 'CUSTOM' | 'NVIDIA_NIM' | 'GEMINI' — The AI provider for this integration
  - `api_key` string, nullable — New API key. Pass null to remove the existing key. Omit to keep unchanged.
  - `base_url` string, nullable — Custom base URL. Pass null to remove.
  - `model_names` string[] — Supported model names (replaces all)
  - `headers` object, nullable — Custom headers. Pass null to remove. The serialized header map must not exceed 8,175 bytes.
  - `enable_default_models` boolean — Enable provider's default model list
  - `function_calling_enabled` boolean — Enable function/tool calling
  - `auth_type` 'DEFAULT' | 'PROXY_WITH_HEADERS' | 'BEARER_TOKEN' — The authentication method for this integration
  - `provider_metadata` union — Strict request form of ProviderMetadata. For AWS_BEDROCK, must include role_arn. For VERTEX_AI, must include project_id, location, and project_access_label.
    - object — AWS Bedrock provider metadata in a write request (strict form of AwsProviderMetadata).
      - `kind` 'AWS', required — Discriminator value identifying AWS Bedrock provider metadata.
      - `role_arn` string, required — AWS IAM role ARN for cross-account access
      - `external_id` string, nullable — External ID for the assume-role policy
    - object — Vertex AI (GCP) provider metadata in a write request (strict form of GcpProviderMetadata).
      - `kind` 'GCP', required — Discriminator value identifying Vertex AI (GCP) provider metadata.
      - `project_id` string, required — GCP project ID
      - `location` string, required — GCP region (e.g. us-central1)
      - `project_access_label` string, required — Display label for the project
  - `scopings` AiIntegrationScopingRequest[] — Visibility scoping rules (replaces all existing scopings)
    - `organization_id` string, nullable — Organization identifier (base64). Null means account-wide.
    - `space_id` string, nullable — Space identifier (base64). Null means organization-wide (or account-wide if organization_id is also null).

## Response `200`

An AI integration object

- AiIntegration — An AI integration configures access to an external LLM provider (e.g. OpenAI, Azure OpenAI, AWS Bedrock, Vertex AI). Integrations can be scoped to the entire account, a specific organization, or a specific space.
  - `id` string, required — The integration ID
  - `name` string, required — The integration name
  - `provider` 'OPEN_AI' | 'AZURE_OPEN_AI' | 'AWS_BEDROCK' | 'VERTEX_AI' | 'ANTHROPIC' | 'CUSTOM' | 'NVIDIA_NIM' | 'GEMINI', required — The AI provider for this integration
  - `has_api_key` boolean, required — Whether an API key is configured (the key itself is never returned)
  - `base_url` string, nullable — Custom base URL for the provider
  - `model_names` string[], nullable — Supported model names
  - `headers` object, nullable — Custom headers included in requests
  - `enable_default_models` boolean, required — Whether the provider's default model list is enabled
  - `function_calling_enabled` boolean, required — Whether function/tool calling is enabled
  - `auth_type` 'DEFAULT' | 'PROXY_WITH_HEADERS' | 'BEARER_TOKEN', required — The authentication method for this integration
  - `provider_metadata` union — Provider-specific configuration. For AWS_BEDROCK, must include role_arn. For VERTEX_AI, must include project_id, location, and project_access_label.
    - object — AWS Bedrock provider metadata
      - `kind` 'AWS', required — Discriminator value identifying AWS Bedrock provider metadata.
      - `role_arn` string, required — AWS IAM role ARN for cross-account access
      - `external_id` string, nullable — External ID for the assume-role policy
    - object — Vertex AI (GCP) provider metadata
      - `kind` 'GCP', required — Discriminator value identifying Vertex AI (GCP) provider metadata.
      - `project_id` string, required — GCP project ID
      - `location` string, required — GCP region (e.g. us-central1)
      - `project_access_label` string, required — Display label for the project
  - `scopings` AiIntegrationScoping[], required — Visibility scoping rules
    - `organization_id` string, nullable — Organization identifier (base64). Null means account-wide.
    - `space_id` string, nullable — Space identifier (base64). Null means organization-wide (or account-wide if organization_id is also null).
  - `created_at` string, date-time, required — When the integration was created
  - `updated_at` string, date-time, required — When the integration was last updated
  - `created_by_user_id` string, required — The user ID of the user who created the integration

## Other responses

- `400` — Invalid request
- `401` — Authentication is required
- `403` — Insufficient permissions to access this resource
- `404` — Not found
- `409` — Resource conflict
- `422` — Unprocessable entity
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/arize-ai/apis/arize-rest-api.md) · [All operations](https://skmtc.net/arize-ai/apis/arize-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arize-ai/arize-rest-api/versions/2ce448f1de13/schema)
