ルール

Rules のドキュメント

Rules

ベースパス: /api/v1/rules

ルールは GoRules JDM(JSON Decision Model)形式で構築される意思決定ロジックコンポーネントです。条件、決定表、式、関数ノードをサポートします。ルールはワークフローと同様に下書き → バージョンのライフサイクルを経ます。

すべてのエンドポイントには JWT 認証と x-active-org ヘッダーが必要です。


エンドポイント概要

MethodPathDescription
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 でレスポンスをストリームします。会話を通じて意思決定ルール定義を作成/編集する際に使用します。

パスパラメータ

ParameterTypeDescription
threadIdstring (UUID)スレッド ID(ルールスレッドである必要あり)

リクエストボディ(multipart/form-data)

FieldTypeRequiredDefaultDescription
messagestringYesユーザーメッセージ本文
isInterruptbooleanNofalse割り込みへの応答か
inputsJSON objectNo{}割り込み応答時の入力値
attachmentsFile[]No[]ファイル添付
modelstringNo"GPT-4o"使用する AI モデル

利用可能モデル: GPT-4oGPT-4o-miniClaude-3-5-SonnetClaude-3-5-HaikuGemini-2.0-FlashGemini-2.5-ProDeepSeek-R1o3-minio4-mini

レスポンス

SSE ストリームを返します(Content-Type: text/event-stream)。

EventDataDescription
ping{ "content": "ping" }キープアライブハートビート
message{ "content": "<text>" }AI レスポンステキスト
error{ "content": "<message>" }ストリーミングエラー

GET /api/v1/rules

アクティブな組織内の全ルールを一覧します。

レスポンス 200 OK

json

ルールフィールド:

FieldTypeDescription
idstring (UUID)ルール ID
namestringルール名
descriptionstring | nullルールの説明
createdAtstring (ISO 8601)作成日時
updatedAtstring (ISO 8601)最終更新日時

GET /api/v1/rules/:ruleId

現在のバージョン定義を含む特定ルールの詳細を返します。

パスパラメータ

ParameterTypeDescription
ruleIdstring (UUID)ルール ID

レスポンス 200 OK

json

GET /api/v1/rules/:ruleId/versions

ルールの公開済みバージョンをすべて一覧します。

パスパラメータ

ParameterTypeDescription
ruleIdstring (UUID)ルール ID

レスポンス 200 OK

json

POST /api/v1/rules

下書きから新しいルールを保存します。ルールレコードと最初のバージョンを作成します。

リクエストボディ(JSON)

FieldTypeRequiredDescription
draftIdstringYes保存する下書きの ID(スレッドまたはルール下書き ID)
namestringYesルール名(最小長: 1)
descriptionstringNoルールの説明
json

レスポンス 200 OK

新規作成されたルールを返します。

エラー

StatusReason
400 Bad Request下書きが無効(検証失敗)
404 Not Found下書きが見つからない

POST /api/v1/rules/:ruleId/versions

下書きから既存ルールの新しい公開バージョンを作成します。

パスパラメータ

ParameterTypeDescription
ruleIdstring (UUID)ルール ID

リクエストボディ(JSON)

FieldTypeRequiredDescription
draftIdstringYes新バージョンとして公開する下書きの ID
json

レスポンス 200 OK

新しいルールバージョンを返します。

エラー

StatusReason
400 Bad Request下書きが無効
404 Not Foundルールまたは下書きが見つからない

POST /api/v1/rules/drafts/:draftId/validate

ルール下書きを JDM スキーマに対して検証します。エラーがあれば返します。

パスパラメータ

ParameterTypeDescription
draftIdstring下書き ID

リクエスト

リクエストボディは不要です。

レスポンス 200 OK

json

検証失敗時:

json

POST /api/v1/rules/drafts/:draftId/test

提供されたテスト入力でルール下書きを実行し、出力を返します。

パスパラメータ

ParameterTypeDescription
draftIdstring下書き ID

リクエストボディ(JSON)

FieldTypeRequiredDescription
inputsobjectYesルールの入力スキーマに一致するキー値マップ
json

レスポンス 200 OK

json

エラー

StatusReason
400 Bad Request下書きが無効で実行不可
404 Not Found下書きが見つからない

JDM ルール定義形式

ルールは GoRules JDM v1 形式を使用します。

json

ノードタイプ: inputNodeoutputNodedecisionTableNodeexpressionNodefunctionNodeswitchNodedecisionNode

ja/api-docs/rules