ルール
Rules のドキュメント
Rules
ベースパス: /api/v1/rules
ルールは GoRules JDM(JSON Decision Model)形式で構築される意思決定ロジックコンポーネントです。条件、決定表、式、関数ノードをサポートします。ルールはワークフローと同様に下書き → バージョンのライフサイクルを経ます。
すべてのエンドポイントには JWT 認証と x-active-org ヘッダーが必要です。
エンドポイント概要
| Method | Path | Description |
|---|---|---|
| POST | /api/v1/rules/:threadId/messages | ルールチャットスレッドでメッセージを送信(SSE) |
| GET | /api/v1/rules | 全ルールを一覧 |
| GET | /api/v1/rules/:ruleId | ルール詳細を取得 |
| GET | /api/v1/rules/:ruleId/versions | ルールバージョンを一覧 |
| POST | /api/v1/rules | 下書きからルールを保存 |
| POST | /api/v1/rules/:ruleId/versions | 下書きから新しいルールバージョンを作成 |
| POST | /api/v1/rules/drafts/:draftId/validate | ルール下書きを検証 |
| POST | /api/v1/rules/drafts/:draftId/test | 入力でルール下書きをテスト |
POST /api/v1/rules/:threadId/messages
チャットスレッド内の AI ルールアシスタントへメッセージを送信し、SSE でレスポンスをストリームします。会話を通じて意思決定ルール定義を作成/編集する際に使用します。
パスパラメータ
| Parameter | Type | Description |
|---|---|---|
threadId | string (UUID) | スレッド ID(ルールスレッドである必要あり) |
リクエストボディ(multipart/form-data)
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
message | string | Yes | – | ユーザーメッセージ本文 |
isInterrupt | boolean | No | false | 割り込みへの応答か |
inputs | JSON object | No | {} | 割り込み応答時の入力値 |
attachments | File[] | No | [] | ファイル添付 |
model | string | No | "GPT-4o" | 使用する AI モデル |
利用可能モデル: GPT-4o、GPT-4o-mini、Claude-3-5-Sonnet、Claude-3-5-Haiku、Gemini-2.0-Flash、Gemini-2.5-Pro、DeepSeek-R1、o3-mini、o4-mini
レスポンス
SSE ストリームを返します(Content-Type: text/event-stream)。
| Event | Data | Description |
|---|---|---|
ping | { "content": "ping" } | キープアライブハートビート |
message | { "content": "<text>" } | AI レスポンステキスト |
error | { "content": "<message>" } | ストリーミングエラー |
GET /api/v1/rules
アクティブな組織内の全ルールを一覧します。
レスポンス 200 OK
ルールフィールド:
| Field | Type | Description |
|---|---|---|
id | string (UUID) | ルール ID |
name | string | ルール名 |
description | string | null | ルールの説明 |
createdAt | string (ISO 8601) | 作成日時 |
updatedAt | string (ISO 8601) | 最終更新日時 |
GET /api/v1/rules/:ruleId
現在のバージョン定義を含む特定ルールの詳細を返します。
パスパラメータ
| Parameter | Type | Description |
|---|---|---|
ruleId | string (UUID) | ルール ID |
レスポンス 200 OK
GET /api/v1/rules/:ruleId/versions
ルールの公開済みバージョンをすべて一覧します。
パスパラメータ
| Parameter | Type | Description |
|---|---|---|
ruleId | string (UUID) | ルール ID |
レスポンス 200 OK
POST /api/v1/rules
下書きから新しいルールを保存します。ルールレコードと最初のバージョンを作成します。
リクエストボディ(JSON)
| Field | Type | Required | Description |
|---|---|---|---|
draftId | string | Yes | 保存する下書きの ID(スレッドまたはルール下書き ID) |
name | string | Yes | ルール名(最小長: 1) |
description | string | No | ルールの説明 |
レスポンス 200 OK
新規作成されたルールを返します。
エラー
| Status | Reason |
|---|---|
400 Bad Request | 下書きが無効(検証失敗) |
404 Not Found | 下書きが見つからない |
POST /api/v1/rules/:ruleId/versions
下書きから既存ルールの新しい公開バージョンを作成します。
パスパラメータ
| Parameter | Type | Description |
|---|---|---|
ruleId | string (UUID) | ルール ID |
リクエストボディ(JSON)
| Field | Type | Required | Description |
|---|---|---|---|
draftId | string | Yes | 新バージョンとして公開する下書きの ID |
レスポンス 200 OK
新しいルールバージョンを返します。
エラー
| Status | Reason |
|---|---|
400 Bad Request | 下書きが無効 |
404 Not Found | ルールまたは下書きが見つからない |
POST /api/v1/rules/drafts/:draftId/validate
ルール下書きを JDM スキーマに対して検証します。エラーがあれば返します。
パスパラメータ
| Parameter | Type | Description |
|---|---|---|
draftId | string | 下書き ID |
リクエスト
リクエストボディは不要です。
レスポンス 200 OK
検証失敗時:
POST /api/v1/rules/drafts/:draftId/test
提供されたテスト入力でルール下書きを実行し、出力を返します。
パスパラメータ
| Parameter | Type | Description |
|---|---|---|
draftId | string | 下書き ID |
リクエストボディ(JSON)
| Field | Type | Required | Description |
|---|---|---|---|
inputs | object | Yes | ルールの入力スキーマに一致するキー値マップ |
レスポンス 200 OK
エラー
| Status | Reason |
|---|---|
400 Bad Request | 下書きが無効で実行不可 |
404 Not Found | 下書きが見つからない |
JDM ルール定義形式
ルールは GoRules JDM v1 形式を使用します。
ノードタイプ: inputNode、outputNode、decisionTableNode、expressionNode、functionNode、switchNode、decisionNode