---
title: "Get an integration"
method: GET
path: "/v2/integrations/{integration_id}"
tags: ["Integrations"]
---

# Get an integration

`GET /v2/integrations/{integration_id}`

Get a specific integration by its ID.

<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).

## Response `200`

An integration object.

- union — A polymorphic integration resource. The `type` field selects the `config` shape; for `LLM`, `config.provider` selects the per-provider config.
  - object — An LLM integration (type=LLM).
    - `id` string, required — The unique identifier for the integration.
    - `type` 'LLM', required — Discriminator identifying an LLM integration.
    - `name` string, required — The integration name. Unique per (account, type).
    - `scopings` IntegrationScoping[], required — Visibility scoping rules. Account-wide when empty.
      - `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 when 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 — Unique identifier of the user who created the integration.
    - `config` union, required — Per-provider LLM config, discriminated by `provider`.
      - object — Config for an OpenAI LLM integration.
        - `is_function_calling_enabled` boolean, required — Whether function/tool calling is enabled.
        - `provider` 'OPEN_AI', required — Discriminator identifying the OpenAI provider.
        - `has_api_key` boolean, required — Whether an API key is configured (the key itself is never returned).
      - object — Config for an Anthropic LLM integration.
        - `is_function_calling_enabled` boolean, required — Whether function/tool calling is enabled.
        - `provider` 'ANTHROPIC', required — Discriminator identifying the Anthropic provider.
        - `has_api_key` boolean, required — Whether an API key is configured (the key itself is never returned).
        - `base_url` string, nullable — Endpoint URL serving the Anthropic Messages API, including the version path. Null when not set.
      - object — Config for a Google Gemini LLM integration.
        - `is_function_calling_enabled` boolean, required — Whether function/tool calling is enabled.
        - `provider` 'GEMINI', required — Discriminator identifying the Gemini provider.
        - `has_api_key` boolean, required — Whether an API key is configured (the key itself is never returned).
      - object — Config for an AWS Bedrock LLM integration. The model catalog is caller-controlled via `is_default_models_enabled` and `model_names`. Function/tool-calling settings do not apply to Bedrock and are omitted.
        - `provider` 'AWS_BEDROCK', required — Discriminator identifying the AWS Bedrock provider.
        - `is_default_models_enabled` boolean, required — Whether Arize's default Bedrock model catalog is enabled.
        - `model_names` string[], required — Custom model names configured on this integration. Empty when none.
        - `auth` union, required — AWS Bedrock auth settings, discriminated by `auth_type`.
          - object — Role-assumption auth for AWS Bedrock: Arize assumes the provided IAM role to call Bedrock. The role ARN and external ID are not secrets and are returned on read.
            - `auth_type` 'DEFAULT', required — Discriminator identifying role-assumption auth.
            - `role_arn` string, required — AWS IAM role ARN Arize assumes for cross-account access.
            - `external_id` string, nullable, required — External ID on the assume-role policy. Null when not set.
            - `base_url` string, nullable, required — Custom Bedrock endpoint URL. Null when not set.
          - object — Bearer-token auth for AWS Bedrock. The token surfaces as `has_api_key` on read; the token itself is never returned.
            - `auth_type` 'BEARER_TOKEN', required — Discriminator identifying bearer-token auth.
            - `has_api_key` boolean, required — Whether a bearer token is configured (the token itself is never returned). Always true for integrations created through this API; may be false for integrations created through the Arize UI without a token.
            - `base_url` string, nullable, required — Custom Bedrock endpoint URL. Null when not set.
          - object — Proxy auth for AWS Bedrock: requests are forwarded to a proxy URL with custom headers. Header values are write-only; configured names are returned as `header_names`.
            - `auth_type` 'PROXY_WITH_HEADERS', required — Discriminator identifying proxy auth.
            - `base_url` string, required — Proxy URL requests are forwarded to.
            - `header_names` string[], required — Names of the custom request headers configured on this integration. Empty when none are configured. Header values are write-only and never returned.
      - object — Config for a custom OpenAI-compatible endpoint integration. `base_url` is the endpoint Arize sends requests to; it must implement the OpenAI API shape. Secrets are write-only: the API key surfaces as `has_api_key` and custom request headers surface as `header_names` (names only).
        - `is_function_calling_enabled` boolean, required — Whether function/tool calling is enabled.
        - `provider` 'CUSTOM', required — Discriminator identifying a custom OpenAI-compatible endpoint.
        - `has_api_key` boolean, required — Whether an API key is configured (the key itself is never returned).
        - `base_url` string, required — Endpoint URL requests are sent to.
        - `header_names` string[], required — Names of the custom request headers configured on this integration. Empty when none are configured. Header values are write-only and never returned.
        - `is_default_models_enabled` boolean, required — Whether Arize's default model catalog is enabled.
        - `model_names` string[], required — Custom model names configured on this integration. Empty when none.
      - object — Config for a Google Vertex AI integration. Vertex stores no credentials: Arize accesses Vertex through the configured GCP project. All fields are returned on read.
        - `provider` 'VERTEX_AI', required — Discriminator identifying the Vertex AI provider.
        - `project_id` string, required — GCP project ID Arize accesses Vertex through.
        - `location` string, required — GCP region (e.g. us-central1).
        - `project_access_label` string, required — Label used to verify Arize's access to the GCP project.
      - object — Config for an NVIDIA NIM integration. Every connection field is optional: `base_url` targets a self-hosted NIM endpoint (null when using the provider default). Secrets are write-only: the API key surfaces as `has_api_key` and custom request headers surface as `header_names` (names only).
        - `is_function_calling_enabled` boolean, required — Whether function/tool calling is enabled.
        - `provider` 'NVIDIA_NIM', required — Discriminator identifying the NVIDIA NIM provider.
        - `has_api_key` boolean, required — Whether an API key is configured (the key itself is never returned).
        - `base_url` string, nullable, required — Self-hosted NIM endpoint URL. Null when not set.
        - `header_names` string[], required — Names of the custom request headers configured on this integration. Empty when none are configured. Header values are write-only and never returned.
        - `is_default_models_enabled` boolean, required — Whether Arize's default model catalog is enabled.
        - `model_names` string[], required — Custom model names configured on this integration. Empty when none.
  - object — An agent integration (type=AGENT): a customer-hosted HTTPS endpoint plus a JSON Schema describing the request payload.
    - `id` string, required — The unique identifier for the integration.
    - `type` 'AGENT', required — Discriminator identifying an agent integration.
    - `name` string, required — The integration name. Unique per (account, type).
    - `description` string, nullable — Optional human-readable description of the integration.
    - `scopings` IntegrationScoping[], required — Visibility scoping rules. Account-wide when empty.
      - `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 when 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, nullable, required — Unique identifier of the user who created the integration. Null if that user has since been deleted.
    - `config` AgentConfig, required — Configuration for `type: AGENT` integrations: a customer-hosted HTTPS endpoint plus a JSON Schema describing the request payload.
      - `endpoint` string, uri, required — HTTPS endpoint URL Arize calls for replay. Validated server-side for SSRF (must resolve to a public address).
      - `has_headers` boolean, required — Whether any headers are configured. Read-only — derived from `headers` on write. Header values are never returned.
      - `input_schema` object, required — JSON Schema (Draft-07) the endpoint's request body conforms to.
      - `request_presets` AgentRequestPreset[], required — Named, reusable request payloads. Replace-on-provide on PATCH. Always present; an integration with no presets returns `[]`.
        - `id` string — Server-generated, opaque preset identifier. Read-only.
        - `name` string, required — Preset name (unique within the integration). Length 1-255.
        - `description` string, nullable — Optional preset description (length 0-1024).
        - `config` object, required — Partial request body. Validated against the parent integration's `input_schema` with `required` dropped.
        - `created_at` string, date-time
        - `updated_at` string, date-time

## Other responses

- `400` — Invalid request
- `401` — Authentication is required
- `404` — Not found
- `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)
