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

# 自分のキーを持参（BYOK）

> ARouter を通じて自分のプロバイダー API キーを使用します。BYOK はあなたの認証情報を使ってプロバイダーに直接リクエストをルーティングします — ARouter によるトークンコストの上乗せなし。

<Note>
  BYOK は現在開発中です。ベータへの参加は [support@arouter.ai](mailto:support@arouter.ai) までご連絡ください。
</Note>

Bring Your Own Key（BYOK）を使用すると、ARouter に自分のプロバイダー API キーを登録できます。登録済みキーのあるプロバイダーにリクエストがルーティングされると、ARouter は共有キープールではなくあなたのキーを使用します。

**メリット：**

* **ゼロ上乗せ** — トークンコストの上乗せなし、プロバイダーの定価で直接支払い
* **独自のクォータ** — リクエストは ARouter の共有プールではなく、自分のプロバイダーレート制限に対してカウント
* **独自のデータポリシー** — 既存のプロバイダー契約とデータ条件が適用
* **統合ゲートウェイ** — 引き続き ARouter のルーティング、フォールバック、オブザーバビリティを上層で活用

***

## BYOK の仕組み

```
あなたのリクエスト → ARouter ゲートウェイ → [ルート選択] → プロバイダー API（あなたのキーを使用）
```

1. ARouter ダッシュボードでプロバイダー API キーを登録
2. ARouter がそのプロバイダーにリクエストをルーティングする際、あなたのキーに置き換える
3. アカウントにトークンコストは請求されない（ARouter サービス料金のみ、該当する場合）
4. レスポンスに `usage.is_byok: true` が返される

***

## キーの登録

[ARouter ダッシュボード](https://arouter.ai/settings/byok) でプロバイダーキーを追加します。

サポートされるプロバイダーとキー形式：

| プロバイダー           | キー形式                    | ダッシュボードラベル           |
| ---------------- | ----------------------- | -------------------- |
| OpenAI           | `sk-...`                | OpenAI API Key       |
| Anthropic        | `sk-ant-...`            | Anthropic API Key    |
| Google (Gemini)  | `AIza...`               | Google AI Studio Key |
| Azure OpenAI     | エンドポイント + キー            | Azure OpenAI         |
| AWS Bedrock      | アクセスキー + シークレット + リージョン | AWS Bedrock          |
| Google Vertex AI | サービスアカウント JSON          | Google Vertex AI     |

***

## BYOK とプロバイダー順序の組み合わせ

BYOK と `provider.order` を組み合わせて、キーがいつ使用されるかを制御します：

```json theme={null}
{
  "model": "openai/gpt-5.4",
  "messages": [{"role": "user", "content": "Hello"}],
  "provider": {
    "order": ["OpenAI"]
  }
}
```

`OpenAI` が順序リストにあり、OpenAI BYOK キーが登録されている場合、ARouter はそのプロバイダーに対して自動的にあなたのキーを使用します。

### 部分的 BYOK

一部のプロバイダーにキーを登録しながら、その他は ARouter の共有プールを使用できます：

```json theme={null}
{
  "model": "anthropic/claude-sonnet-4.6",
  "provider": {
    "order": ["Anthropic", "AWS Bedrock"]
  }
}
```

Anthropic の BYOK キーがある場合、Anthropic にあなたのキーで最初に試みます。AWS Bedrock キーがあれば次に試みます。それ以外は ARouter が共有プールにフォールバックします。

***

## Azure OpenAI

Azure OpenAI エンドポイントとキーを登録します：

```json theme={null}
{
  "provider_name": "Azure",
  "azure_endpoint": "https://your-resource.openai.azure.com",
  "azure_api_key": "your-azure-key",
  "azure_deployment": "gpt-5-4"
}
```

そこへルーティングします：

```json theme={null}
{
  "model": "openai/gpt-5.4",
  "provider": {
    "order": ["Azure"]
  }
}
```

***

## AWS Bedrock

2 つの認証オプション：

**オプション 1：Bedrock API キー（推奨）**

```json theme={null}
{
  "provider_name": "Bedrock",
  "aws_access_key_id": "AKIA...",
  "aws_secret_access_key": "your-secret",
  "aws_region": "us-east-1"
}
```

**オプション 2：AWS 認証情報**

```json theme={null}
{
  "provider_name": "Bedrock",
  "aws_credentials": {
    "access_key_id": "AKIA...",
    "secret_access_key": "...",
    "session_token": "...",
    "region": "us-east-1"
  }
}
```

***

## Google Vertex AI

```json theme={null}
{
  "provider_name": "VertexAI",
  "vertex_service_account": {
    "type": "service_account",
    "project_id": "your-project",
    "private_key_id": "...",
    "private_key": "-----BEGIN RSA PRIVATE KEY-----\n...",
    "client_email": "your-sa@your-project.iam.gserviceaccount.com"
  }
}
```

***

## BYOK リクエストの識別

あなたのキーが使用された場合、レスポンスの `usage` オブジェクトに `is_byok: true` が含まれます：

```json theme={null}
{
  "usage": {
    "prompt_tokens": 120,
    "completion_tokens": 45,
    "total_tokens": 165,
    "cost": 0.00,
    "is_byok": true
  }
}
```

`is_byok: true` の場合、`usage.cost` はあなたの直接プロバイダーコスト（ARouter 上乗せなし）を反映します。

***

## キーの優先度とフォールバック

| シナリオ                                  | 動作                                                    |
| ------------------------------------- | ----------------------------------------------------- |
| プロバイダーの BYOK キーが登録済み                  | あなたのキーを使用                                             |
| BYOK キーが登録済みだがプロバイダー不可用               | ARouter 共有プールにフォールバック（`allow_fallbacks: false` でない場合） |
| プロバイダーの BYOK キーなし                     | ARouter 共有プールを使用                                      |
| `allow_fallbacks: false` かつ BYOK キーなし | 404 でリクエスト失敗                                          |

***

## BYOK の問題のデバッグ

ダッシュボードのアクティビティページで各リクエストに使用されたキーを確認できます。よくあるエラー：

| エラー                | 原因                 | 修正方法                                    |
| ------------------ | ------------------ | --------------------------------------- |
| `401 Unauthorized` | 無効または期限切れのプロバイダーキー | ダッシュボード設定でキーをローテート                      |
| `403 Forbidden`    | キーに必要な権限がない        | プロバイダーの IAM 設定を確認                       |
| `quota_exceeded`   | プロバイダーのクォータが枯渇     | プロバイダープランをアップグレードするか BYOK を削除して共有プールを使用 |
