Files
dify-docs/ja/api-reference/openapi_workflow.json
Riskey 21122c4282 Batch update apis (#715)
* Batch update service apis

* final check and add zh/ja docs

* add temporary redirects for changed api links embedded in the product

* Restore original operationIds to preserve SDK compatibility

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* complete the missing descriptions

* correct the human input terminology

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 16:38:10 +08:00

3850 lines
148 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"openapi": "3.0.1",
"info": {
"title": "ワークフローアプリAPI",
"description": "ワークフローアプリケーションはセッションなしの動作をサポートし、翻訳、記事作成、要約 AI などに最適です。",
"version": "1.0.0"
},
"servers": [
{
"url": "{api_base_url}",
"description": "Workflow App API のベース URL です。{api_base_url} を実際の API ベース URL に置き換えてください。",
"variables": {
"api_base_url": {
"default": "https://api.dify.ai/v1",
"description": "API の実際のベース URL"
}
}
}
],
"security": [
{
"ApiKeyAuth": []
}
],
"paths": {
"/workflows/run": {
"post": {
"summary": "ワークフローを実行",
"description": "ワークフローを実行します。公開済みのワークフローがないと実行できません。",
"operationId": "executeWorkflowJp",
"tags": [
"ワークフロー"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowExecutionRequest"
},
"examples": {
"streaming_example": {
"summary": "リクエスト例 - ストリーミングモード",
"value": {
"inputs": {
"query": "Summarize this text: The quick brown fox jumps over the lazy dog."
},
"response_mode": "streaming",
"user": "user_workflow_123"
}
},
"blocking_example": {
"summary": "リクエスト例 - ブロッキングモード",
"value": {
"inputs": {
"query": "Translate this to French: Hello world"
},
"response_mode": "blocking",
"user": "user_workflow_456"
}
},
"with_file_array_variable": {
"summary": "Request Example - File array input",
"value": {
"inputs": {
"my_documents": [
{
"type": "document",
"transfer_method": "local_file",
"upload_file_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
},
{
"type": "image",
"transfer_method": "remote_url",
"url": "https://example.com/image.jpg"
}
]
},
"response_mode": "blocking",
"user": "user_workflow_789"
}
}
}
}
}
},
"responses": {
"200": {
"description": "リクエスト成功。コンテンツタイプと構造はリクエストの `response_mode` パラメータに依存します。\n\n- `response_mode` が `blocking` の場合、 `application/json` で `WorkflowBlockingResponse` オブジェクトを返します。\n- `response_mode` が `streaming` の場合、 `text/event-stream` で `ChunkWorkflowEvent` オブジェクトのストリームを返します。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowBlockingResponse"
},
"examples": {
"blockingResponse": {
"summary": "レスポンス例 - ブロッキングモード",
"value": {
"task_id": "c3800678-a077-43df-a102-53f23ed20b88",
"workflow_run_id": "fb47b2e6-5e43-4f90-be01-d5c5a088d156",
"data": {
"id": "fb47b2e6-5e43-4f90-be01-d5c5a088d156",
"workflow_id": "7c3e33d4-2a8b-4e5f-9b1a-d3c6e8f12345",
"status": "succeeded",
"outputs": {
"result": "Bonjour le monde"
},
"error": null,
"elapsed_time": 1.23,
"total_tokens": 150,
"total_steps": 3,
"created_at": 1705407629,
"finished_at": 1705407630
}
}
}
}
},
"text/event-stream": {
"schema": {
"type": "string",
"description": "サーバー送信イベント (SSE) のストリームです。各イベントは `data: ` プレフィックス付きの JSON オブジェクトで、2 つの改行で終了します。\n\n**SSE パースガイド:**各イベントは `data: ` プレフィックス付きの JSON オブジェクトの行で、`\\n\\n` で終了します。JSON をパースする前に `data: ` プレフィックスを除去してください。JSON 内の `event` フィールドがイベントタイプを決定します。終了イベント(`message_end`、`workflow_finished`、`error` など)を受信するとストリームは終了します。`ping` イベント10 秒ごとに接続維持のために送信)は無視してください。ストリーム内でエラーイベントが発生しても HTTP ステータスコードは常に `200` です。"
},
"examples": {
"streamingResponse": {
"summary": "レスポンス例 - ストリーミングモード",
"value": "data: {\"event\": \"workflow_started\", \"task_id\": \"c3800678-a077-43df-a102-53f23ed20b88\", \"workflow_run_id\": \"fb47b2e6-5e43-4f90-be01-d5c5a088d156\", \"data\": {\"id\": \"fb47b2e6-5e43-4f90-be01-d5c5a088d156\", \"workflow_id\": \"7c3e33d4-2a8b-4e5f-9b1a-d3c6e8f12345\", \"inputs\": {\"query\": \"Translate this\"}, \"created_at\": 1705407629, \"reason\": \"initial\"}} data: {\"event\": \"node_started\", \"task_id\": \"c3800678-a077-43df-a102-53f23ed20b88\", \"workflow_run_id\": \"fb47b2e6-5e43-4f90-be01-d5c5a088d156\", \"data\": {\"id\": \"node_exec_1\", \"node_id\": \"node_1\", \"node_type\": \"llm\", \"title\": \"LLM Node\", \"index\": 1, \"created_at\": 1705407629}} data: {\"event\": \"text_chunk\", \"task_id\": \"c3800678-a077-43df-a102-53f23ed20b88\", \"workflow_run_id\": \"fb47b2e6-5e43-4f90-be01-d5c5a088d156\", \"data\": {\"text\": \"Bonjour\", \"from_variable_selector\": [\"node_1\", \"text\"]}} data: {\"event\": \"workflow_finished\", \"task_id\": \"c3800678-a077-43df-a102-53f23ed20b88\", \"workflow_run_id\": \"fb47b2e6-5e43-4f90-be01-d5c5a088d156\", \"data\": {\"id\": \"fb47b2e6-5e43-4f90-be01-d5c5a088d156\", \"workflow_id\": \"7c3e33d4-2a8b-4e5f-9b1a-d3c6e8f12345\", \"status\": \"succeeded\", \"outputs\": {\"result\": \"Bonjour le monde\"}, \"elapsed_time\": 1.23, \"total_tokens\": 150, \"total_steps\": 3, \"created_at\": 1705407629, \"finished_at\": 1705407630}}"
}
}
}
}
},
"400": {
"description": "- `not_workflow_app` : App mode does not match the API route.\n- `provider_not_initialize` : 有効なモデルプロバイダーの認証情報が見つかりません。\n- `provider_quota_exceeded` : モデルプロバイダーのクォータが使い切られました。\n- `model_currently_not_support` : 現在のモデルは利用できません。\n- `completion_request_error` : Workflow execution request failed.\n- `invalid_param` : Invalid parameter value.",
"content": {
"application/json": {
"examples": {
"not_workflow_app": {
"summary": "not_workflow_app",
"value": {
"status": 400,
"code": "not_workflow_app",
"message": "Please check if your app mode matches the right API route."
}
},
"provider_not_initialize": {
"summary": "provider_not_initialize",
"value": {
"status": 400,
"code": "provider_not_initialize",
"message": "No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials."
}
},
"provider_quota_exceeded": {
"summary": "provider_quota_exceeded",
"value": {
"status": 400,
"code": "provider_quota_exceeded",
"message": "Your quota for Dify Hosted OpenAI has been exhausted. Please go to Settings -> Model Provider to complete your own provider credentials."
}
},
"model_currently_not_support": {
"summary": "model_currently_not_support",
"value": {
"status": 400,
"code": "model_currently_not_support",
"message": "Dify Hosted OpenAI trial currently not support the GPT-4 model."
}
},
"completion_request_error": {
"summary": "completion_request_error",
"value": {
"status": 400,
"code": "completion_request_error",
"message": "Completion request failed."
}
},
"invalid_param": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Arg user must be provided."
}
}
}
}
}
},
"429": {
"description": "- `too_many_requests` : このアプリケーションへの同時リクエストが多すぎます。\n- `rate_limit_error` : アップストリームのモデルプロバイダーのレート制限を超えました。",
"content": {
"application/json": {
"examples": {
"too_many_requests": {
"summary": "too_many_requests",
"value": {
"status": 429,
"code": "too_many_requests",
"message": "Too many requests. Please try again later."
}
},
"rate_limit_error": {
"summary": "rate_limit_error",
"value": {
"status": 429,
"code": "rate_limit_error",
"message": "Rate Limit Error"
}
}
}
}
}
},
"500": {
"description": "`internal_server_error` : 内部サーバーエラー。",
"content": {
"application/json": {
"examples": {
"internal_server_error": {
"summary": "internal_server_error",
"value": {
"status": 500,
"code": "internal_server_error",
"message": "Internal Server Error."
}
}
}
}
}
}
}
}
},
"/workflows/{workflow_id}/run": {
"post": {
"summary": "ID でワークフローを実行",
"description": "ID で指定された特定のワークフローバージョンを実行します。ワークフローの特定の公開バージョンを実行する場合に便利です。",
"operationId": "runWorkflowByIdJa",
"tags": [
"ワークフロー"
],
"parameters": [
{
"name": "workflow_id",
"in": "path",
"required": true,
"description": "実行する特定バージョンのワークフロー ID です。この値は [ワークフローを実行](/api-reference/ワークフロー/ワークフローを実行) のレスポンスおよび [ワークフロー実行詳細を取得](/api-reference/ワークフロー/ワークフロー実行詳細を取得) の `workflow_id` フィールドで返されます。",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowExecutionRequest"
},
"examples": {
"example": {
"summary": "リクエスト例",
"value": {
"inputs": {
"query": "Summarize this article"
},
"response_mode": "blocking",
"user": "user_workflow_123"
}
}
}
}
}
},
"responses": {
"200": {
"description": "リクエスト成功。コンテンツタイプと構造はリクエストの `response_mode` パラメータに依存します。\n\n- `response_mode` が `blocking` の場合、 `application/json` で `WorkflowBlockingResponse` オブジェクトを返します。\n- `response_mode` が `streaming` の場合、 `text/event-stream` で `ChunkWorkflowEvent` オブジェクトのストリームを返します。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowBlockingResponse"
},
"examples": {
"blockingResponse": {
"summary": "レスポンス例 - ブロッキングモード",
"value": {
"task_id": "c3800678-a077-43df-a102-53f23ed20b88",
"workflow_run_id": "fb47b2e6-5e43-4f90-be01-d5c5a088d156",
"data": {
"id": "fb47b2e6-5e43-4f90-be01-d5c5a088d156",
"workflow_id": "7c3e33d4-2a8b-4e5f-9b1a-d3c6e8f12345",
"status": "succeeded",
"outputs": {
"result": "Article summary here"
},
"error": null,
"elapsed_time": 2.45,
"total_tokens": 280,
"total_steps": 4,
"created_at": 1705407629,
"finished_at": 1705407631
}
}
}
}
},
"text/event-stream": {
"schema": {
"type": "string",
"description": "サーバー送信イベント (SSE) のストリームです。各イベントは `data: ` プレフィックス付きの JSON オブジェクトで、2 つの改行で終了します。\n\n**SSE パースガイド:**各イベントは `data: ` プレフィックス付きの JSON オブジェクトの行で、`\\n\\n` で終了します。JSON をパースする前に `data: ` プレフィックスを除去してください。JSON 内の `event` フィールドがイベントタイプを決定します。終了イベント(`message_end`、`workflow_finished`、`error` など)を受信するとストリームは終了します。`ping` イベント10 秒ごとに接続維持のために送信)は無視してください。ストリーム内でエラーイベントが発生しても HTTP ステータスコードは常に `200` です。"
}
}
}
},
"400": {
"description": "- `not_workflow_app` : App mode does not match the API route.\n- `bad_request` : Workflow is a draft or has an invalid ID format.\n- `provider_not_initialize` : 有効なモデルプロバイダーの認証情報が見つかりません。\n- `provider_quota_exceeded` : モデルプロバイダーのクォータが使い切られました。\n- `model_currently_not_support` : 現在のモデルは利用できません。\n- `completion_request_error` : Workflow execution request failed.\n- `invalid_param` : Required parameter missing or invalid.",
"content": {
"application/json": {
"examples": {
"not_workflow_app": {
"summary": "not_workflow_app",
"value": {
"status": 400,
"code": "not_workflow_app",
"message": "Please check if your app mode matches the right API route."
}
},
"bad_request": {
"summary": "bad_request",
"value": {
"status": 400,
"code": "bad_request",
"message": "Workflow is a draft and cannot be executed."
}
},
"provider_not_initialize": {
"summary": "provider_not_initialize",
"value": {
"status": 400,
"code": "provider_not_initialize",
"message": "No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials."
}
},
"provider_quota_exceeded": {
"summary": "provider_quota_exceeded",
"value": {
"status": 400,
"code": "provider_quota_exceeded",
"message": "Your quota for Dify Hosted OpenAI has been exhausted. Please go to Settings -> Model Provider to complete your own provider credentials."
}
},
"model_currently_not_support": {
"summary": "model_currently_not_support",
"value": {
"status": 400,
"code": "model_currently_not_support",
"message": "Dify Hosted OpenAI trial currently not support the GPT-4 model."
}
},
"completion_request_error": {
"summary": "completion_request_error",
"value": {
"status": 400,
"code": "completion_request_error",
"message": "Completion request failed."
}
},
"invalid_param": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Arg user must be provided."
}
}
}
}
}
},
"404": {
"description": "`not_found` : ワークフローが見つかりません。",
"content": {
"application/json": {
"examples": {
"not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Workflow not found."
}
}
}
}
}
},
"429": {
"description": "- `too_many_requests` : このアプリケーションへの同時リクエストが多すぎます。\n- `rate_limit_error` : アップストリームのモデルプロバイダーのレート制限を超えました。",
"content": {
"application/json": {
"examples": {
"too_many_requests": {
"summary": "too_many_requests",
"value": {
"status": 429,
"code": "too_many_requests",
"message": "Too many requests. Please try again later."
}
},
"rate_limit_error": {
"summary": "rate_limit_error",
"value": {
"status": 429,
"code": "rate_limit_error",
"message": "Rate Limit Error"
}
}
}
}
}
},
"500": {
"description": "`internal_server_error` : 内部サーバーエラー。",
"content": {
"application/json": {
"examples": {
"internal_server_error": {
"summary": "internal_server_error",
"value": {
"status": 500,
"code": "internal_server_error",
"message": "Internal Server Error."
}
}
}
}
}
}
}
}
},
"/workflows/run/{workflow_run_id}": {
"get": {
"summary": "ワークフロー実行詳細を取得",
"description": "ワークフロー実行 ID に基づいて、ワークフロータスクの現在の実行結果を取得します。",
"operationId": "getWorkflowRunDetailJp",
"tags": [
"ワークフロー"
],
"parameters": [
{
"name": "workflow_run_id",
"in": "path",
"required": true,
"description": "ワークフロー実行 ID です。ワークフロー実行レスポンスまたはストリーミングイベントから取得できます。",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "ワークフロー実行の詳細の取得に成功しました。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowRunDetailResponse"
},
"examples": {
"workflowRunDetail": {
"summary": "レスポンス例",
"value": {
"id": "fb47b2e6-5e43-4f90-be01-d5c5a088d156",
"workflow_id": "7c3e33d4-2a8b-4e5f-9b1a-d3c6e8f12345",
"status": "succeeded",
"inputs": {
"query": "Translate this to French"
},
"outputs": {
"result": "Traduisez ceci en francais"
},
"error": null,
"total_steps": 3,
"total_tokens": 150,
"created_at": 1705407629,
"finished_at": 1705407630,
"elapsed_time": 1.23
}
}
}
}
}
},
"400": {
"description": "`not_workflow_app` : アプリモードが API ルートと一致しません。",
"content": {
"application/json": {
"examples": {
"not_workflow_app": {
"summary": "not_workflow_app",
"value": {
"status": 400,
"code": "not_workflow_app",
"message": "Please check if your app mode matches the right API route."
}
}
}
}
}
},
"404": {
"description": "`not_found` : ワークフロー実行記録が見つかりません。",
"content": {
"application/json": {
"examples": {
"workflow_run_not_found": {
"summary": "not_found",
"value": {
"status": 404,
"code": "not_found",
"message": "Workflow run not found."
}
}
}
}
}
}
}
}
},
"/workflows/logs": {
"get": {
"summary": "ワークフローログ一覧を取得",
"description": "フィルタリングオプション付きでワークフロー実行ログをページネーションで取得します。",
"operationId": "getWorkflowLogsJp",
"tags": [
"ワークフロー"
],
"parameters": [
{
"name": "keyword",
"in": "query",
"description": "ログ内を検索するキーワードです。",
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"description": "実行ステータスでフィルタリングします。",
"schema": {
"type": "string",
"enum": [
"succeeded",
"failed",
"stopped"
]
}
},
{
"name": "page",
"in": "query",
"description": "ページネーションのページ番号。",
"schema": {
"type": "integer",
"default": 1,
"minimum": 1,
"maximum": 99999
}
},
{
"name": "limit",
"in": "query",
"description": "1 ページあたりの件数です。",
"schema": {
"type": "integer",
"default": 20,
"minimum": 1,
"maximum": 100
}
},
{
"name": "created_at__before",
"in": "query",
"description": "この ISO 8601 タイムスタンプ以前に作成されたログをフィルタリングします。",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "created_at__after",
"in": "query",
"description": "この ISO 8601 タイムスタンプ以降に作成されたログをフィルタリングします。",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "created_by_end_user_session_id",
"in": "query",
"description": "エンドユーザーセッション ID でフィルタリングします。",
"schema": {
"type": "string"
}
},
{
"name": "created_by_account",
"in": "query",
"description": "アカウント ID でフィルタリングします。",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "ワークフローログの取得に成功しました。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowLogsResponse"
},
"examples": {
"workflowLogs": {
"summary": "レスポンス例",
"value": {
"page": 1,
"limit": 20,
"total": 1,
"has_more": false,
"data": [
{
"id": "b7e2f8a1-3c4d-5e6f-7890-abcdef123456",
"workflow_run": {
"id": "fb47b2e6-5e43-4f90-be01-d5c5a088d156",
"version": "2025-01-16 12:00:00.000000",
"status": "succeeded",
"error": null,
"elapsed_time": 1.23,
"total_tokens": 150,
"total_steps": 3,
"created_at": 1705407629,
"finished_at": 1705407630,
"exceptions_count": 0,
"triggered_from": "app"
},
"created_from": "service-api",
"created_by_role": "end_user",
"created_by_account": null,
"created_by_end_user": {
"id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"type": "service_api",
"is_anonymous": false,
"session_id": "user_workflow_123"
},
"created_at": 1705407629
}
]
}
}
}
}
}
}
}
}
},
"/workflows/tasks/{task_id}/stop": {
"post": {
"summary": "ワークフロータスクを停止",
"description": "実行中のワークフロータスクを停止します。`streaming` モードでのみサポートされます。",
"operationId": "stopWorkflowTaskGenerationJp",
"tags": [
"ワークフロー"
],
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"description": "タスク ID です。[ワークフローを実行](/api-reference/ワークフロー/ワークフローを実行) API のストリーミングチャンクレスポンスから取得できます。",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"user"
],
"properties": {
"user": {
"type": "string",
"description": "ユーザー識別子です。[ワークフローを実行](/api-reference/ワークフロー/ワークフローを実行) リクエストで渡したユーザーと一致する必要があります。"
}
}
},
"examples": {
"example": {
"summary": "リクエスト例",
"value": {
"user": "user_workflow_123"
}
}
}
}
}
},
"responses": {
"200": {
"$ref": "#/components/responses/SuccessResult"
},
"400": {
"description": "- `not_workflow_app` : アプリモードが API ルートと一致しません。\n- `invalid_param` : 必須パラメータが不足しているか無効です。",
"content": {
"application/json": {
"examples": {
"not_workflow_app": {
"summary": "not_workflow_app",
"value": {
"status": 400,
"code": "not_workflow_app",
"message": "Please check if your app mode matches the right API route."
}
},
"invalid_param": {
"summary": "invalid_param",
"value": {
"status": 400,
"code": "invalid_param",
"message": "Arg user must be provided."
}
}
}
}
}
}
}
}
},
"/files/upload": {
"post": {
"operationId": "uploadWorkflowFileJp",
"tags": [
"ファイル操作"
],
"summary": "ファイルをアップロード",
"description": "メッセージ送信時に使用するファイルをアップロードします。画像、ドキュメント、音声、動画のマルチモーダル理解が可能です。アップロードされたファイルは現在のエンドユーザーのみが使用できます。",
"requestBody": {
"description": "ファイルアップロードリクエスト。multipart/form-data 形式が必要です。",
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "アップロードするファイル。サポートされるタイプには画像、ドキュメント、音声、動画が含まれます。"
},
"user": {
"type": "string",
"description": "ユーザー識別子。開発者のルールで定義され、アプリケーション内で一意である必要があります。"
}
}
}
}
}
},
"responses": {
"201": {
"description": "ファイルが正常にアップロードされました。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FileUploadResponse"
},
"examples": {
"uploadSuccess": {
"summary": "レスポンス例",
"value": {
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"name": "product-photo.png",
"size": 204800,
"extension": "png",
"mime_type": "image/png",
"created_by": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"created_at": 1705407629,
"preview_url": null,
"source_url": null,
"original_url": null,
"user_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"tenant_id": "11223344-5566-7788-99aa-bbccddeeff00",
"conversation_id": null,
"file_key": "uploads/product-photo.png"
}
}
}
}
}
},
"400": {
"description": "- `no_file_uploaded` : リクエストにファイルが提供されていません。\n- `too_many_files` : 1 回のリクエストにつき 1 ファイルのみ許可されています。\n- `filename_not_exists_error` : アップロードされたファイルにファイル名がありません。",
"content": {
"application/json": {
"examples": {
"no_file_uploaded": {
"summary": "no_file_uploaded",
"value": {
"status": 400,
"code": "no_file_uploaded",
"message": "Please upload your file."
}
},
"too_many_files": {
"summary": "too_many_files",
"value": {
"status": 400,
"code": "too_many_files",
"message": "Only one file is allowed."
}
},
"filename_not_exists_error": {
"summary": "filename_not_exists_error",
"value": {
"status": 400,
"code": "filename_not_exists_error",
"message": "The specified filename does not exist."
}
}
}
}
}
},
"413": {
"description": "`file_too_large` : ファイルサイズの上限を超えています。",
"content": {
"application/json": {
"examples": {
"file_too_large": {
"summary": "file_too_large",
"value": {
"status": 413,
"code": "file_too_large",
"message": "File size exceeded."
}
}
}
}
}
},
"415": {
"description": "`unsupported_file_type` : 許可されていないファイルタイプです。",
"content": {
"application/json": {
"examples": {
"unsupported_file_type": {
"summary": "unsupported_file_type",
"value": {
"status": 415,
"code": "unsupported_file_type",
"message": "File type not allowed."
}
}
}
}
}
}
}
}
},
"/files/{file_id}/preview": {
"get": {
"operationId": "downloadWorkflowFileJa",
"tags": [
"ファイル操作"
],
"summary": "ファイルをダウンロード",
"description": "以前[ファイルをアップロード](/api-reference/ファイル操作/ファイルをアップロード) API 経由でアップロードされたファイルをプレビューまたはダウンロードします。ファイルは、リクエスト元のアプリケーション内のメッセージに属する場合のみアクセスできます。",
"parameters": [
{
"name": "file_id",
"in": "path",
"required": true,
"description": "プレビューするファイルの一意の識別子です。[ファイルをアップロード](/api-reference/ファイル操作/ファイルをアップロード) API のレスポンスから取得します。",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "as_attachment",
"in": "query",
"required": false,
"description": "`true` の場合、ブラウザでプレビューする代わりにファイルを添付ファイルとして強制ダウンロードします。",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "user",
"in": "query",
"required": false,
"description": "ユーザー識別子。エンドユーザーのコンテキストに使用されます。",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "生のファイルコンテンツを返します。`Content-Type` ヘッダーはファイルの MIME タイプに設定されます。`as_attachment` が `true` の場合、ファイルは `Content-Disposition: attachment` としてダウンロード形式で返されます。",
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"403": {
"description": "`file_access_denied` : リクエストされたファイルへのアクセスが拒否されました。",
"content": {
"application/json": {
"examples": {
"file_access_denied": {
"summary": "file_access_denied",
"value": {
"status": 403,
"code": "file_access_denied",
"message": "Access to the requested file is denied."
}
}
}
}
}
},
"404": {
"description": "`file_not_found` : リクエストされたファイルが見つかりません。",
"content": {
"application/json": {
"examples": {
"file_not_found": {
"summary": "file_not_found",
"value": {
"status": 404,
"code": "file_not_found",
"message": "The requested file was not found."
}
}
}
}
}
}
}
}
},
"/end-users/{end_user_id}": {
"get": {
"operationId": "getEndUserWorkflowJp",
"tags": [
"エンドユーザー"
],
"summary": "エンドユーザー取得",
"description": "ID を指定してエンドユーザーを取得します。他の API がエンドユーザー ID を返す場合(例:[ファイルをアップロード](/api-reference/ファイル操作/ファイルをアップロード)の `created_by`)に便利です。",
"parameters": [
{
"name": "end_user_id",
"in": "path",
"required": true,
"description": "エンドユーザー ID。",
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "エンドユーザーを正常に取得しました。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndUserDetail"
},
"examples": {
"endUserDetail": {
"summary": "レスポンス例",
"value": {
"id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"tenant_id": "11223344-5566-7788-99aa-bbccddeeff00",
"app_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"type": "service_api",
"external_user_id": "abc-123",
"name": null,
"is_anonymous": false,
"session_id": "abc-123",
"created_at": "2024-01-16T12:00:29Z",
"updated_at": "2024-01-16T12:00:29Z"
}
}
}
}
}
},
"404": {
"description": "`end_user_not_found` : エンドユーザーが見つかりません。",
"content": {
"application/json": {
"examples": {
"end_user_not_found": {
"summary": "end_user_not_found",
"value": {
"status": 404,
"code": "end_user_not_found",
"message": "End user not found."
}
}
}
}
}
}
}
}
},
"/audio-to-text": {
"post": {
"operationId": "workflowAudioToTextJa",
"tags": [
"音声・テキスト変換"
],
"summary": "音声をテキストに変換",
"description": "音声ファイルをテキストに変換します。サポートされる形式:`mp3`、`mp4`、`mpeg`、`mpga`、`m4a`、`wav`、`webm`。ファイルサイズの上限は `30 MB` です。",
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/AudioToTextRequest"
}
}
}
},
"responses": {
"200": {
"description": "音声からテキストへの変換に成功しました。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AudioToTextResponse"
},
"examples": {
"audioToTextSuccess": {
"summary": "レスポンス例",
"value": {
"text": "Hello, I would like to know more about the iPhone 13 Pro Max."
}
}
}
}
}
},
"400": {
"description": "- `app_unavailable` : アプリケーションが利用できないか、設定が正しくありません。\n- `no_audio_uploaded` : 音声ファイルがアップロードされていません。\n- `provider_not_support_speech_to_text` : モデルプロバイダーが音声認識をサポートしていません。\n- `provider_not_initialize` : 有効なモデルプロバイダーの認証情報が見つかりません。\n- `provider_quota_exceeded` : モデルプロバイダーのクォータが使い切られました。\n- `model_currently_not_support` : 現在のモデルはこの操作をサポートしていません。\n- `completion_request_error` : 音声認識リクエストに失敗しました。",
"content": {
"application/json": {
"examples": {
"app_unavailable": {
"summary": "app_unavailable",
"value": {
"status": 400,
"code": "app_unavailable",
"message": "App unavailable, please check your app configurations."
}
},
"no_audio_uploaded": {
"summary": "no_audio_uploaded",
"value": {
"status": 400,
"code": "no_audio_uploaded",
"message": "Please upload your audio."
}
},
"provider_not_support_speech_to_text": {
"summary": "provider_not_support_speech_to_text",
"value": {
"status": 400,
"code": "provider_not_support_speech_to_text",
"message": "Provider not support speech to text."
}
},
"provider_not_initialize": {
"summary": "provider_not_initialize",
"value": {
"status": 400,
"code": "provider_not_initialize",
"message": "No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials."
}
},
"provider_quota_exceeded": {
"summary": "provider_quota_exceeded",
"value": {
"status": 400,
"code": "provider_quota_exceeded",
"message": "Your quota for Dify Hosted OpenAI has been exhausted. Please go to Settings -> Model Provider to complete your own provider credentials."
}
},
"model_currently_not_support": {
"summary": "model_currently_not_support",
"value": {
"status": 400,
"code": "model_currently_not_support",
"message": "Dify Hosted OpenAI trial currently not support the GPT-4 model."
}
},
"completion_request_error": {
"summary": "completion_request_error",
"value": {
"status": 400,
"code": "completion_request_error",
"message": "Completion request failed."
}
}
}
}
}
},
"413": {
"description": "`audio_too_large` : 音声ファイルサイズが上限を超えています。",
"content": {
"application/json": {
"examples": {
"audio_too_large": {
"summary": "audio_too_large",
"value": {
"status": 413,
"code": "audio_too_large",
"message": "Audio size exceeded."
}
}
}
}
}
},
"415": {
"description": "`unsupported_audio_type` : 許可されていない音声タイプです。",
"content": {
"application/json": {
"examples": {
"unsupported_audio_type": {
"summary": "unsupported_audio_type",
"value": {
"status": 415,
"code": "unsupported_audio_type",
"message": "Audio type not allowed."
}
}
}
}
}
},
"500": {
"description": "`internal_server_error` : 内部サーバーエラー。",
"content": {
"application/json": {
"examples": {
"internal_server_error": {
"summary": "internal_server_error",
"value": {
"status": 500,
"code": "internal_server_error",
"message": "Internal server error."
}
}
}
}
}
}
}
}
},
"/text-to-audio": {
"post": {
"operationId": "workflowTextToAudioJa",
"tags": [
"音声・テキスト変換"
],
"summary": "テキストを音声に変換",
"description": "テキストを音声に変換します。",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TextToAudioRequest"
},
"examples": {
"textToAudioExample": {
"summary": "リクエスト例",
"value": {
"text": "Hello, welcome to our service.",
"user": "abc-123",
"voice": "alloy",
"streaming": false
}
}
}
}
}
},
"responses": {
"200": {
"description": "生成された音声ファイルを返します。`Content-Type` ヘッダーは音声の MIME タイプ(例:`audio/wav`、`audio/mp3`)に設定されます。`streaming` が `true` の場合、音声はチャンク転送エンコーディングでストリーミングされます。",
"content": {
"audio/mpeg": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"400": {
"description": "- `app_unavailable` : アプリケーションが利用できないか、設定が正しくありません。\n- `provider_not_initialize` : 有効なモデルプロバイダーの認証情報が見つかりません。\n- `provider_quota_exceeded` : モデルプロバイダーのクォータが使い切られました。\n- `model_currently_not_support` : 現在のモデルはこの操作をサポートしていません。\n- `completion_request_error` : テキスト読み上げリクエストに失敗しました。",
"content": {
"application/json": {
"examples": {
"app_unavailable": {
"summary": "app_unavailable",
"value": {
"status": 400,
"code": "app_unavailable",
"message": "App unavailable, please check your app configurations."
}
},
"provider_not_initialize": {
"summary": "provider_not_initialize",
"value": {
"status": 400,
"code": "provider_not_initialize",
"message": "No valid model provider credentials found. Please go to Settings -> Model Provider to complete your provider credentials."
}
},
"provider_quota_exceeded": {
"summary": "provider_quota_exceeded",
"value": {
"status": 400,
"code": "provider_quota_exceeded",
"message": "Your quota for Dify Hosted OpenAI has been exhausted. Please go to Settings -> Model Provider to complete your own provider credentials."
}
},
"model_currently_not_support": {
"summary": "model_currently_not_support",
"value": {
"status": 400,
"code": "model_currently_not_support",
"message": "Dify Hosted OpenAI trial currently not support the GPT-4 model."
}
},
"completion_request_error": {
"summary": "completion_request_error",
"value": {
"status": 400,
"code": "completion_request_error",
"message": "Completion request failed."
}
}
}
}
}
},
"500": {
"description": "`internal_server_error` : 内部サーバーエラー。",
"content": {
"application/json": {
"examples": {
"internal_server_error": {
"summary": "internal_server_error",
"value": {
"status": 500,
"code": "internal_server_error",
"message": "Internal server error."
}
}
}
}
}
}
}
}
},
"/info": {
"get": {
"operationId": "getWorkflowAppInfoJp",
"tags": [
"アプリケーション設定"
],
"summary": "アプリケーションの基本情報を取得",
"description": "このアプリケーションの基本情報(名前、説明、タグ、モード)を取得します。",
"responses": {
"200": {
"description": "アプリケーションの基本情報。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppInfoResponse"
},
"examples": {
"appInfo": {
"summary": "レスポンス例",
"value": {
"name": "My Workflow App",
"description": "便利なカスタマーサービスチャットボット。",
"tags": [
"customer-service",
"chatbot"
],
"mode": "workflow",
"author_name": "Dify Team"
}
}
}
}
}
}
}
}
},
"/parameters": {
"get": {
"operationId": "getWorkflowAppParametersJp",
"tags": [
"アプリケーション設定"
],
"summary": "アプリケーションのパラメータ情報を取得",
"description": "アプリケーションの入力フォーム設定(機能スイッチ、入力パラメータ名、タイプ、デフォルト値)を取得します。",
"responses": {
"200": {
"description": "アプリケーションパラメータ情報。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowAppParametersResponse"
},
"examples": {
"appParameters": {
"summary": "レスポンス例",
"value": {
"opening_statement": "Hello! How can I help you today?",
"suggested_questions": [
"What can you do?",
"Tell me about your features."
],
"suggested_questions_after_answer": {
"enabled": true
},
"speech_to_text": {
"enabled": false
},
"text_to_speech": {
"enabled": false,
"voice": "alloy",
"language": "en-US",
"autoPlay": "disabled"
},
"retriever_resource": {
"enabled": true
},
"annotation_reply": {
"enabled": false
},
"more_like_this": {
"enabled": false
},
"sensitive_word_avoidance": {
"enabled": false
},
"user_input_form": [
{
"text-input": {
"label": "City",
"variable": "city",
"required": true,
"default": ""
}
}
],
"file_upload": {
"image": {
"enabled": true,
"number_limits": 3,
"detail": "high",
"transfer_methods": [
"remote_url",
"local_file"
]
}
},
"system_parameters": {
"file_size_limit": 15,
"image_file_size_limit": 10,
"audio_file_size_limit": 50,
"video_file_size_limit": 100,
"workflow_file_upload_limit": 10
}
}
}
}
}
}
},
"400": {
"description": "`app_unavailable` : アプリケーションが利用できないか、設定が正しくありません。",
"content": {
"application/json": {
"examples": {
"app_unavailable": {
"summary": "app_unavailable",
"value": {
"status": 400,
"code": "app_unavailable",
"message": "App unavailable, please check your app configurations."
}
}
}
}
}
}
}
}
},
"/meta": {
"get": {
"operationId": "getWorkflowAppMetaJa",
"tags": [
"アプリケーション設定"
],
"summary": "アプリケーションのメタ情報を取得",
"description": "このアプリケーションのメタデータ(ツールアイコンやその他の設定詳細)を取得します。",
"responses": {
"200": {
"description": "アプリケーションのメタ情報を正常に取得しました。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppMetaResponse"
},
"examples": {
"appMeta": {
"summary": "レスポンス例",
"value": {
"tool_icons": {
"dalle3": "https://example.com/icons/dalle3.png",
"calculator": {
"background": "#4A90D9",
"content": "🧮"
}
}
}
}
}
}
}
}
}
}
},
"/site": {
"get": {
"operationId": "getWorkflowWebAppSettingsJp",
"tags": [
"アプリケーション設定"
],
"summary": "アプリの WebApp 設定を取得",
"description": "このアプリケーションの WebApp 設定(サイト設定、テーマ、カスタマイズオプション)を取得します。",
"responses": {
"200": {
"description": "アプリケーションの WebApp 設定。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebAppSettingsResponse"
},
"examples": {
"webAppSettings": {
"summary": "レスポンス例",
"value": {
"title": "My Chat App",
"chat_color_theme": "#4A90D9",
"chat_color_theme_inverted": false,
"icon_type": "emoji",
"icon": "🤖",
"icon_background": "#FFFFFF",
"icon_url": null,
"description": "便利なカスタマーサービスチャットボット。",
"copyright": "2025 Dify",
"privacy_policy": "https://example.com/privacy",
"custom_disclaimer": "",
"default_language": "en-US",
"show_workflow_steps": false,
"use_icon_as_answer_icon": true
}
}
}
}
}
},
"403": {
"description": "`forbidden` : このアプリケーションのサイトが見つからないか、ワークスペースがアーカイブされています。",
"content": {
"application/json": {
"examples": {
"forbidden": {
"summary": "forbidden",
"value": {
"status": 403,
"code": "forbidden",
"message": "Forbidden."
}
}
}
}
}
}
}
}
}
},
"components": {
"securitySchemes": {
"ApiKeyAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "API_KEY",
"description": "API Key 認証です。すべての API リクエストにおいて、`Authorization` HTTP ヘッダーに `Bearer ` プレフィックスを付けた API Key を含めてください。例:`Authorization: Bearer {API_KEY}`。**API Key はサーバーサイドに保存し、クライアントサイドで共有・保存しないことを強く推奨します。API Key の漏洩は深刻な結果につながる可能性があります。**"
}
},
"responses": {
"SuccessResult": {
"description": "操作が成功しました。",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"result": {
"type": "string",
"enum": [
"success"
],
"description": "操作結果です。"
}
}
},
"examples": {
"success": {
"summary": "レスポンス例",
"value": {
"result": "success"
}
}
}
}
}
}
},
"schemas": {
"WorkflowExecutionRequest": {
"type": "object",
"required": [
"inputs",
"user"
],
"properties": {
"inputs": {
"type": "object",
"description": "ワークフロー入力変数のキーと値のペアです。ファイル型変数の値は、`type`、`transfer_method`、および `url` または `upload_file_id` を持つファイルオブジェクトの配列である必要があります。アプリが期待する変数名と型については、[アプリケーションのパラメータ情報を取得](/api-reference/アプリケーション設定/アプリケーションのパラメータ情報を取得) レスポンスの `user_input_form` フィールドを参照してください。",
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "object"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/InputFileObject"
}
}
]
}
},
"response_mode": {
"type": "string",
"enum": [
"streaming",
"blocking"
],
"description": "レスポンスモードです。同期レスポンスには `blocking`Cloudflare タイムアウトは `100 s`)、サーバー送信イベントには `streaming` を使用します。省略した場合、デフォルトはブロッキング動作になります。"
},
"user": {
"type": "string",
"description": "開発者のルールで定義されるユーザー識別子で、アプリケーション内で一意である必要があります。この識別子はデータアクセスの範囲を限定します——ワークフロー実行とファイルは同じ `user` 値でクエリした場合にのみ表示されます。"
},
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InputFileObject"
},
"nullable": true,
"description": "ファイルリストです。ファイルとテキストを組み合わせて入力する場合に適しており、モデルが Vision 機能をサポートしている場合にのみ使用できます。ローカルファイルを添付するには、まず [ファイルをアップロード](/api-reference/ファイル操作/ファイルをアップロード) でアップロードし、返された `id` を `upload_file_id` として `transfer_method: local_file` で使用します。"
}
}
},
"InputFileObject": {
"type": "object",
"required": [
"type",
"transfer_method"
],
"properties": {
"type": {
"type": "string",
"enum": [
"document",
"image",
"audio",
"video",
"custom"
],
"description": "ファイルタイプ。"
},
"transfer_method": {
"type": "string",
"enum": [
"remote_url",
"local_file"
],
"description": "転送方法です。ファイル URL の場合は `remote_url`、アップロードファイルの場合は `local_file` です。"
},
"url": {
"type": "string",
"format": "url",
"description": "ファイル URL`transfer_method` が `remote_url` の場合)です。"
},
"upload_file_id": {
"type": "string",
"description": "[ファイルをアップロード](/api-reference/ファイル操作/ファイルをアップロード) API から取得したアップロード済みファイル ID です(`transfer_method` が `local_file` の場合に使用)。"
}
}
},
"WorkflowBlockingResponse": {
"type": "object",
"properties": {
"task_id": {
"type": "string",
"format": "uuid",
"description": "進行中の実行のタスク ID です。[ワークフロータスクを停止](/api-reference/ワークフロー/ワークフロータスクを停止) と組み合わせて、実行中のワークフローをキャンセルします。実行中のみ有効です。"
},
"workflow_run_id": {
"type": "string",
"format": "uuid",
"description": "このワークフロー実行記録の永続的な識別子です。[ワークフロー実行詳細を取得](/api-reference/ワークフロー/ワークフロー実行詳細を取得) と組み合わせて、実行後に結果を取得します。"
},
"data": {
"$ref": "#/components/schemas/WorkflowFinishedData"
}
}
},
"ChunkWorkflowEvent": {
"type": "object",
"required": [
"event"
],
"properties": {
"event": {
"type": "string",
"enum": [
"workflow_started",
"node_started",
"node_finished",
"node_retry",
"iteration_started",
"iteration_next",
"iteration_completed",
"loop_started",
"loop_next",
"loop_completed",
"text_chunk",
"text_replace",
"workflow_finished",
"tts_message",
"tts_message_end",
"workflow_paused",
"agent_log",
"human_input_required",
"human_input_form_filled",
"human_input_form_timeout",
"error",
"ping"
],
"description": "ストリーミングイベントの種類。"
}
},
"discriminator": {
"propertyName": "event",
"mapping": {
"workflow_started": "#/components/schemas/StreamEventWorkflowStarted",
"node_started": "#/components/schemas/StreamEventNodeStarted",
"node_finished": "#/components/schemas/StreamEventNodeFinished",
"node_retry": "#/components/schemas/StreamEventNodeRetry",
"iteration_started": "#/components/schemas/StreamEventIterationStarted",
"iteration_next": "#/components/schemas/StreamEventIterationNext",
"iteration_completed": "#/components/schemas/StreamEventIterationCompleted",
"loop_started": "#/components/schemas/StreamEventLoopStarted",
"loop_next": "#/components/schemas/StreamEventLoopNext",
"loop_completed": "#/components/schemas/StreamEventLoopCompleted",
"text_chunk": "#/components/schemas/StreamEventTextChunk",
"text_replace": "#/components/schemas/StreamEventTextReplace",
"workflow_finished": "#/components/schemas/StreamEventWorkflowFinished",
"tts_message": "#/components/schemas/StreamEventTtsMessage",
"tts_message_end": "#/components/schemas/StreamEventTtsMessageEnd",
"error": "#/components/schemas/StreamEventError",
"ping": "#/components/schemas/StreamEventPing",
"workflow_paused": "#/components/schemas/StreamEventWorkflowPaused",
"agent_log": "#/components/schemas/StreamEventAgentLog",
"human_input_required": "#/components/schemas/StreamEventHumanInputRequired",
"human_input_form_filled": "#/components/schemas/StreamEventHumanInputFormFilled",
"human_input_form_timeout": "#/components/schemas/StreamEventHumanInputFormTimeout"
}
}
},
"StreamEventBase": {
"type": "object",
"properties": {
"task_id": {
"type": "string",
"format": "uuid",
"description": "進行中の実行のタスク ID です。[ワークフロータスクを停止](/api-reference/ワークフロー/ワークフロータスクを停止) と組み合わせて、実行中のワークフローをキャンセルします。実行中のみ有効です。"
},
"workflow_run_id": {
"type": "string",
"format": "uuid",
"description": "このワークフロー実行記録の永続的な識別子です。[ワークフロー実行詳細を取得](/api-reference/ワークフロー/ワークフロー実行詳細を取得) と組み合わせて、実行後に結果を取得します。"
}
}
},
"StreamEventWorkflowStarted": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ワークフロー実行 ID です。"
},
"workflow_id": {
"type": "string",
"format": "uuid",
"description": "Workflow ID."
},
"inputs": {
"type": "object",
"additionalProperties": true,
"description": "このワークフロー実行の入力変数です。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "ワークフロー実行が開始した Unix タイムスタンプです。"
},
"reason": {
"type": "string",
"description": "ワークフロー開始の理由です。`initial` は新規実行、`resumption` は一時停止状態からの再開を示します。"
}
}
}
}
}
]
},
"StreamEventNodeStarted": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ノード実行 ID です。"
},
"node_id": {
"type": "string",
"description": "ワークフローグラフ内のノード ID です。"
},
"node_type": {
"type": "string",
"description": "ノードタイプ(例:`llm`、`code`、`template-transform`)です。"
},
"title": {
"type": "string",
"description": "ノードの表示名です。"
},
"index": {
"type": "integer",
"description": "実行シーケンスインデックスです。"
},
"predecessor_node_id": {
"type": "string",
"nullable": true,
"description": "先行ノードの ID存在する場合です。"
},
"inputs": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "このノードの入力変数です。"
},
"inputs_truncated": {
"type": "boolean",
"description": "`inputs` データが切り捨てられたかどうかです。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "ノード実行が開始した Unix タイムスタンプです。"
},
"extras": {
"type": "object",
"additionalProperties": true,
"description": "ノード実行の追加メタデータです。"
},
"iteration_id": {
"type": "string",
"nullable": true,
"description": "このノードがイテレーション内で実行される場合の親イテレーション ID です。"
},
"loop_id": {
"type": "string",
"nullable": true,
"description": "このノードがループ内で実行される場合の親ループ ID です。"
}
}
}
}
}
]
},
"StreamEventNodeFinished": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ノード実行 ID です。"
},
"node_id": {
"type": "string",
"description": "ワークフローグラフ内のノード ID です。"
},
"node_type": {
"type": "string",
"description": "Node type."
},
"title": {
"type": "string",
"description": "ノードの表示名です。"
},
"index": {
"type": "integer",
"description": "実行シーケンスインデックスです。"
},
"predecessor_node_id": {
"type": "string",
"nullable": true,
"description": "先行ノードの ID存在する場合です。"
},
"inputs": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "このノードの入力変数です。"
},
"inputs_truncated": {
"type": "boolean",
"description": "`inputs` データが切り捨てられたかどうかです。"
},
"process_data": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "ノード実行中に生成された処理データです。"
},
"process_data_truncated": {
"type": "boolean",
"description": "`process_data` が切り詰められたかどうかです。"
},
"outputs": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "ノードからの出力データです。"
},
"outputs_truncated": {
"type": "boolean",
"description": "`outputs` データが切り詰められたかどうかです。"
},
"status": {
"type": "string",
"description": "ノードの実行ステータスです。`running` は進行中、`succeeded` は完了、`failed` はエラー、`stopped` は手動停止、`exception` は予期しない障害を示します。"
},
"error": {
"type": "string",
"nullable": true,
"description": "ノードが失敗した場合のエラーメッセージです。"
},
"elapsed_time": {
"type": "number",
"format": "float",
"description": "経過時間(秒)です。"
},
"execution_metadata": {
"type": "object",
"nullable": true,
"description": "トークン使用量を含む実行メタデータです。",
"properties": {
"total_tokens": {
"type": "integer",
"nullable": true,
"description": "このノードで消費された合計トークン数です。"
},
"total_price": {
"type": "number",
"format": "float",
"nullable": true,
"description": "このノード実行の合計コストです。"
},
"currency": {
"type": "string",
"nullable": true,
"description": "コストの通貨(例: `USD`)です。"
}
}
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "ノード実行が開始した Unix タイムスタンプです。"
},
"finished_at": {
"type": "integer",
"format": "int64",
"description": "ノード実行が完了した Unix タイムスタンプです。"
},
"files": {
"type": "array",
"nullable": true,
"items": {
"type": "object",
"additionalProperties": true
},
"description": "このノードで生成されたファイルです。"
},
"iteration_id": {
"type": "string",
"nullable": true,
"description": "このノードがイテレーション内で実行される場合の親イテレーション ID です。"
},
"loop_id": {
"type": "string",
"nullable": true,
"description": "このノードがループ内で実行される場合の親ループ ID です。"
}
}
}
}
}
]
},
"StreamEventNodeRetry": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ノード実行 ID です。"
},
"node_id": {
"type": "string",
"description": "ワークフローグラフ内のノード ID です。"
},
"node_type": {
"type": "string",
"description": "Node type."
},
"title": {
"type": "string",
"description": "ノードの表示名です。"
},
"index": {
"type": "integer",
"description": "実行シーケンスインデックスです。"
},
"predecessor_node_id": {
"type": "string",
"nullable": true,
"description": "先行ノードの ID存在する場合です。"
},
"inputs": {
"type": "object",
"additionalProperties": true,
"nullable": true
},
"inputs_truncated": {
"type": "boolean",
"description": "`inputs` データが切り捨てられたかどうかです。"
},
"process_data": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "ノード実行中に生成された処理データです。"
},
"process_data_truncated": {
"type": "boolean",
"description": "`process_data` が切り詰められたかどうかです。"
},
"outputs": {
"type": "object",
"additionalProperties": true,
"nullable": true
},
"outputs_truncated": {
"type": "boolean",
"description": "`outputs` データが切り詰められたかどうかです。"
},
"status": {
"type": "string",
"description": "リトライ時点のノード実行ステータスです。"
},
"error": {
"type": "string",
"nullable": true,
"description": "リトライをトリガーしたエラーメッセージです。"
},
"elapsed_time": {
"type": "number",
"format": "float",
"description": "経過時間(秒)です。"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"finished_at": {
"type": "integer",
"format": "int64"
},
"retry_index": {
"type": "integer",
"description": "ゼロ始まりのリトライ回数インデックスです。"
},
"iteration_id": {
"type": "string",
"nullable": true
},
"loop_id": {
"type": "string",
"nullable": true
},
"execution_metadata": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "ノード実行のメタデータです。"
},
"files": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "実行中にノードが生成したファイルです。"
}
}
}
}
}
]
},
"StreamEventIterationStarted": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ノード実行 ID です。"
},
"node_id": {
"type": "string",
"description": "イテレーションノード ID です。"
},
"node_type": {
"type": "string",
"description": "ノードの種類(常に `iteration`)です。"
},
"title": {
"type": "string",
"description": "イテレーションノードの表示名です。"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"inputs": {
"type": "object",
"additionalProperties": true,
"description": "イテレーションの入力変数です。"
},
"inputs_truncated": {
"type": "boolean",
"description": "`inputs` データが切り捨てられたかどうかです。"
},
"metadata": {
"type": "object",
"additionalProperties": true,
"description": "イテレーションのメタデータです。"
},
"extras": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
]
},
"StreamEventIterationNext": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"node_id": {
"type": "string"
},
"node_type": {
"type": "string"
},
"title": {
"type": "string"
},
"index": {
"type": "integer",
"description": "現在のイテレーションインデックス(ゼロ始まり)です。"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"extras": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
]
},
"StreamEventIterationCompleted": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"node_id": {
"type": "string"
},
"node_type": {
"type": "string"
},
"title": {
"type": "string"
},
"outputs": {
"type": "object",
"additionalProperties": true,
"nullable": true
},
"outputs_truncated": {
"type": "boolean",
"description": "`outputs` データが切り詰められたかどうかです。"
},
"inputs": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "イテレーションの入力変数です。"
},
"inputs_truncated": {
"type": "boolean",
"description": "`inputs` データが切り捨てられたかどうかです。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "イテレーションが開始した Unix タイムスタンプです。"
},
"extras": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "イテレーションの追加メタデータです。"
},
"status": {
"type": "string",
"description": "イテレーションの完了ステータスです。"
},
"error": {
"type": "string",
"nullable": true
},
"elapsed_time": {
"type": "number",
"format": "float"
},
"total_tokens": {
"type": "integer"
},
"execution_metadata": {
"type": "object",
"additionalProperties": true,
"description": "トークン使用量を含む実行メタデータです。"
},
"finished_at": {
"type": "integer",
"format": "int64"
},
"steps": {
"type": "integer",
"description": "完了したイテレーションステップ数です。"
}
}
}
}
}
]
},
"StreamEventLoopStarted": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"node_id": {
"type": "string"
},
"node_type": {
"type": "string"
},
"title": {
"type": "string"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"inputs": {
"type": "object",
"additionalProperties": true
},
"inputs_truncated": {
"type": "boolean",
"description": "`inputs` データが切り捨てられたかどうかです。"
},
"metadata": {
"type": "object",
"additionalProperties": true
},
"extras": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
]
},
"StreamEventLoopNext": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"node_id": {
"type": "string"
},
"node_type": {
"type": "string"
},
"title": {
"type": "string"
},
"index": {
"type": "integer",
"description": "現在のループイテレーションインデックス(ゼロベース)です。"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"pre_loop_output": {
"description": "前回のループイテレーションからの出力です。",
"nullable": true
},
"extras": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
]
},
"StreamEventLoopCompleted": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"node_id": {
"type": "string"
},
"node_type": {
"type": "string"
},
"title": {
"type": "string"
},
"outputs": {
"type": "object",
"additionalProperties": true,
"nullable": true
},
"outputs_truncated": {
"type": "boolean",
"description": "`outputs` データが切り詰められたかどうかです。"
},
"inputs": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "ループの入力変数です。"
},
"inputs_truncated": {
"type": "boolean",
"description": "`inputs` データが切り捨てられたかどうかです。"
},
"created_at": {
"type": "integer",
"format": "int64"
},
"extras": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "ループの追加メタデータです。"
},
"status": {
"type": "string",
"description": "ループの完了ステータスです。"
},
"error": {
"type": "string",
"nullable": true
},
"elapsed_time": {
"type": "number",
"format": "float"
},
"total_tokens": {
"type": "integer"
},
"execution_metadata": {
"type": "object",
"additionalProperties": true,
"description": "トークン使用量を含む実行メタデータです。"
},
"finished_at": {
"type": "integer",
"format": "int64"
},
"steps": {
"type": "integer",
"description": "完了したループイテレーション数です。"
}
}
}
}
}
]
},
"StreamEventTextChunk": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "テキスト内容のチャンクです。"
},
"from_variable_selector": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true,
"description": "ワークフロー内のテキスト変数のソースパスです。"
}
}
}
}
}
]
},
"StreamEventTextReplace": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "置換テキスト内容です。"
}
}
}
}
}
]
},
"StreamEventWorkflowFinished": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/WorkflowFinishedData"
}
}
}
]
},
"StreamEventTtsMessage": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"audio": {
"type": "string",
"format": "byte",
"description": "Base64 エンコードされた MP3 音声チャンク。すべてのチャンクを順番にデコードして連結すると、完全な音声ファイルが生成されます。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "このオーディオチャンクが生成された Unix タイムスタンプです。"
}
}
}
]
},
"StreamEventTtsMessageEnd": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"audio": {
"type": "string",
"description": "空の文字列。音声ストリームの終了を示します。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "音声ストリームが終了した Unix タイムスタンプです。"
}
}
}
]
},
"StreamEventError": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "エラーの HTTP ステータスコードです。"
},
"code": {
"type": "string",
"description": "エラーコード。"
},
"message": {
"type": "string",
"description": "エラーメッセージ。"
}
}
}
]
},
"StreamEventPing": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"type": "object",
"description": "キープアライブ ping イベントです。追加プロパティはありません。"
}
]
},
"WorkflowFinishedData": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ワークフロー実行 ID です。"
},
"workflow_id": {
"type": "string",
"format": "uuid",
"description": "Workflow ID."
},
"status": {
"type": "string",
"description": "ワークフローの実行ステータスです。`running` は実行中、`succeeded` は正常完了、`failed` は実行エラー、`stopped` は手動停止、`partial-succeeded` は一部のノードが成功し他が失敗、`paused` は人的介入待ちを示します。"
},
"outputs": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "ワークフローからの出力データです。"
},
"error": {
"type": "string",
"nullable": true,
"description": "ワークフローが失敗した場合のエラーメッセージです。"
},
"elapsed_time": {
"type": "number",
"format": "float",
"description": "合計経過時間(秒)です。"
},
"total_tokens": {
"type": "integer",
"description": "全ノードで消費された合計トークン数です。"
},
"total_steps": {
"type": "integer",
"description": "実行されたワークフローの合計ステップ数です。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "ワークフロー実行が作成された Unix タイムスタンプです。"
},
"finished_at": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "ワークフロー実行が完了した Unix タイムスタンプです。"
},
"created_by": {
"type": "object",
"additionalProperties": true,
"description": "作成者情報です。ストリーミングの `workflow_finished` イベントにのみ存在します。"
},
"exceptions_count": {
"type": "integer",
"nullable": true,
"description": "実行中に発生した例外の数です。ストリーミングの `workflow_finished` イベントにのみ含まれます。"
},
"files": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"nullable": true,
"description": "ワークフロー実行中に生成されたファイルです。ストリーミングの `workflow_finished` イベントにのみ存在します。"
}
}
},
"WorkflowRunDetailResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ワークフロー実行 ID です。"
},
"workflow_id": {
"type": "string",
"format": "uuid",
"description": "Workflow ID."
},
"status": {
"type": "string",
"description": "ワークフローの実行ステータスです。`running` は実行中、`succeeded` は正常完了、`failed` は実行エラー、`stopped` は手動停止、`partial-succeeded` は一部のノードが成功し他が失敗、`paused` は人的介入待ちを示します。"
},
"inputs": {
"type": "object",
"additionalProperties": true,
"description": "ワークフロー実行の入力変数です。"
},
"outputs": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "ワークフローからの出力データです。"
},
"error": {
"type": "string",
"nullable": true,
"description": "ワークフローが失敗した場合のエラーメッセージです。"
},
"total_steps": {
"type": "integer",
"description": "実行されたワークフローの合計ステップ数です。"
},
"total_tokens": {
"type": "integer",
"description": "消費された合計トークン数です。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "ワークフロー実行が作成された Unix タイムスタンプです。"
},
"finished_at": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "ワークフロー実行が完了した Unix タイムスタンプです。"
},
"elapsed_time": {
"type": "number",
"format": "float",
"nullable": true,
"description": "合計経過時間(秒)です。"
}
}
},
"FileUploadResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "一意のファイル ID。"
},
"name": {
"type": "string",
"description": "ファイル名。"
},
"size": {
"type": "integer",
"description": "ファイルサイズ(バイト)。"
},
"extension": {
"type": "string",
"nullable": true,
"description": "ファイル拡張子。"
},
"mime_type": {
"type": "string",
"nullable": true,
"description": "ファイルの MIME タイプ。"
},
"created_by": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "ファイルをアップロードしたユーザーの ID。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "アップロードタイムスタンプUnix エポック秒)。"
},
"preview_url": {
"type": "string",
"nullable": true,
"description": "ファイルのプレビュー URL。"
},
"source_url": {
"type": "string",
"nullable": true,
"description": "ファイルのソース URL。"
},
"original_url": {
"type": "string",
"nullable": true,
"description": "ファイルの元の URL。"
},
"user_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "関連付けられたユーザーの ID。"
},
"tenant_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "関連付けられたテナントの ID。"
},
"conversation_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "関連付けられた会話の ID。"
},
"file_key": {
"type": "string",
"nullable": true,
"description": "ファイルのストレージキー。"
}
}
},
"EndUserDetail": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "エンドユーザー ID。"
},
"tenant_id": {
"type": "string",
"format": "uuid",
"description": "テナント ID。"
},
"app_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "アプリケーション ID。"
},
"type": {
"type": "string",
"description": "エンドユーザーのタイプ。Service API ユーザーの場合は常に `service_api` です。"
},
"external_user_id": {
"type": "string",
"nullable": true,
"description": "API リクエストで提供された `user` 識別子です(例:[チャットメッセージを送信](/api-reference/チャットメッセージ/チャットメッセージを送信) の `user` フィールド)。"
},
"name": {
"type": "string",
"nullable": true,
"description": "エンドユーザー名。"
},
"is_anonymous": {
"type": "boolean",
"description": "ユーザーが匿名かどうかを示します。元の API リクエストで `user` 識別子が提供されなかった場合、`true` になります。"
},
"session_id": {
"type": "string",
"description": "セッション識別子。デフォルトは `external_user_id` の値です。"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "作成タイムスタンプ。"
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "最終更新タイムスタンプ。"
}
}
},
"WorkflowLogsResponse": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"description": "現在のページ番号です。"
},
"limit": {
"type": "integer",
"description": "1 ページあたりの件数です。"
},
"total": {
"type": "integer",
"description": "ログエントリの合計数です。"
},
"has_more": {
"type": "boolean",
"description": "さらにページがあるかどうかです。"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkflowLogItem"
},
"description": "ワークフローログエントリのリストです。"
}
}
},
"WorkflowLogItem": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ログエントリ ID です。"
},
"workflow_run": {
"$ref": "#/components/schemas/WorkflowRunSummary"
},
"created_from": {
"type": "string",
"description": "ワークフロー実行のソース(例:`service-api`)です。"
},
"created_by_role": {
"type": "string",
"description": "作成者のロール(例:`end_user`、`account`)です。"
},
"created_by_account": {
"type": "object",
"nullable": true,
"description": "管理者ユーザーが作成した場合のアカウント詳細です。",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "アカウント ID。"
},
"name": {
"type": "string",
"description": "アカウント表示名。"
},
"email": {
"type": "string",
"description": "アカウントメールアドレス。"
}
}
},
"created_by_end_user": {
"$ref": "#/components/schemas/EndUserSummary"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "ログエントリが作成された Unix タイムスタンプです。"
},
"details": {
"type": "object",
"additionalProperties": true,
"nullable": true,
"description": "ログエントリの追加詳細です。"
}
}
},
"WorkflowRunSummary": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ワークフロー実行 ID です。"
},
"version": {
"type": "string",
"description": "ワークフローバージョン識別子です。"
},
"status": {
"type": "string",
"description": "ワークフローの実行ステータスです。`running` は実行中、`succeeded` は正常完了、`failed` は実行エラー、`stopped` は手動停止、`partial-succeeded` は一部のノードが成功し他が失敗、`paused` は人的介入待ちを示します。"
},
"error": {
"type": "string",
"nullable": true,
"description": "ワークフローが失敗した場合のエラーメッセージです。"
},
"elapsed_time": {
"type": "number",
"format": "float",
"description": "合計経過時間(秒)です。"
},
"total_tokens": {
"type": "integer",
"description": "消費された合計トークン数です。"
},
"total_steps": {
"type": "integer",
"description": "実行されたワークフローの合計ステップ数です。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "ワークフロー実行が作成された Unix タイムスタンプです。"
},
"finished_at": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "ワークフロー実行が完了した Unix タイムスタンプです。"
},
"exceptions_count": {
"type": "integer",
"description": "実行中に発生した例外の数です。"
},
"triggered_from": {
"type": "string",
"description": "ワークフロー実行をトリガーしたソースです。`debugging` はエディタからのテスト実行、`app` は API またはアプリからの実行を示します。"
}
}
},
"EndUserSummary": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "エンドユーザー ID。"
},
"type": {
"type": "string",
"description": "エンドユーザーの種類です。"
},
"is_anonymous": {
"type": "boolean",
"description": "エンドユーザーが匿名かどうかです。"
},
"session_id": {
"type": "string",
"description": "セッション識別子です。"
}
}
},
"AudioToTextRequest": {
"type": "object",
"description": "音声からテキストへの変換のリクエストボディ。",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "音声ファイルです。対応形式:`mp3`、`mp4`、`mpeg`、`mpga`、`m4a`、`wav`、`webm`。上限:`30 MB`。"
},
"user": {
"type": "string",
"description": "ユーザー識別子。"
}
}
},
"AudioToTextResponse": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "音声認識からの出力テキスト。"
}
}
},
"TextToAudioRequest": {
"type": "object",
"description": "テキストから音声への変換のリクエストボディ。`message_id` または `text` のいずれかを指定してください。",
"properties": {
"message_id": {
"type": "string",
"format": "uuid",
"description": "メッセージ ID です。両方が指定された場合、`text` よりも優先されます。"
},
"text": {
"type": "string",
"description": "変換する音声コンテンツ。"
},
"user": {
"type": "string",
"description": "ユーザー識別子。"
},
"voice": {
"type": "string",
"description": "テキスト読み上げに使用する音声。利用可能な音声は、このアプリに設定された TTS プロバイダーによって異なります。デフォルトには[アプリケーションのパラメータ情報を取得](/api-reference/アプリケーション設定/アプリケーションのパラメータ情報を取得) → `text_to_speech.voice` の `voice` 値を使用してください。"
},
"streaming": {
"type": "boolean",
"description": "ストリーミングレスポンスを有効にするかどうか。"
}
}
},
"AppInfoResponse": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "アプリケーション名。"
},
"description": {
"type": "string",
"description": "アプリケーションの説明。"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "アプリケーションタグ。"
},
"mode": {
"type": "string",
"description": "アプリケーションモード。`completion` はテキスト生成アプリ、`chat` は基本チャットアプリ、`agent-chat` はエージェントベースのアプリ、`advanced-chat` は Chatflow アプリ、`workflow` はワークフローアプリです。"
},
"author_name": {
"type": "string",
"description": "アプリケーション作成者の名前。"
}
}
},
"WorkflowAppParametersResponse": {
"type": "object",
"properties": {
"opening_statement": {
"type": "string",
"nullable": true,
"description": "オープニングステートメントのテキストです。"
},
"suggested_questions": {
"type": "array",
"items": {
"type": "string"
},
"description": "提案された質問のリストです。"
},
"suggested_questions_after_answer": {
"type": "object",
"description": "回答後の提案質問の設定です。",
"properties": {
"enabled": {
"type": "boolean",
"description": "この機能が有効かどうか。"
}
}
},
"speech_to_text": {
"type": "object",
"description": "音声テキスト変換機能の設定です。",
"properties": {
"enabled": {
"type": "boolean",
"description": "この機能が有効かどうか。"
}
}
},
"text_to_speech": {
"type": "object",
"description": "テキスト音声変換機能の設定です。",
"properties": {
"enabled": {
"type": "boolean",
"description": "この機能が有効かどうか。"
},
"voice": {
"type": "string",
"description": "TTS 音声識別子。"
},
"language": {
"type": "string",
"description": "TTS 言語。"
}
}
},
"retriever_resource": {
"type": "object",
"description": "ナレッジ検索の引用リソース設定です。",
"properties": {
"enabled": {
"type": "boolean",
"description": "この機能が有効かどうか。"
}
}
},
"annotation_reply": {
"type": "object",
"description": "アノテーション返信機能の設定です。",
"properties": {
"enabled": {
"type": "boolean",
"description": "この機能が有効かどうか。"
}
}
},
"more_like_this": {
"type": "object",
"description": "類似コンテンツ機能の設定です。",
"properties": {
"enabled": {
"type": "boolean",
"description": "この機能が有効かどうか。"
}
}
},
"sensitive_word_avoidance": {
"type": "object",
"description": "コンテンツモデレーション機能の設定です。",
"properties": {
"enabled": {
"type": "boolean",
"description": "この機能が有効かどうか。"
}
}
},
"user_input_form": {
"type": "array",
"items": {
"type": "object",
"oneOf": [
{
"title": "Text Input",
"type": "object",
"properties": {
"text-input": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "入力フィールドの表示ラベルです。"
},
"variable": {
"type": "string",
"description": "ワークフローで使用される変数名です。"
},
"required": {
"type": "boolean",
"description": "このフィールドが必須かどうかです。"
},
"default": {
"type": "string",
"description": "入力フィールドのデフォルト値です。"
}
}
}
}
},
{
"title": "Paragraph",
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "段落フィールドの表示ラベルです。"
},
"variable": {
"type": "string",
"description": "ワークフローで使用される変数名です。"
},
"required": {
"type": "boolean",
"description": "このフィールドが必須かどうかです。"
},
"default": {
"type": "string",
"description": "段落フィールドのデフォルト値です。"
}
}
}
}
},
{
"title": "Select",
"type": "object",
"properties": {
"select": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "セレクトフィールドの表示ラベルです。"
},
"variable": {
"type": "string",
"description": "ワークフローで使用される変数名です。"
},
"required": {
"type": "boolean",
"description": "このフィールドが必須かどうかです。"
},
"default": {
"type": "string",
"description": "デフォルトで選択される値。"
},
"options": {
"type": "array",
"items": {
"type": "string"
},
"description": "このフォームコントロールの選択可能な値のリスト。"
}
}
}
}
}
]
},
"description": "ユーザー入力フォームの設定です。"
},
"file_upload": {
"type": "object",
"description": "ファイルアップロードの設定。",
"properties": {
"image": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "画像アップロードが有効かどうか。"
},
"number_limits": {
"type": "integer",
"description": "アップロード可能な画像の最大数です。"
},
"detail": {
"type": "string",
"description": "ビジョンモデルの画像詳細レベルです。"
},
"transfer_methods": {
"type": "array",
"items": {
"type": "string"
},
"description": "画像アップロードで許可される転送方法です。`remote_url` はファイル URL 経由、`local_file` はアップロード済みファイルを示します。"
}
}
}
}
},
"system_parameters": {
"type": "object",
"description": "システムレベルのパラメータ制限です。",
"properties": {
"file_size_limit": {
"type": "integer",
"description": "一般ファイルの最大サイズMBです。"
},
"image_file_size_limit": {
"type": "integer",
"description": "最大画像ファイルサイズMB。"
},
"audio_file_size_limit": {
"type": "integer",
"description": "最大音声ファイルサイズMB。"
},
"video_file_size_limit": {
"type": "integer",
"description": "最大動画ファイルサイズMB。"
},
"workflow_file_upload_limit": {
"type": "integer",
"description": "ワークフロー実行ごとの最大ファイル数です。"
}
}
}
}
},
"ToolIconDetail": {
"type": "object",
"properties": {
"background": {
"type": "string",
"description": "ツールアイコンの背景色です。"
},
"content": {
"type": "string",
"description": "絵文字またはアイコンの内容です。"
}
}
},
"AppMetaResponse": {
"type": "object",
"properties": {
"tool_icons": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"title": "Icon URL",
"type": "string",
"format": "url",
"description": "アイコンの URL。"
},
{
"$ref": "#/components/schemas/ToolIconDetail"
}
]
},
"description": "ツールアイコン。キーはツール名です。"
}
}
},
"WebAppSettingsResponse": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "WebApp タイトル。"
},
"chat_color_theme": {
"type": "string",
"description": "チャットカラーテーマ。"
},
"chat_color_theme_inverted": {
"type": "boolean",
"description": "チャットカラーテーマが反転しているかどうか。"
},
"icon_type": {
"type": "string",
"description": "使用されるアイコンのタイプ。`emoji` は絵文字アイコン、`image` はアップロードされた画像アイコンです。"
},
"icon": {
"type": "string",
"description": "アイコンのコンテンツ(絵文字または画像 ID。"
},
"icon_background": {
"type": "string",
"description": "アイコンの背景色。"
},
"icon_url": {
"type": "string",
"format": "url",
"nullable": true,
"description": "アイコン画像の URL。"
},
"description": {
"type": "string",
"description": "WebApp の説明。"
},
"copyright": {
"type": "string",
"description": "著作権テキスト。"
},
"privacy_policy": {
"type": "string",
"description": "プライバシーポリシー URL。"
},
"custom_disclaimer": {
"type": "string",
"description": "カスタム免責事項テキスト。"
},
"default_language": {
"type": "string",
"description": "デフォルト言語コード。"
},
"show_workflow_steps": {
"type": "boolean",
"description": "ワークフローステップを表示するかどうか。"
},
"use_icon_as_answer_icon": {
"type": "boolean",
"description": "アプリアイコンを回答アイコンとして使用するかどうか。"
}
}
},
"StreamEventWorkflowPaused": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"workflow_run_id": {
"type": "string",
"format": "uuid",
"description": "このワークフロー実行記録の永続的な識別子です。[ワークフロー実行詳細を取得](/api-reference/ワークフロー/ワークフロー実行詳細を取得) と組み合わせて、実行後に結果を取得します。"
},
"paused_nodes": {
"type": "array",
"items": {
"type": "string"
},
"description": "一時停止中のノード ID のリストです。"
},
"outputs": {
"type": "object",
"additionalProperties": true,
"description": "一時停止時の部分的な出力です。"
},
"reasons": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "一時停止の理由です。"
},
"status": {
"type": "string",
"description": "ワークフローの実行ステータスです。"
},
"created_at": {
"type": "integer",
"format": "int64",
"description": "作成タイムスタンプ。"
},
"elapsed_time": {
"type": "number",
"format": "float",
"description": "合計経過時間(秒)です。"
},
"total_tokens": {
"type": "integer",
"description": "消費された合計トークン数です。"
},
"total_steps": {
"type": "integer",
"description": "実行された合計ステップ数です。"
}
}
}
}
}
]
},
"StreamEventAgentLog": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"node_execution_id": {
"type": "string",
"description": "ノード実行 ID です。"
},
"id": {
"type": "string",
"description": "エージェントログエントリ ID です。"
},
"label": {
"type": "string",
"description": "Log label."
},
"parent_id": {
"type": "string",
"nullable": true,
"description": "親ログエントリ ID です。"
},
"error": {
"type": "string",
"nullable": true,
"description": "エージェントステップが失敗した場合のエラーメッセージです。"
},
"status": {
"type": "string",
"description": "エージェントステップのステータスです。"
},
"data": {
"type": "object",
"additionalProperties": true,
"description": "エージェントステップのデータです。"
},
"metadata": {
"type": "object",
"additionalProperties": true,
"description": "エージェントステップのメタデータです。"
},
"node_id": {
"type": "string",
"description": "Node ID."
}
}
}
}
}
]
},
"StreamEventHumanInputRequired": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"form_id": {
"type": "string",
"description": "Form ID."
},
"node_id": {
"type": "string",
"description": "入力を要求しているノード ID です。"
},
"node_title": {
"type": "string",
"description": "Node title."
},
"form_content": {
"type": "string",
"description": "フォーム内容の説明です。"
},
"inputs": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "フォーム入力フィールドの定義です。"
},
"actions": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "利用可能なユーザーアクションです。"
},
"display_in_ui": {
"type": "boolean",
"description": "UI にフォームを表示するかどうかです。"
},
"form_token": {
"type": "string",
"nullable": true,
"description": "フォーム送信用のトークンです。"
},
"resolved_default_values": {
"type": "object",
"additionalProperties": true,
"description": "フォームフィールドの事前解決されたデフォルト値です。"
},
"expiration_time": {
"type": "integer",
"format": "int64",
"description": "フォームが期限切れになる Unix タイムスタンプ(秒)です。"
}
}
}
}
}
]
},
"StreamEventHumanInputFormFilled": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"node_id": {
"type": "string",
"description": "Node ID."
},
"node_title": {
"type": "string",
"description": "Node title."
},
"rendered_content": {
"type": "string",
"description": "フォーム送信後のレンダリングされた内容です。"
},
"action_id": {
"type": "string",
"description": "実行されたアクションの ID です。"
},
"action_text": {
"type": "string",
"description": "実行されたアクションのテキストです。"
}
}
}
}
}
]
},
"StreamEventHumanInputFormTimeout": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkWorkflowEvent"
},
{
"$ref": "#/components/schemas/StreamEventBase"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"node_id": {
"type": "string",
"description": "Node ID."
},
"node_title": {
"type": "string",
"description": "Node title."
},
"expiration_time": {
"type": "integer",
"format": "int64",
"description": "フォームが期限切れになった Unix タイムスタンプです。"
}
}
}
}
}
]
}
}
},
"tags": [
{
"name": "ワークフロー",
"description": "ワークフローの実行と管理のための操作です。"
},
{
"name": "ファイル操作",
"description": "ファイルのアップロードとダウンロードの操作です。"
},
{
"name": "エンドユーザー",
"description": "エンドユーザー情報に関連する操作です。"
},
{
"name": "音声・テキスト変換",
"description": "音声からテキストおよびテキストから音声への変換です。"
},
{
"name": "アプリケーション設定",
"description": "アプリケーションの設定、パラメータ、メタデータです。"
}
]
}