外部連携API v1
外部のシステム・バッチ・スクリプトから、AIによるWebシステム生成を操作できるREST APIです。 プロジェクトの作成 → ビルド実行 → 進捗確認 → 生成ファイル取得 → 改修依頼まで、すべてAPIから行えます。
1. 準備: APIキーの発行
アカウント設定 の「🔑 外部連携APIキー」からキーを発行してください。
キーは aib_live_… で始まる文字列で、発行時に一度だけ表示されます(サーバーにはハッシュのみ保存)。
⚠ APIキーはパスワードと同じです。公開リポジトリやフロントエンドのコードに書かないでください。漏えいした場合はアカウント設定から失効し、再発行してください。
2. 認証とベースURL
すべてのリクエストに Authorization: Bearer <APIキー> ヘッダを付けます(X-Api-Key ヘッダも利用可)。
ベースURL: https://www.ainetmakoto.com/aibuilder/api/v1 # 疎通確認(認証不要) curl https://www.ainetmakoto.com/aibuilder/api/v1/ping # 自分の情報・残高 curl -H "Authorization: Bearer aib_live_xxxx" https://www.ainetmakoto.com/aibuilder/api/v1/me
mod_rewrite が使えない環境では https://www.ainetmakoto.com/aibuilder/api/v1/index.php?path=/me の形式でも呼び出せます。
3. エンドポイント一覧
| エンドポイント | 説明 |
|---|---|
GET/ping | 疎通確認(認証不要) |
GET/me | アカウント情報・プラン・クレジット残高 |
GET/templates | 依頼テンプレート一覧(slug・依頼例文) |
GET/credit | クレジット残高と直近の取引履歴 |
GET/projects | プロジェクト一覧 |
POST/projects | プロジェクト作成。auto_run: true で作成と同時にビルド開始 |
GET/projects/{id} | プロジェクト詳細(累計コスト込み) |
GET/projects/{id}/status | ビルド状況(ポーリング用・軽量) |
POST/projects/{id}/build | 全フェーズ自動ビルドを開始(バックグラウンド実行) |
POST/projects/{id}/refine | 改修依頼を登録。execute: true で即実行(実行中なら予約) |
GET/projects/{id}/files | 生成ファイル一覧(?env=prototype|production) |
GET/projects/{id}/files/{fid} | ファイル1件を内容つきで取得 |
4. 使い方の流れ(例)
① プロジェクトを作ってビルド開始
curl -X POST https://www.ainetmakoto.com/aibuilder/api/v1/projects \
-H "Authorization: Bearer aib_live_xxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "ネイルサロン予約システム",
"request": "ネイルサロンの予約システムを作ってください。カレンダーで空き状況を…",
"auto_run": true
}'
# → {"ok":true,"project_id":123,"build_started":true}
依頼文の代わりにテンプレートも使えます: {"template_slug": "reservation", "auto_run": true}
(slug一覧は GET /templates)。
② 進捗をポーリング
curl -H "Authorization: Bearer aib_live_xxxx" https://www.ainetmakoto.com/aibuilder/api/v1/projects/123/status
# → {"ok":true,"status":"building","current_phase":"backend","running":true,...}
# running が false になり status が "prototype" になれば完成
③ 生成ファイルを取得
curl -H "Authorization: Bearer aib_live_xxxx" "https://www.ainetmakoto.com/aibuilder/api/v1/projects/123/files?env=prototype" curl -H "Authorization: Bearer aib_live_xxxx" https://www.ainetmakoto.com/aibuilder/api/v1/projects/123/files/4567
④ 日本語で改修を依頼
curl -X POST https://www.ainetmakoto.com/aibuilder/api/v1/projects/123/refine \
-H "Authorization: Bearer aib_live_xxxx" \
-H "Content-Type: application/json" \
-d '{"request_text": "トップページのボタンを大きくして、予約完了メールに地図リンクを追加してください。", "execute": true}'
5. 料金・制限
- API利用そのものに追加料金はありません。AIの生成にかかるクレジット消費は、画面から操作した場合と同じです(残高不足時は
402を返します)。 - プランごとの制約(プロジェクト数・入力文字数・同時ランニング数・AI精度)も画面と共通です。
- レート制限: 1キーあたり毎分60リクエスト。超過時は
429とRetry-Afterヘッダを返します。 - コンテンツ・ガイドラインに反する依頼は
422(policy_violation: true)で拒否されます。
6. エラー形式
{"ok": false, "error": "エラーの説明(日本語)"}
| コード | 意味 |
|---|---|
401 | APIキーがない・無効・失効済み |
402 | クレジット残高不足・プラン上限(作成数など) |
404 | エンドポイントまたは対象が見つからない |
409 | 他の処理(デザイン点検など)と競合 |
422 | 入力不備・文字数超過・ガイドライン違反 |
429 | レート制限・同時ランニング数の上限 |