認証
FabHub は 2 つのモデルをサポートしています。テナント所有の自動化のための API キーと、テナントに代わって動作する承認済みパートナーアプリケーションのための OAuth です。
API キー
すべてのリクエストで X-API-Key ヘッダーを使ってキーを送信します(Authorization: Bearer <key> の形式も受け付けられます)。
curl https://api.fabhub.app/v1/items \
-H "X-API-Key: $FABHUB_API_KEY"
- プレフィックス: 非本番環境は
pk_test_*、本番環境はpk_live_*。 - 管理: Settings -> Integrations -> API でキーの作成、スコープ設定、失効を行います。
- 保管: シークレットは一度だけ表示されます。サーバーサイドで保持し、漏洩したキーはローテーションし、未使用のキーは失効させてください。
スコープ
キーは最小権限スコープを持ちます。必要なスコープを持たないリクエストは、code: "SCOPE_REQUIRED" とともに 403 を返します。
| スコープ | 付与される権限 |
|---|---|
items:read | アイテムの一覧取得と読み取り |
items:write | アイテムの作成と更新 |
orders:read | 注文の一覧取得 |
contacts:read | 連絡先の一覧取得 |
organization:read | 組織プロフィールの読み取り |
usage:read | API 使用状況サマリーの読み取り |
audit:read | 監査イベントのエクスポート(Enterprise) |
webhooks:read | Webhook エンドポイントの一覧取得と読み取り |
webhooks:write | Webhook エンドポイントの作成と更新(Enterprise) |
webhooks:delete | Webhook エンドポイントの削除 |
webhooks:deliveries:read | Webhook 配信試行の読み取り |
認証情報の確認
GET /v1/auth/context は、呼び出し元のキーのテナント、プラン、スコープ、レート制限ティア、有効期限を返します。診断や、スコープが不足している場合に早期に失敗させる際に役立ちます。
OAuth
OAuth はパートナーアプリのモデルです。承認済みアプリケーションは、ユーザーを介したアクセスには PKCE を伴う Authorization Code を、承認済みの機密マシン間アクセスには Client Credentials を使用します。
パブリックエンドポイント:
GET /oauth/authorizePOST /oauth/tokenPOST /oauth/revoke
トークンエンドポイントは、スコープ付きのテナント API キー(pk_live_* / pk_test_* の認証情報)を token_type: Bearer とともに access_token として返します。これを Authorization: Bearer <token> または X-API-Key として送信します。API はリクエストごとにテナント、プラン、アプリのステータス、スコープを再チェックするため、失効またはダウングレードされたアクセスは即座に反映されます。
ホスト型 MCP の認可
ホスト型 MCP リクエストは、パブリック API リソースにスコープされたベアラー認証情報を使用します。MCP ツールはパブリック API スコープと 1 対 1 で対応し、書き込みツールには明示的な確認の入力が必要であり、認証情報は MCP プロセスによって永続化されません。