チャット

Chats のドキュメント

Chats

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

チャットスレッドは AI 駆動のワークフロー作成と実行の主要な対話面です。各スレッドには会話履歴があり、オプションでワークフロー下書きまたは決定ルール下書きにリンクされます。

すべてのエンドポイントには JWT 認証(Authorization: Bearer <token> または Cookie: token=<jwt>)と x-active-org ヘッダーが必要です。


エンドポイント概要

MethodPathDescription
POST/api/v1/chats新しい空のチャットスレッドを作成
POST/api/v1/chats/from-workflowワークフローバージョンにリンクしたスレッドを作成
GET/api/v1/chatsチャットスレッドを一覧(ページネーション)
GET/api/v1/chats/:threadId/messagesスレッド内のメッセージを取得
POST/api/v1/chats/:threadId/messagesメッセージを送信(SSE ストリームレスポンス)
DELETE/api/v1/chats/:threadIdスレッドを削除
PATCH/api/v1/chats/:threadId/sharingチーム共有を更新
PATCH/api/v1/chats/:threadId/titleスレッドタイトルを生成して設定

POST /api/v1/chats

新しい空のチャットスレッドを作成します。

リクエスト

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

レスポンス 200 OK

json
FieldTypeDescription
threadIdstring (UUID)新規作成されたスレッドの ID

bash

POST /api/v1/chats/from-workflow

特定のワークフローバージョンにリンクした新しいチャットスレッドを作成します。指定バージョンはスレッド内編集用に下書きへコピーされます。

リクエストボディ(JSON)

FieldTypeRequiredDescription
workflowPublicIdstring (UUID)Yesリンクするワークフローの ID
versionPublicIdstring (UUID)No特定バージョン ID;省略時はデフォルトバージョン
titlestringNoスレッドのカスタムタイトル
json

レスポンス 201 Created

json
FieldTypeDescription
threadIdstring (UUID)新規スレッド ID
workflowPublicIdstring (UUID)リンクしたワークフロー ID
draftPublicIdstring (UUID)このスレッド用に作成された新しいワークフロー下書き
visibilitystring作成時は常に "owner"

エラー

StatusReason
403 Forbiddenワークフローへのアクセス権限不足
404 Not Foundワークフローまたはバージョンが見つからない

GET /api/v1/chats

認証済みユーザーのチャットスレッドを新しい順に一覧します。

クエリパラメータ

ParameterTypeDefaultDescription
pagenumber1ページ番号
limitnumber201 ページあたり件数

レスポンス 200 OK

json

スレッドオブジェクトフィールド:

FieldTypeDescription
idstring (UUID)スレッド ID
titlestring | nullスレッドタイトル
descriptionstring | nullスレッドの説明
workflowIdstring (UUID) | null関連ワークフロー ID(ワークフロースレッドの場合)
ruleobject | null関連ルール情報(ルールスレッドの場合): { id, name, description }
lastUpdatedAtstring (ISO 8601)最終アクティビティのタイムスタンプ
sharedTeamKeysstring[]このスレッドを共有しているチーム

注記: ユーザーのメンバーシップ外のチームと共有されたスレッドは自動的にフィルターされます。


GET /api/v1/chats/:threadId/messages

スレッド内のメッセージと関連ワークフロー/ルールコンテキストを取得します。

パスパラメータ

ParameterTypeDescription
threadIdstring (UUID)スレッド ID

クエリパラメータ

ParameterTypeDefaultDescription
pagenumber1ページ番号
limitnumber201 ページあたり件数

レスポンス 200 OK

json

メッセージオブジェクトフィールド:

FieldTypeDescription
idstring (UUID)メッセージ ID
role"user" | "assistant"メッセージの作成者
typestringメッセージタイプ(現在は "text"
contentstringメッセージ本文
createdAtstring (ISO 8601)作成タイムスタンプ

レスポンストップレベルフィールド:

FieldTypeDescription
messagesarrayページネーションされたメッセージ一覧
workflowobject | nullプランナー形式の現在のワークフロー定義(ワークフロースレッドの場合)
workflowPublicIdstring (UUID) | nullリンクしたワークフローの ID
ruleobject | nullルール情報 { id, name, description }(ルールスレッドの場合)
rulePublicIdstring (UUID) | nullリンクしたルールの ID

POST /api/v1/chats/:threadId/messages

スレッド内の AI アシスタントへメッセージを送信し、SSE でレスポンスをストリームします。

パスパラメータ

ParameterTypeDescription
threadIdstring (UUID)スレッド ID

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

FieldTypeRequiredDefaultDescription
messagestringYesユーザーのメッセージ本文
isInterruptbooleanNofalse割り込みへの応答か(AI がユーザー入力待ち)
interruptTypestringNo"workflow-inputs"割り込みタイプ: "workflow-inputs" または "subworkflow-select"
inputsJSON objectNo{}workflow-inputs 割り込み応答時の入力値
envsJSON objectNo{}環境変数の上書き(文字列から文字列へのマップ)
selectedWorkflowIdstringNointerruptType"subworkflow-select" の場合必須
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)。

SSE イベント:

EventDataDescription
ping{ "content": "ping" }9 秒ごとのキープアライブ
message{ "content": "<text>" }AI レスポンステキスト
error{ "content": "<message>" }ストリーミング中のエラー

例(JavaScript)

javascript

割り込みの処理

AI が一時停止してユーザー入力を要求する場合があります(割り込み)。その場合、SSE ストリームが割り込みタイプを示すメッセージを送出します。isInterrupt: true で別メッセージを送信して再開します。

javascript

DELETE /api/v1/chats/:threadId

スレッドとすべてのメッセージをソフト削除します。

パスパラメータ

ParameterTypeDescription
threadIdstring (UUID)スレッド ID

レスポンス 200 OK

json

PATCH /api/v1/chats/:threadId/sharing

スレッドのチームアクセスリストを更新します。既存の共有設定を置き換えます(マージではありません)。

パスパラメータ

ParameterTypeDescription
threadIdstring (UUID)スレッド ID

リクエストボディ(JSON)

FieldTypeRequiredDefaultDescription
shareWithTeamKeysstring[]Yes[]共有するチームキーの一覧。[] でオーナーのみに。
json

レスポンス 200 OK

更新された共有結果オブジェクトを返します。


PATCH /api/v1/chats/:threadId/title

提供された会話メッセージに基づき AI でスレッドタイトルを生成し、保存します。

パスパラメータ

ParameterTypeDescription
threadIdstring (UUID)スレッド ID

リクエストボディ(JSON)

会話メッセージの配列(1〜20 件):

json

メッセージオブジェクト:

FieldTypeRequiredDescription
role"user" | "assistant"Yesメッセージロール
contentarrayYesコンテンツパーツの配列: [{ "type": "text", "text": "..." }]

制約: 最小 1 件、最大 20 件のメッセージ。

レスポンス 200 OK

json
ja/api-docs/chats