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

> ## Agent Instructions
> To act on Atlan objects, use the Atlan MCP server at https://api.atlan.com/mcp or the SDK. To install or publish skills from a terminal, use the `aireg` CLI; `aireg --map json` prints its command map. The `atlanai` CLI is deprecated. Run a read-only identity check before any write.
> The docs MCP server at /mcp searches these docs only. It cannot read or change Atlan objects.
> SDK packages: Python `atlanai` (PyPI) and TypeScript `@atlanai/sdk` (npm). Show Python first, then TypeScript.
> These docs cover Atlan AI Registry, Atlan's hosted product. The AI registry specification and aireg CLI are maintained separately. /open-source lists publicly reachable signed installers and explains that the source repository and hosted CLI reference currently require GitHub access. Do not claim the repository or its reference docs are publicly accessible. Use these docs for Atlan-specific setup such as the adapter, sign-in and workspaces.

# Connect model providers

> Add a model provider in Model Gateway studio, choose which of its models agents can call, and keep its catalog current.

Connect a provider account, such as OpenAI, Amazon Bedrock, or Google Vertex AI, so agents can call its models through Model Gateway. You add the credential once; Atlan stores it and lists the provider's models for you.

## Before you begin

* You're an organization admin. Only organization admins add, switch, edit, or remove providers and models.
* You have the provider's credential: an API key for most providers, AWS access keys for Bedrock, or a service-account key file for Vertex AI. See [Supported model providers](/gateway/model/references/providers) for what each type needs.
* For Bedrock, the role needs `bedrock:InvokeModel` and `bedrock:InvokeModelWithResponseStream` to serve calls, and `bedrock:ListFoundationModels` and `bedrock:ListInferenceProfiles` to discover models.
* For Vertex AI, the service account needs `roles/aiplatform.user` on the project.
* A custom base URL, for LiteLLM, Azure, or an OpenAI-compatible server, must be a host your deployment allows.

<Steps>
  <Step title="Start adding a provider">
    In Model Gateway studio, open **Providers** and select **Add a provider**. The provider is added to the organization workspace, where every caller resolves model names.
  </Step>

  <Step title="Choose the provider type">
    Pick the type from **Provider**. The form below changes to ask only for what that type needs: for example, **AWS region** for Bedrock, **GCP project ID** and **Region** for Vertex AI, or **Resource name** for Azure.
  </Step>

  <Step title="Enter the details">
    Enter a **Display name**. The provider's **Name**, the first part of every model name it serves, is derived from it and can't change once created. Leave **Base URL** empty to use the type's default.
  </Step>

  <Step title="Add the credential">
    Under **Credential**, paste the key (**Paste a key**, **Paste AWS access keys**, or **Service-account key file**), or choose **Use a secret** to pick one already stored in Atlan. Keep **Route calls to it once connected** selected to let agents call its models straight away.
  </Step>

  <Step title="Add the provider">
    Select **Add provider**. Atlan stores the credential as a secret, then calls the provider with it. Nothing is created until the provider accepts the credential. If it refuses, the form says `<Provider> did not accept this provider.` and keeps the credential as a secret so you can fix it and retry.
  </Step>

  <Step title="Choose which models agents can call">
    Discovery lists the models the credential can reach, usually in under a minute. A model with a price lands enabled. A model with no price lands off and shows **Can’t enable** until you **Set rates**. Select models and use **Enable selected** or **Disable selected**, then select **Done**.
  </Step>
</Steps>

## Verify

1. **Providers** shows the provider under **Connected**.
2. With an agent key, list models and find the provider's models, each with `is_routable: true`:

   ```bash theme={null}
   curl https://api.atlan.com/openai/v1/models \
     -H "Authorization: Bearer $ATLAN_API_KEY"
   ```

   Model ids start with the provider's name, such as `openai/<model>`.
3. On **Models**, select **Check** on one of the provider's models. The check makes one real call, the smallest the model allows, and reads `Answered` when it succeeds. Checks are metered as you.

A successful sign-in or discovery doesn't prove a model serves every operation. The **Check** call, or a first request from your client, does.

## Turn a provider or model on and off

| To… | Do this | Effect |
| - | - | - |
| Stop all of a provider's models | On **Providers**, switch off **Route calls to** the provider, or select **Disable** on its page | Its models turn off with it and show **Off with provider**. |
| Bring them back | Switch the provider on again, or select **Enable** | The models it turned off come back on. Models you turned off yourself stay off. |
| Stop one model | On **Models**, switch the model off, or clear **Agents may call this model** in its **Settings** | Calls naming it are refused as `model_not_found`. Its price and history stay. |
| Change many models | Select rows on **Models**, then **Enable** or **Disable** | Rows that can't turn on are skipped and counted, such as `skipped: no price`. |

A model can't be turned on while its provider is off.

## Keep the catalog current

Discovery runs again every hour. To pick up a change now, select **Refresh now** on the provider's row or page. **Review the provider's changes** lists the models to add, to update, and to remove for everyone. Nothing changes until you select **Apply**, or **Apply and remove** when models are listed for removal. If nothing changed, the result reads **Already up to date**.

Removing a model archives it, so calls naming it are refused. That includes models registered by hand, except under Bedrock, whose models discovery never removes.

To update one model only, open it on **Models** and select **Refresh from** the provider.

## Fix a provider that stopped working

A provider whose key is refused, or whose host doesn't answer, moves to **Needs attention** on **Providers**, with the fix on its row:

* **Check again** lists the provider's models with its stored key and changes nothing. It tells you whether the provider accepts the key now.
* **Replace key** stores a new key as a new secret, points the provider at it, and refreshes its models. The old secret is kept.

To remove a provider, open its **Settings** and select **Archive provider**. Its models are archived with it, and calls naming them fail from then on.

## Related

* [Supported model providers](/gateway/model/references/providers): credentials, discovery, and constraints per provider type.
* [Route and fall back across deployments](/gateway/model/how-tos/routing-and-fallback): put several providers behind one model name.
* [Connect client to Model Gateway](/gateway/model/how-tos/connect-a-client): create an agent key and call a model.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.