認証
KoeIQ APIは2種類の認証方式をサポートしています。ブラウザ/ユーザーセッション用のJWTベアラートークンと、サーバー間連携用のX-API-Keyヘッダーです。
1. JWTベアラートークン(ブラウザ・ユーザー用)
ダッシュボードへのログインおよびブラウザからのAPIアクセスはJWT(JSON Web Token)で認証します。
ログイン
POST /api/auth/login
Content-Type: application/json
{
"email": "admin@example.com",
"password": "your_password"
}
// レスポンス
{
"access_token": "eyJ...",
"refresh_token": "eyJ...",
"token_type": "bearer"
}注意: MFAが有効な場合、ログインは2段階になります。最初のレスポンスに
mfa_required: trueが含まれ、TOTPコードをPOST /api/auth/mfa/verifyに送信する必要があります。トークンの使用
GET /api/voicelogs Authorization: Bearer eyJ...
トークンのリフレッシュ
アクセストークンは短期間で失効します。リフレッシュトークンで新しいアクセストークンを取得してください。
POST /api/auth/refresh
Content-Type: application/json
{
"refresh_token": "eyJ..."
}
// レスポンス
{
"access_token": "eyJ...",
"token_type": "bearer"
}2. X-API-Key(サーバー間連携用)
外部システムからの音声ファイルアップロード(Ingest API)にはAPIキー認証を使用します。JWTは不要です。
APIキーの生成
- 設定 → APIキー に移動
- 「APIキーを生成」をクリック
- キーをコピーして安全な場所に保存(再表示できません)
APIキーの使用
POST /api/ingest/upload X-API-Key: koeiq_live_xxxxxxxxxxxx Content-Type: multipart/form-data
警告: APIキーはIngest APIエンドポイント(
/api/ingest/*)専用です。ダッシュボードのAPIエンドポイントにはJWTを使用してください。3. MFA(多要素認証)
TOTP(Time-based One-Time Password)による2段階認証を設定できます。Google Authenticator、Authyなどに対応しています。
| エンドポイント | 説明 |
|---|---|
| POST /api/auth/mfa/setup | TOTPセットアップ開始(QRコード返却) |
| POST /api/auth/mfa/verify-setup | 登録確認(初回コード入力) |
| POST /api/auth/mfa/verify | ログインフロー中のコード検証 |
| POST /api/auth/mfa/disable | MFA無効化 |