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

# Providers

> Register external provider API keys at the workspace level.

Agents run on models from external providers. To call a provider's model, register that provider's API key with the workspace first. Nora doesn't resell tokens. You bring the key from your own provider account, and the provider bills those tokens directly.

## Keys belong to the workspace

* Keys are registered to the **workspace**, not to a person. Add once; every Flow in the workspace uses it.
* Values are masked on save and never shown again. To change one, overwrite it with a new value (**Replace**).
* Keeping keys per workspace splits usage cleanly on the provider's own dashboard.

## Adding a key

**Settings → Providers** lists every supported provider under **External API keys**, each with its key slot:

| Provider        | Key                    |
| --------------- | ---------------------- |
| OpenAI          | `OPENAI_API_KEY`       |
| Anthropic       | `ANTHROPIC_API_KEY`    |
| Google          | `GOOGLE_API_KEY`       |
| Z.ai            | `GLM_API_KEY`          |
| Moonshot (Kimi) | `MOONSHOT_API_KEY`     |
| DeepSeek        | `DEEPSEEK_API_KEY`     |
| xAI (Grok)      | `XAI_API_KEY`          |
| Together AI     | `TOGETHER_API_KEY`     |
| Cohere          | `COHERE_API_KEY`       |
| Mixedbread      | `MXBAI_API_KEY`        |
| Nomic           | `NOMIC_API_KEY`        |
| Azure OpenAI    | `AZURE_OPENAI_API_KEY` |
| ElevenLabs      | `ELEVENLABS_API_KEY`   |

Press **Add key** on a provider's row, paste the key (input is masked), and save. A connected provider shows a **connected** badge with **Replace** / **Remove**.

Keys can also be set from the CLI — see [`nora providers`](/cli/providers).

## Removing a key

**Remove** deletes the key. Anything that used that provider fails on its next call until a new key is added.

## Billing

External LLM token costs are billed by the provider on **your** key; they never appear on Nora's invoice. Nora's own usage fees are separate; see [Plans](/settings/billing/plans). If you route to an in-house endpoint instead (see [Internal resources](/settings/engine/internal-resources)), there's no external token cost at all.

## Related

<CardGroup cols={2}>
  <Card title="Ask AI" icon="sparkles" href="/settings/engine/ask-ai">
    Hosted routing uses these keys.
  </Card>

  <Card title="Internal resources" icon="server" href="/settings/engine/internal-resources">
    Register in-house OpenAI-compatible endpoints instead.
  </Card>
</CardGroup>
