---
title: "List integrations"
method: GET
path: "/v2/integrations"
tags: ["Integrations"]
---

# List integrations

`GET /v2/integrations`

List integrations the user has access to, ordered by creation time
(newest first). By default the list includes every integration type;
pass `type` to list a single type. Each item carries its `type` (and,
for `LLM`, `config.provider`) for client-side discrimination. An
invalid `type` or pagination `cursor` returns `400`; a cursor is only
valid for the query parameters it was issued with.

Integrations are owned at the account level but carry visibility scopings
(account-wide, organization, or space). `space_id` / `space_name` filter
the list to integrations visible in a given space. The list contains
only the types the caller has permission to read. When no type is
readable the request fails with `403` — or `404` when a `space_id`
filter references a space outside the caller's visibility.

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

## Query parameters

- `type` 'LLM' | 'AGENT' — The integration category. Selects the shape of `config`. Additive — new types (alerting, webhook, ...) are added non-breakingly. - `LLM` — a model-provider integration (e.g. OpenAI). - `AGENT` — connects your own agent, exposed at an HTTP endpoint.
- `space_id` string — A universally unique identifier (base64-encoded opaque string).
- `space_name` string
- `name` string
- `limit` integer
- `cursor` string

## Response `200`

A paginated, polymorphic list of integrations.

- ListIntegrationsResponse
  - `integrations` Integration[], required — A polymorphic, type-tagged list of integrations.
    - 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 — 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
  - `pagination` PaginationMetadata, required — Cursor-based pagination metadata. Use `next_cursor` in the subsequent request's `cursor` query parameter.
    - `next_cursor` string — Opaque cursor for fetching the next page. Treat as an unreadable token. Present when `has_more` is true; omitted when `has_more` is false.
    - `has_more` boolean, required — True if another page of results is available.

## Other responses

- `400` — Invalid request
- `401` — Authentication is required
- `403` — Insufficient permissions to access this resource
- `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)
