/api/* エンドポイントは content negotiation 対応:?format=json でも可
| method | path | 説明 | 詳細 |
|---|---|---|---|
| GET | /api/projects | BIM 物件一覧 | 13 物件 (famous-*) を DB から返却 |
| GET | /api/projects/:slug/elements | BIM 要素 取得 | 物件の elements (DB) |
| GET | /api/material/catalog?slug= | 材料 SKU 一覧 | 55 SKU (KUNTAN/Cor-Ten/家具/設備/etc) |
| POST | /api/material/catalog | SKU upsert | 新規追加 or 価格・supplier 更新 |
| DELETE | /api/material/catalog/:sku | SKU 削除 | — |
| GET | /api/material/quote/:slug | 見積実行 + DB 保存 | BIM 要素 → 数量計算 → 税込総額 |
| GET | /api/material/quotes?slug= | quote 履歴 | 過去 50 件 |
| GET | /api/material/rfq/:slug_or_quote/:supplier | RFQ 生成 + DB 保存 | 正式見積依頼 email draft |
| GET | /api/material/rfqs?quote_id= | RFQ 一覧 | status filter 可 |
| POST | /api/material/rfq/:rfq_id/status | RFQ status 更新 | draft/sent/responded/ordered/cancelled |
| POST | /api/bim/validate | JSON Schema 検証 | errors + warnings 返却 |
| POST | /api/bim/repair | JSON 自動修復 | spec_version 補完 / 必須 field default / 重複 id rename |
| POST | /api/image/photoreal-from-viewer | Photoreal 生成 | 現在 3D view + 物件 spec → Gemini nanobanana |
| POST | /api/signers | Signer 登録 | Ed25519 pubkey + role |
| GET | /api/signers?role= | Signer 一覧 | — |
| POST | /api/signatures | 署名提出 + Ed25519 検証 | valid のみ verified 保存 |
| GET | /api/signatures?slug= | 署名一覧 | browser → /trust/:slug にリダイレクト |
| GET | /property/:slug | 物件ダッシュボード (HTML) | 8 SVG + cost + RFQ status |
| GET | /trust/:slug | Trust chain 公開 page | 100 年後にも 再検証可 |
| GET | /viewer/:slug | 3D Viewer | Three.js + tools + AI |
| GET | /permit/:slug | 確認申請副本 PDF | A3 印刷で 21 書類 化 |