> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.rydhm.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.rydhm.ai/_mcp/server.

# Provider keys

By default, your experts run on Rydhm's accounts with the speech and model providers. If you'd rather use your own, add your API key for that provider. Your experts' calls then use your key, and the provider bills you directly for what they use.

Keys are set for the whole workspace. Only admins and the owner can see or change them. See [Members and roles](/workspace/members).

## Supported providers

| Provider            | What it powers in a call                               |
| ------------------- | ------------------------------------------------------ |
| **OpenAI**          | Replies on OpenAI models and the GPT-Live voice engine |
| **Anthropic**       | Replies on Claude models                               |
| **Google (Gemini)** | The Gemini Live voice engine and Gemini models         |
| **Deepgram**        | Speech recognition, and Deepgram voices                |
| **Cartesia**        | Cartesia voices (text to speech)                       |

You can add one provider or all five. Any provider without your key keeps using Rydhm's. To find out which providers an expert uses, see [Voice engines](/experts/voice-engines) and [Voices](/experts/voices).

## Add a key

![Your own API keys under Settings → Integrations, one row per provider](/_fern-files/_img/52da529f16ae20dbe7546203071b7068f7d0cee1128192bde24e530bb920e6ab.webp)![Your own API keys under Settings → Integrations, one row per provider](/_fern-files/_img/b97d372ad4efc60c9d52847384a61738e346b8b4c3a6fac4ff94b3639acbb499.webp)

#### Open the section

Go to **Settings → Integrations** and find **Your own API keys**. Each provider has its own row. Without a key, the row shows **Rydhm's key**.

#### Paste the key

Select **Add key** on the provider's row, paste the key from that provider's dashboard into **API key**, and select **Check and save**.

#### Rydhm checks it

Before saving, Rydhm makes one small authenticated request to the provider. If the provider accepts the key, it is saved and the row shows **Your key** with the last four characters (`••••abcd`). Your experts use it from their next call.

What happens to the key depends on the provider's answer:

| Result                        | What happens                                                                                                               |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| The provider accepts the key  | Saved. The row shows **Your key**                                                                                          |
| The provider refuses it       | **Not saved**. You see "OpenAI refused the key (HTTP 401). Check it and try again." Your calls keep running on Rydhm's key |
| The provider can't be reached | Saved as **Not checked yet**, with the reason. Calls use it, and you can select **Check** later                            |

A refused key is never saved, so a typo can't quietly break your calls.

## Check, replace or remove a key

* **Check** asks the provider again. Use it after a provider outage, or after you changed the key's permissions. If the provider now refuses it, the row shows **Key refused**.
* **Replace** saves a new key in place of the old one. Use it to rotate keys.
* **Remove** deletes the key. Your experts go back to Rydhm's key for that provider on their next call.

Adding and replacing keys is limited to 20 times an hour per workspace.

## What changes when you use your own key

> **Warning**
>
> Your Rydhm credit rates don't change. A call still uses the same credits per minute as listed in [Billing](/workspace/billing). On top of that, the provider bills your own account for the usage it handled.

What uses your key, and what doesn't:

* **Uses your key**: voice calls, meaning web calls, the website widget, share links, phone calls and experts in meetings.
* **Still uses Rydhm's accounts**: text chat replies, post-conversation analysis, meeting summaries, web search and the expert builder.
* Your provider's own limits now apply to your calls. If your account runs out of credit or hits a rate limit, calls that need that provider can fail. Watch the **Conversation failures** monitor in [Alerts](/workspace/alerts).

## How keys are stored

* Each key is encrypted with AES-256-GCM before it is stored.
* After saving, the full key is never shown again, in the app or through the API. You only see the last four characters.
* Keys are decrypted only when a call starts, and only for that workspace's calls. A replaced key takes effect on the next call.
* Adding and removing keys is recorded in the [audit log](/workspace/security#audit-log) with the provider's name only, never the key.
* [Workspace exports](/workspace/export) never include provider keys.

## Gotchas

* **One key per provider.** You can't set different keys for different experts.
* **Use a key with the right access.** For example, an OpenAI key restricted to some models may pass the check but fail on the model your expert uses.
* **Removing a key doesn't revoke it.** It stays valid at the provider. Revoke it in the provider's dashboard if you no longer need it.

## Related

* [Billing and credits](/workspace/billing)
* [Security](/workspace/security)
* [Voice engines](/experts/voice-engines)