クイックスタート
ゼロの状態から最初の認証付き呼び出しまでを、数分で完了させます。
1. API キーを作成する
アプリで Settings -> Integrations -> API を開き、連携に必要な最小限のスコープセット(例: items:read)を持つテナント API キーを作成します。完全なシークレット(pk_live_... または pk_test_...)は一度だけ表示されます。サーバーサイドのシークレットマネージャーやデプロイ環境に保存し、クライアントコードやバージョン管理には決して含めないでください。
2. 最初の呼び出しを行う
curl https://api.fabhub.app/v1 \
-H "X-API-Key: $FABHUB_API_KEY"
GET /v1 は、その認証情報がアクセスできるケイパビリティを返します。認証情報そのもの(スコープ、プラン、レート制限ティア)を確認するには、GET /v1/auth/context を呼び出します。
curl https://api.fabhub.app/v1/auth/context \
-H "X-API-Key: $FABHUB_API_KEY"
{
"data": {
"tenant": { "id": "0e2b...c1", "plan": "pro" },
"api_key": {
"id": "key_8f...",
"prefix": "pk_live_8f3a",
"environment": "production",
"scopes": ["items:read", "items:write", "webhooks:write"],
"rate_limit_tier": "standard",
"expires_at": null
}
}
}
3. SDK をインストールする
npm install @fabhub/sdk
import { FabHubClient } from '@fabhub/sdk';
const fabhub = new FabHubClient({ apiKey: process.env.FABHUB_API_KEY });
// List the first page of items
const items = await fabhub.listItems({ pageSize: 20 });
console.log(items.data.length, 'of', items.pagination.total);
// Read your organization
const { data: organization } = await fabhub.getOrganization();
console.log(organization.name, organization.plan);
4. 何かを作成する(冪等性を使って)
書き込み呼び出しは Idempotency-Key を受け取るため、リトライしたリクエストが重複を作成することはありません。
const { data: item } = await fabhub.createItem(
{ name: 'Widget', itemType: 'product', salePrice: 19.99 },
{ idempotencyKey: crypto.randomUUID() },
);
5. エラーを処理する
import { FabHubApiError } from '@fabhub/sdk';
try {
await fabhub.listItems();
} catch (err) {
if (err instanceof FabHubApiError) {
console.error(err.status, err.code, err.message);
}
}
次のステップ
- API リファレンス: すべてのエンドポイント、パラメータ、レスポンス。
- Webhook: ポーリングの代わりに署名付きイベントを受信します。
- MCP: AI エージェントのワークフロー向けのスコープ付きツールサーフェス。