← Docs
REST API クイックスタート
MCP を使わずに、任意の言語から HTTPS で NW DB にアクセスします。
認証ヘッダ
X-API-Key— Settings ページで発行(nwdb_で始まる)X-Workspace-ID— Workspace の UUID
レコード取得 (GET)
curl https://api.nwdb.dev/api/v1/records/users/records?limit=5 \
-H "X-API-Key: nwdb_xxxxxxxxxxxxxxxxxxxx" \
-H "X-Workspace-ID: ws_abc123"JS/TS から:
const res = await fetch("https://api.nwdb.dev/api/v1/records/users/records?limit=5", {
headers: {
"X-API-Key": process.env.NWDB_API_KEY,
"X-Workspace-ID": process.env.NWDB_WORKSPACE,
},
});
const data = await res.json();レコード投入 (POST)
curl -X POST https://api.nwdb.dev/api/v1/records/users/records \
-H "X-API-Key: $NWDB_API_KEY" \
-H "X-Workspace-ID: $NWDB_WORKSPACE" \
-H "Content-Type: application/json" \
-d '{"name": "Ada", "email": "ada@example.com"}'主要エンドポイント
| パス | 役割 |
|---|---|
| /api/v1/tables | スキーマ管理 |
| /api/v1/records/:t/records | レコード CRUD |
| /api/v1/query | SQL 実行(read-only) |
| /api/v1/query/live | ライブ分析集計 |
| /api/v1/pipeline/propose | 承認パイプラインの提案生成 |
| /api/v1/mcp/call | MCPツール実行 |
型付きクライアント(あなたのスキーマから生成)
現行スキーマから TypeScript の型を生成します。テーブルごとに Row / Insert / Update を持つ Database 型が返り、自分の fetch 呼び出しに差し込むと全テーブルが型付けされ、列名の打ち間違いはコンパイルエラーになります。AIでアプリを書くときの補完もそのまま効きます。
# 1) スキーマから型を生成
curl https://api.nwdb.dev/api/v1/tables/types/typescript \
-H "X-API-Key: $NWDB_API_KEY" -H "X-Workspace-ID: $NWDB_WORKSPACE" > nwdb.types.ts生成した型を差し込む:
import type { Database } from "./nwdb.types";
type Orders = Database["tables"]["orders"]["Row"];
const res = await fetch(
"https://api.nwdb.dev/api/v1/records/orders/records?limit=20",
{ headers: { "X-API-Key": process.env.NWDB_API_KEY!, "X-Workspace-ID": process.env.NWDB_WORKSPACE! } },
);
const { records } = (await res.json()) as { records: Orders[] };
records.forEach((o) => console.log(o.region, o.amount));fetch を書きたくない場合は SDK(nwdb-sdk)を使うと、チェーン API で同じ型がそのまま効きます。フィルタ値は送信前にインジェクション対策で検証され、失敗は例外ではなく { data, error } で返ります。
# SDK を使う場合
npm i nwdb-sdkimport { createClient } from "nwdb-sdk";
import type { Database } from "./nwdb.types";
const db = createClient<Database>("https://api.nwdb.dev", process.env.NWDB_API_KEY!, {
workspaceId: process.env.NWDB_WORKSPACE!,
});
const { data, error } = await db.from("orders").select("*").eq("region", "kanto").limit(20);
data?.forEach((o) => console.log(o.region, o.amount));MCP から使う場合は generate_types ツールを呼べば、Claude / Cursor が型を取得してから型安全なコードを書けます。
完全な OpenAPI 定義は https://api.nwdb.dev/api/v1/docs を参照してください。