> ## Documentation Index
> Fetch the complete documentation index at: https://docs.galileo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# provider

## Provider

Base class for provider-specific integration objects.

Providers represent configured integrations (e.g., OpenAI, Azure, Bedrock)
that are stored remotely in the Galileo API. Providers are immutable proxies
that only store minimal metadata (id, name, timestamps). No credentials are
stored locally for security reasons.

Providers should only be obtained through Integration class methods, not
instantiated directly by users.

## Attributes

id (str | None): The unique integration identifier.
name (str): The integration name/type (e.g., "openai", "azure").
created\_at (datetime | None): When the integration was created.
updated\_at (datetime | None): When the integration was last updated.
created\_by (str | None): The user who created the integration.
is\_selected (bool): Whether this integration is selected by the current user.
permissions (list | None): Integration permissions for the current user.

### delete

```python theme={null}
def delete(self) -> None
```

Delete this provider integration.

This permanently removes the integration from the API. After deletion,
the object state is set to DELETED.

WARNING: This operation cannot be undone!

## Raises

APIError: If the API call fails.
ValidationError: If the provider has not been created yet.

### get\_model

```python theme={null}
def get_model(self, *, name: str | None=None, alias: str | None=None) -> Model | None
```

Get a specific model by name or alias.

**Arguments**

* `name` (`str | None`): The model name to search for.
* `alias` (`str | None`): The model alias to search for.

### models

```python theme={null}
def models(self) -> list[Model]
```

Get available models for this provider.

## Returns

list\[Model]: List of available models for this provider.

## Raises

APIError: If the API call fails.
ValidationError: If the provider has not been synced with the API.

### refresh

```python theme={null}
def refresh(self) -> None
```

Refresh the provider state from the remote API.

## Raises

APIError: If the API call fails or the integration is not found.
ValidationError: If the provider has no ID.

## OpenAIProvider

OpenAI integration provider.

This is an immutable proxy to an OpenAI integration stored in the Galileo API.
Credentials are never stored locally - they are only sent to the API during
create/update operations.

### create

```python theme={null}
def create(self) -> OpenAIProvider
```

Create or update this OpenAI integration in the API.

## Returns

OpenAIProvider: Self, with updated state from API.

## Raises

APIError: If the API call fails.
ValidationError: If credentials are not available.

### update

```python theme={null}
def update(self, *, token: str, organization_id: str | None=None) -> OpenAIProvider
```

Update this OpenAI integration credentials.

Credentials are sent to the API but never stored locally.

**Arguments**

* `token` (`str`): New API token.
* `organization_id` (`str | None`): New organization ID.

## AzureProvider

Azure OpenAI integration provider.

This is an immutable proxy to an Azure integration stored in the Galileo API.
Credentials are never stored locally - they are only sent to the API during
create/update operations.

### create

```python theme={null}
def create(self) -> AzureProvider
```

Create or update this Azure integration in the API.

## Returns

AzureProvider: Self, with updated state from API.

## Raises

APIError: If the API call fails.
ValidationError: If credentials are not available.

### update

```python theme={null}
def update(self, *, token: str, endpoint: str) -> AzureProvider
```

Update this Azure integration credentials.

Credentials are sent to the API but never stored locally.

**Arguments**

* `token` (`str`): New API key.
* `endpoint` (`str`): New endpoint URL.

## BedrockProvider

AWS Bedrock integration provider.

This is an immutable proxy to a Bedrock integration stored in the Galileo API.
Credentials are never stored locally - they are only sent to the API during
create/update operations.

### create

```python theme={null}
def create(self) -> BedrockProvider
```

Create or update this Bedrock integration in the API.

## Returns

BedrockProvider: Self, with updated state from API.

## Raises

APIError: If the API call fails.
ValidationError: If credentials are not available.

### update

```python theme={null}
def update(self,
           *,
           aws_access_key_id: str,
           aws_secret_access_key: str,
           region: str='us-east-1',
           credential_type: str='key_secret') -> BedrockProvider
```

Update this Bedrock integration credentials.

Credentials are sent to the API but never stored locally.

**Arguments**

* `aws_access_key_id` (`str`): New AWS access key ID.
* `aws_secret_access_key` (`str`): New AWS secret access key.
* `region` (`str`): New AWS region.
* `credential_type` (`str`): Type of credentials.

## AnthropicProvider

Anthropic (Claude) integration provider.

This is an immutable proxy to an Anthropic integration stored in the Galileo API.
Credentials are never stored locally - they are only sent to the API during
create/update operations.

### create

```python theme={null}
def create(self) -> AnthropicProvider
```

Create or update this Anthropic integration in the API.

## Returns

AnthropicProvider: Self, with updated state from API.

## Raises

APIError: If the API call fails.
ValidationError: If credentials are not available.

### update

```python theme={null}
def update(self, *, token: str) -> AnthropicProvider
```

Update this Anthropic integration credentials.

Credentials are sent to the API but never stored locally.

**Arguments**

* `token` (`str`): New API token.

## GenericProvider

Generic provider for integration types that don't have specialized implementations.

This provider is used for integration types like 'mistral', 'nvidia', 'writer',
'vertex\_ai', 'aws\_sagemaker', 'databricks', 'labelstudio', etc. that are available
in the API but don't yet have dedicated Provider subclasses.

GenericProvider is read-only and only supports basic operations:

* Listing (returned from Integration.list())
* Refreshing state
* Deleting

It does not support creation or updates through the SDK.

## UnconfiguredProvider

Placeholder for integrations that are not configured.

This class implements the Null Object Pattern to provide helpful error messages
when users attempt to access an integration that doesn't exist. Instead of
returning None (which leads to cryptic AttributeError messages), this class
raises IntegrationNotConfiguredError with guidance on how to fix the issue.

**Examples**

# When Azure is not configured:

```python theme={null}
Integration.azure.models
IntegrationNotConfiguredError: No 'azure' integration configured.
Create one using Integration.create_azure() or configure it in the Galileo console.

# Truthiness check still works:
if Integration.azure:
    print("configured")
else:
    print("not configured")
not configured
```
