Skip to main content
The integrations client methods are currently in ALPHA. The API may change without notice. A one-time warning is emitted on first use.
An integration is either an LLM (model-provider) connection or an AGENT (customer-hosted endpoint) connection; each returned Integration is a polymorphic union carrying a type discriminator, so call AsLlmIntegration or AsAgentIntegration after checking Discriminator. The Get, Delete, UpdateAgent, and UpdateLLM methods accept either an integration name or an ID — because names are unique per account and type, Get and Delete require Type when a name is passed, and Space optionally narrows name resolution. Use CreateAgent / UpdateAgent for agent integrations and CreateLLM / UpdateLLM for LLM integrations. On CreateLLM, set exactly one per-provider field on CreateLLMConfig; setting zero or more than one returns integrations.ErrInvalidProviderConfig without contacting the server.

List Integrations

List returns a paginated list of integrations. Defaults to a page size of 50. Type, when set, filters to a single category (IntegrationTypeLLM or IntegrationTypeAgent); when omitted, every type is returned, each item carrying its own type discriminator. Space, when non-empty, filters by space (substring match on space name, or exact match if a base64 resource ID is passed). Signature:
Usage Example:

Get an Integration

Get returns a single integration, resolving by name or ID. When Integration is a name, Type is required (names are unique per account and type); a name without a type, like an unresolvable name, returns *arize.ResourceNotFoundError. Signature:
Usage Example:

Create an Agent Integration

CreateAgent creates a new AGENT (type=AGENT) integration — a customer-hosted HTTPS endpoint Arize calls for replay — and returns it. Endpoint and InputSchema (a Draft-07 JSON Schema) are required. Signature:
Usage Example:

Create an LLM Integration

CreateLLM creates a new LLM (type=LLM) integration and returns it. Config selects the provider: set exactly one of its per-provider fields (OpenAI, Anthropic, Gemini, AWSBedrock, Custom, VertexAI, NvidiaNIM, LiteLLM, Fireworks, TogetherAi). Setting zero or more than one returns integrations.ErrInvalidProviderConfig. Signature:
Usage Example:

Update an Agent Integration

UpdateAgent patches an existing agent integration, resolving by name or ID (the type is fixed to AGENT), and returns the updated integration. Only non-nil patch fields are sent; nil fields are left unchanged. For nullable fields (Description, Headers), pass a pointer to the empty value to clear the field. Returns integrations.ErrNoUpdateFields without contacting the server when no patch fields are set. Signature:
Usage Example:

Update an LLM Integration

UpdateLLM patches an existing LLM integration, resolving by name or ID (the type is fixed to LLM), and returns the updated integration. Only non-nil patch fields are sent; nil fields are left unchanged. The provider is immutable. For nullable fields (APIKey, BaseURL, Headers), pass a pointer to the empty value to clear the field. Field applicability is provider-specific and enforced server-side. Returns integrations.ErrNoUpdateFields without contacting the server when no patch fields are set. Signature:
Usage Example:

Delete an Integration

Delete removes an integration, resolving by name or ID. When Integration is a name, Type is required; a name without a type, like an unresolvable name, returns *arize.ResourceNotFoundError. It returns only an error. Signature:
Usage Example: