# DigitalOcean GradientAI

Connect your DigitalOcean model access key to run Suger's AI features on GradientAI serverless-inference models.

---

## Overview

DigitalOcean GradientAI is an AI model provider (category: AI). When you connect your own DigitalOcean model access key (bring-your-own-key), the GradientAI chat models Suger supports become available to Suger's AI features — for example, you can choose one as an agent's **Default model**. DigitalOcean bills the model usage to your DigitalOcean account; for how Suger meters AI requests that run on your own key, see [What is metered](/insulin/billing/metering/#using-your-own-provider-keys-byok).

Suger offers a fixed set of GradientAI chat models, not DigitalOcean's whole catalog:

| Model | DigitalOcean model ID |
| --- | --- |
| Llama 4 Maverick | `llama-4-maverick` |
| GPT-OSS 120B | `openai-gpt-oss-120b` |
| Claude Sonnet 5 | `anthropic-claude-5-sonnet` |
| DeepSeek V4 Pro | `deepseek-v4-pro` |
| Qwen 3.5 397B A17B | `qwen3.5-397b-a17b` |

### Org-Level vs User-Level

- **Org-Level**: one key shared by your organization. Organization agents draw on it. Only an organization **Admin** can connect or disconnect it.
- **User-Level**: your own key. Your Personal agents draw on it; it never serves anyone else in your organization.

---

## Create Integration

### Prerequisites

- A DigitalOcean **model access key** for serverless inference. In the DigitalOcean control panel, open **INFERENCE → Manage** and click **Create model access key** — see DigitalOcean's [How to Create and Manage Model Access Keys](https://docs.digitalocean.com/products/inference/how-to/manage-model-access-keys/). The secret is shown only once, right after you create it.
- When you create the key, give it access to the models you plan to use (**All models**, or **Select models** covering the ones in the table above). Do not restrict it to a VPC network: DigitalOcean then accepts only requests that come from inside that network, and Suger's requests do not.

### Connect

1. Open [Settings → Integrations](https://console.suger.io/settings?tab=integrations) in the Suger console.
2. Find the **DigitalOcean GradientAI** card — in the **Integrations** grid to connect it for your organization, or under **User Integrations** to connect it for yourself — and click **Connect**.
3. In the **Connect DigitalOcean GradientAI** dialog, click **Start connection**.
4. Paste your model access key — the organization form labels it **Model Access Key** — and click **Save credentials**.

Before storing the key, Suger uses it to request the model list from DigitalOcean's serverless-inference endpoint. That proves DigitalOcean accepts the key; it does not check which models the key may use, so scope it as described above:

```d2
direction: down

save: "Save credentials\nmodel access key"
probe: "Suger requests DigitalOcean's\nmodel list, using your key"
answer: "DigitalOcean's answer" { shape: diamond }
connected: "Connected\nkey stored"
fix_key: "Rejected: fix the key\nnothing stored"
retry: "Not confirmed: try again later\nnothing stored"

save -> probe -> answer
answer -> connected: "200 OK"
answer -> fix_key: "401 / 403"
answer -> retry: "anything else\n(timeout, 404, 429, 5xx)"
```

| What the form shows | What it means |
| --- | --- |
| `DigitalOcean GradientAI rejected the supplied API key` | DigitalOcean refused the key. Check that you pasted the whole secret and that the key has not been deleted or regenerated. |
| `DigitalOcean GradientAI could not confirm the key right now (status …)` or `Could not reach DigitalOcean GradientAI to verify the key` | Suger got no usable answer — a timeout, a rate limit, or an outage. The key was **not** judged invalid; try again. |

:::info
Once connected, the models in the table above appear in Suger's model pickers — for example an agent's **Default model** (see [Agents](/insulin/agents/)). If your organization limits AI providers under **Settings → Organization → AI Model Policy**, add **DigitalOcean GradientAI** to its **Allowed AI integrations** list — otherwise requests on these models are refused, whichever key they would use. See [AI Model Policy](/insulin/getting-started/#ai-model-policy).
:::

## Edit Integration

There is no **Edit** option. To replace the key — for example after regenerating it in DigitalOcean — reconnect the integration:

1. Open the **⋯** menu on the DigitalOcean GradientAI card and choose **Details**.
2. Click **Reconnect**, then **Start connection**, paste the new key, and click **Save credentials**.

Suger checks the new key exactly as it does on first connect, and replaces the stored credential only when it passes — a rejected key leaves the previous one in place. For an organization connection, reconnecting also requires the **Admin** role.

Suger checks the key only when you connect or reconnect, so reconnect whenever you delete or regenerate it on the DigitalOcean side.

## Delete Integration

Open the **⋯** menu on the DigitalOcean GradientAI card and choose **Disconnect**. This removes the connection from Suger, so its models can no longer run on that credential. An agent whose **Default model** is a GradientAI model then shows it as **unavailable** in its model picker, with a hint to reconnect the provider or choose another model.

:::info
DigitalOcean GradientAI serves chat models only in Suger. Suger registers no GradientAI embedding model, so connecting it adds nothing to the knowledge-base embedding chooser — see [Choosing an embedding model](/insulin/knowledge-base/#choosing-an-embedding-model).
:::
