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

# 認証

> API キーの作成・形式・利用方法・制限・セキュリティのベストプラクティス

## API キー

v1 のすべてのエンドポイントは `x-api-key` ヘッダーでの API キー付与が必要です。

### API キーの作成

1. [AFKCrypto ダッシュボード](https://app.afkcrypto.com)にサインイン
2. [API Keys](https://app.afkcrypto.com/api-keys) セクションを開く
3. 「Generate API Key」をクリック
4. わかりやすい名前を付ける
5. 任意: 有効期限を設定（7日、30日、90日、180日、1年）
6. すぐにキーをコピー（再表示されません）

### キー形式

```text theme={null}
afk_<prefix>_<random>

例: afk_xY3z_Ab12cD34Ef56Gh78Ij90Kl12Mn34Op56
```

* **Prefix**: 迅速な識別のための 4 文字識別子
* **Random**: 暗号学的に安全な 32 文字のランダム文字列

### API キーの使用

すべてのリクエストに `x-api-key` ヘッダーでキーを付与します。

```bash theme={null}
curl -X GET https://api.afkcrypto.com/api/v1/wallets \
  -H "x-api-key: afk_xY3z_Ab12cD34Ef56Gh78Ij90Kl12Mn34Op56"
```

### セキュリティのベストプラクティス

* **API キーをリポジトリにコミットしない**: 環境変数を使用
* **定期的にキーをローテーション**: 一時的なアクセスには期限を設定
* **環境ごとにキーを分離**: dev / staging / production
* **未使用キーは即時失効**: 攻撃面を縮小
* **安全に保管**: シークレットマネージャー（例: AWS Secrets Manager, HashiCorp Vault）

### キーの有効期限

API キーは指定期間後に期限切れとすることができます。

* **期限なし**（既定）: 失効するまで有効
* **7日**: 短期テスト/デモ
* **30日**: 外部委託やトライアル
* **90日**: 四半期ごとのローテーション推奨
* **180日**: 半期ローテーション
* **1年**: 安定統合向けの年次ローテーション

期限切れ時の動作

* 当該キーでのリクエストは HTTP 401 `UNAUTHORIZED`
* ダッシュボード上で監査目的に表示は残る
* 代替の新しいキーを作成

有効期限の監視

* ダッシュボードに「Expired」/「Expiring soon」（≤ 7 日）ラベル
* 事前アラートを設定して中断を回避

### キーの上限

* **アクティブなキーの最大数**: ユーザーあたり 10
* **レート制限が適用**: [Rate limiting](/api-reference/introduction/#rate-limiting) を参照
* 未使用キーは失効して上限内に維持

### API キーの失効

ダッシュボードから即時に失効できます。

1. [API Keys](https://app.afkcrypto.com/api-keys) を開く
2. 対象のキーを見つける
3. 「Revoke Key」をクリック
4. 実行を確認

注: 失効は恒久的で即時に反映されます。

## 関連

<CardGroup cols={2}>
  <Card title="API リファレンス" icon="terminal" href="/api-reference/introduction/" />

  <Card title="ポリシーとセキュリティ" icon="shield" href="/api-reference/policies-security/" />

  <Card title="対応チェーン" icon="link-simple" href="/api-reference/supported-chains/" />
</CardGroup>
