Skip to main content
PATCH
/
v2
/
integrations
/
{integration_id}
Update an integration
curl --request PATCH \
  --url https://api.arize.com/v2/integrations/{integration_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "llm",
  "name": "<string>",
  "scopings": [
    {
      "organization_id": "<string>",
      "space_id": "<string>"
    }
  ],
  "config": {
    "provider": "openAI",
    "api_key": "<string>",
    "is_default_models_enabled": true,
    "is_function_calling_enabled": true
  }
}
'
{
  "id": "TGxtSW50ZWdyYXRpb246MTI6YUJjRA==",
  "type": "llm",
  "name": "Production OpenAI",
  "scopings": [
    {
      "organization_id": null,
      "space_id": null
    }
  ],
  "created_at": "2026-02-13T21:27:19.055Z",
  "updated_at": "2026-02-13T21:27:19.279Z",
  "created_by_user_id": "VXNlcjoxOm5OYkM=",
  "config": {
    "provider": "openAI",
    "has_api_key": true,
    "is_default_models_enabled": true,
    "is_function_calling_enabled": true
  }
}

Authorizations

Authorization
string
header
required

Most Arize AI endpoints require authentication. For those endpoints that require authentication, include your API key in the request header using the format

Path Parameters

integration_id
string
required

The unique integration identifier (base64 global ID). A universally unique identifier (base64-encoded opaque string).

Example:

"RW50aXR5OjEyMzQ1"

Body

application/json

Partially update an integration. The body is discriminated by type. Omitted fields are left unchanged.

Payload Requirements

  • type is required (it selects the per-type PATCH shape) and is immutable: it must match the stored integration's type, otherwise the request is rejected with 422 (change category by delete + recreate).
  • At least one updatable field (name, scopings, or config) must be provided in addition to type.
  • provider is immutable. Supplying a value that differs from the stored integration is rejected with 422.
  • Envelope and config scalar fields deep-merge: omit = keep, explicit null = clear (for nullable fields).
  • scopings, if provided, replaces the existing values.
  • config.api_key may be sent to rotate the key; it is never returned.

Valid example

{
"type": "llm",
"name": "Updated OpenAI",
"config": { "is_default_models_enabled": true }
}

Invalid example (empty body)

{}

Partial update of an integration, discriminated by type (immutable). The type field selects the per-type PATCH shape. Provide at least one updatable field in addition to type.

type
enum<string>
required

Discriminator. Immutable; must match the integration's type.

Available options:
llm
name
string

New integration name.

scopings
object[]

Replaces the existing scoping rules.

config
object

Partial LLM config for PATCH. provider is immutable; if present it must match the stored value.

Response

An integration object.

A polymorphic integration resource. The type field selects the config shape; for llm, config.provider selects the per-provider config.

id
string
required

The integration ID (base64 global ID).

type
enum<string>
required

Discriminator identifying an LLM integration.

Available options:
llm
name
string
required

The integration name. Unique per (account, type).

scopings
object[]
required

Visibility scoping rules. Account-wide when empty.

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

Global ID of the user who created the integration.

config
object
required

Per-provider LLM config, discriminated by provider.