mirror of
https://github.com/langgenius/dify-docs.git
synced 2026-03-27 13:28:32 +07:00
* fix redirect language code prefixes * rename: cn -> zh, jp -> ja * remove hardcoded ja / zh references * remove hardcoded 'english' references * renamed variable names and dict keys to language agnostic names * fix: add missing language helper methods to PRAnalyzer - Add get_language_directory() method - Initialize source_language and target_languages from config - Fixes AttributeError when generating mixed PR errors 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * test: kitchen sink workflow validation v2 This PR validates the translation workflow after config-driven refactoring: Changes: - Add new test file: test-workflow-validation.mdx - Modify existing file: introduction.mdx - Update docs.json navigation Tests: - New file translation (add workflow) - Existing file translation (update workflow) - Navigation sync across languages - Config-driven language codes (zh/ja instead of cn/jp) - Source language abstraction (no hardcoded "English") Expected workflow behavior: 1. Detect changes in en/ directory 2. Translate new file to zh and ja 3. Update modified file translations 4. Sync docs.json for all language sections 5. Commit translated files automatically 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: update workflow paths to use zh/ja instead of cn/jp Aligns workflow trigger paths with the zh/ja language directory rename. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Revert "fix: update workflow paths to use zh/ja instead of cn/jp" This reverts commit9587b7cc5d. * Revert "test: kitchen sink workflow validation v2" This reverts commit4abdd69fd2. * fix: update workflow paths in doc analyze workflow to use zh/ja instead of cn/jp * Refactor/language codes (#240) * test: kitchen sink workflow validation v2 This PR validates the translation workflow after config-driven refactoring: Changes: - Add new test file: test-workflow-validation.mdx - Modify existing file: introduction.mdx - Update docs.json navigation Tests: - New file translation (add workflow) - Existing file translation (update workflow) - Navigation sync across languages - Config-driven language codes (zh/ja instead of cn/jp) - Source language abstraction (no hardcoded "English") Expected workflow behavior: 1. Detect changes in en/ directory 2. Translate new file to zh and ja 3. Update modified file translations 4. Sync docs.json for all language sections 5. Commit translated files automatically 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: update workflow paths to use zh/ja instead of cn/jp Aligns workflow trigger paths with the zh/ja language directory rename. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Revert "fix: update workflow paths to use zh/ja instead of cn/jp" This reverts commit9587b7cc5d. * Revert "test: kitchen sink workflow validation v2" This reverts commit4abdd69fd2. * fix: update workflow paths in doc analyze workflow to use zh/ja instead of cn/jp --------- Co-authored-by: Claude <noreply@anthropic.com> * fix: update workflow files to use 'source' instead of 'english' After refactoring the PR analyzer to use 'source' for source language PRs (instead of hardcoded 'english'), the workflow files need to match. Changes: - sync_docs_analyze.yml: pr_type == 'source' (was 'english') - sync_docs_update.yml: PR_TYPE != 'source' check - Updated all comments from "English" to "source language" - Updated all pr_type values in JSON from "english" to "source" This ensures the workflows trigger correctly with the refactored config-driven language system. Related: language code refactoring (cn/jp → zh/ja) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix/workflow source language references (#245) * test: kitchen sink workflow validation v2 This PR validates the translation workflow after config-driven refactoring: Changes: - Add new test file: test-workflow-validation.mdx - Modify existing file: introduction.mdx - Update docs.json navigation Tests: - New file translation (add workflow) - Existing file translation (update workflow) - Navigation sync across languages - Config-driven language codes (zh/ja instead of cn/jp) - Source language abstraction (no hardcoded "English") Expected workflow behavior: 1. Detect changes in en/ directory 2. Translate new file to zh and ja 3. Update modified file translations 4. Sync docs.json for all language sections 5. Commit translated files automatically 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: update workflow paths to use zh/ja instead of cn/jp Aligns workflow trigger paths with the zh/ja language directory rename. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Revert "fix: update workflow paths to use zh/ja instead of cn/jp" This reverts commit9587b7cc5d. * Revert "test: kitchen sink workflow validation v2" This reverts commit4abdd69fd2. * fix: update workflow paths in doc analyze workflow to use zh/ja instead of cn/jp * fix: update workflow files to use 'source' instead of 'english' After refactoring the PR analyzer to use 'source' for source language PRs (instead of hardcoded 'english'), the workflow files need to match. Changes: - sync_docs_analyze.yml: pr_type == 'source' (was 'english') - sync_docs_update.yml: PR_TYPE != 'source' check - Updated all comments from "English" to "source language" - Updated all pr_type values in JSON from "english" to "source" This ensures the workflows trigger correctly with the refactored config-driven language system. Related: language code refactoring (cn/jp → zh/ja) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> * fix * fix docs.json language codes * rename previous version docs: cn -> zh, jp -> ja * rm duplicate redirect entires --------- Co-authored-by: Claude <noreply@anthropic.com>
590 lines
59 KiB
JSON
590 lines
59 KiB
JSON
{
|
||
"openapi": "3.0.1",
|
||
"info": {
|
||
"title": "チャットアプリAPI",
|
||
"description": "チャットアプリケーションはセッションの持続性をサポートしており、以前のチャット履歴を応答のコンテキストとして使用できます。これは、チャットボットやカスタマーサービスAIなどに適用できます。",
|
||
"version": "1.0.0"
|
||
},
|
||
"servers": [
|
||
{
|
||
"url": "{api_base_url}",
|
||
"description": "APIのベースURL。{api_base_url}をアプリケーション提供の実際のAPIベースURLに置き換えてください。",
|
||
"variables": {
|
||
"api_base_url": {
|
||
"default": "https://api.dify.ai/v1",
|
||
"description": "実際のAPIベースURL"
|
||
}
|
||
}
|
||
}
|
||
],
|
||
"security": [
|
||
{
|
||
"ApiKeyAuth": []
|
||
}
|
||
],
|
||
"paths": {
|
||
"/chat-messages": {
|
||
"post": {
|
||
"summary": "チャットメッセージを送信",
|
||
"description": "チャットアプリケーションにリクエストを送信します。",
|
||
"operationId": "sendBasicChatMessageJa",
|
||
"tags": ["チャットメッセージ"],
|
||
"requestBody": {
|
||
"description": "チャットメッセージ送信リクエストボディ。",
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/BasicChatRequestJa"
|
||
},
|
||
"examples": {
|
||
"streaming_with_file_ja": {
|
||
"summary": "ファイルとカスタム入力を含むストリーミングリクエストの例",
|
||
"value": {
|
||
"inputs": {
|
||
"name": "dify"
|
||
},
|
||
"query": "iPhone 13 Pro Maxの仕様は何ですか?",
|
||
"response_mode": "streaming",
|
||
"conversation_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb",
|
||
"user": "abc-123",
|
||
"files": [
|
||
{
|
||
"type": "image",
|
||
"transfer_method": "remote_url",
|
||
"url": "https://cloud.dify.ai/logo/logo-site.png"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"description": "リクエスト成功。応答のコンテンツタイプと構造はリクエストの`response_mode`パラメータに依存します。\n- `response_mode`が`blocking`の場合、`application/json`形式の`ChatCompletionResponseJa`オブジェクトを返します。\n- `response_mode`が`streaming`の場合、`text/event-stream`形式の`ChunkBasicChatEventJa`オブジェクトストリームを返します。",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ChatCompletionResponseJa"
|
||
}
|
||
},
|
||
"text/event-stream": {
|
||
"schema": {
|
||
"type": "string",
|
||
"description": "SSEイベントストリーム。各イベントは'data: 'で始まり、'\\n\\n'で終わります。詳細な構造は`ChunkBasicChatEventJa`を参照してください。"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": { "$ref": "#/components/responses/BadRequestGenericJa" },
|
||
"404": { "$ref": "#/components/responses/ConversationNotFoundJa" },
|
||
"500": { "$ref": "#/components/responses/InternalServerErrorJa" }
|
||
}
|
||
}
|
||
},
|
||
"/files/upload": {
|
||
"post": {
|
||
"summary": "ファイルアップロード",
|
||
"description": "メッセージ送信時に使用するためのファイルをアップロードします(現在は画像のみサポート)。画像とテキストのマルチモーダル理解を可能にします。png、jpg、jpeg、webp、gif形式をサポートしています。アップロードされたファイルは現在のエンドユーザーのみが使用できます。",
|
||
"operationId": "uploadBasicChatFileJa",
|
||
"tags": ["ファイル操作"],
|
||
"requestBody": {
|
||
"description": "ファイルアップロードリクエスト。`multipart/form-data`リクエストが必要です。",
|
||
"required": true,
|
||
"content": {
|
||
"multipart/form-data": {
|
||
"schema": {
|
||
"type": "object",
|
||
"required": ["file", "user"],
|
||
"properties": {
|
||
"file": { "type": "string", "format": "binary", "description": "アップロードするファイル。" },
|
||
"user": { "type": "string", "description": "ユーザー識別子。メッセージ送信インターフェースで渡されたユーザーと一致している必要があります。**重要な注意事項**: Service API は WebApp で作成された対話を共有しません。API を通じて作成された対話は、WebApp インターフェースで作成されたものとは分離されています。" }
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"responses": {
|
||
"200": { "description": "ファイルアップロード成功。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileUploadResponseJa" } } } },
|
||
"201": { "description": "ファイル作成成功(代替成功コード)。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileUploadResponseJa" } } } },
|
||
"400": { "$ref": "#/components/responses/BadRequestFileJa" },
|
||
"413": { "$ref": "#/components/responses/FileTooLargeJa" },
|
||
"415": { "$ref": "#/components/responses/UnsupportedFileTypeFileJa" },
|
||
"503": { "$ref": "#/components/responses/S3ErrorFileJa" },
|
||
"500": { "$ref": "#/components/responses/InternalServerErrorJa" }
|
||
}
|
||
}
|
||
},
|
||
"/files/{file_id}/preview": {
|
||
"get": {
|
||
"summary": "ファイルプレビュー",
|
||
"description": "アップロードされたファイルのプレビューまたはダウンロード。このエンドポイントは、ファイルアップロードAPIを通じて事前にアップロードされたファイルにアクセスすることができます。ファイルは、リクエストしているアプリケーション内のメッセージに属している場合のみアクセス可能です。",
|
||
"operationId": "previewBasicChatFileJa",
|
||
"tags": ["ファイル操作"],
|
||
"parameters": [
|
||
{
|
||
"name": "file_id",
|
||
"in": "path",
|
||
"required": true,
|
||
"description": "プレビューするファイルの一意識別子、ファイルアップロードAPIのレスポンスから取得されます。",
|
||
"schema": {
|
||
"type": "string",
|
||
"format": "uuid"
|
||
}
|
||
},
|
||
{
|
||
"name": "as_attachment",
|
||
"in": "query",
|
||
"required": false,
|
||
"description": "ファイルを添付ファイルとして強制ダウンロードするかどうか。デフォルトは`false`(ブラウザでプレビュー)です。",
|
||
"schema": {
|
||
"type": "boolean",
|
||
"default": false
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"description": "ファイルコンテンツが正常に返されました。ヘッダーはファイルタイプとリクエストパラメータに基づいて設定されます。",
|
||
"content": {
|
||
"image/png": {
|
||
"schema": {
|
||
"type": "string",
|
||
"format": "binary"
|
||
}
|
||
},
|
||
"image/jpeg": {
|
||
"schema": {
|
||
"type": "string",
|
||
"format": "binary"
|
||
}
|
||
},
|
||
"image/webp": {
|
||
"schema": {
|
||
"type": "string",
|
||
"format": "binary"
|
||
}
|
||
},
|
||
"image/gif": {
|
||
"schema": {
|
||
"type": "string",
|
||
"format": "binary"
|
||
}
|
||
},
|
||
"application/octet-stream": {
|
||
"schema": {
|
||
"type": "string",
|
||
"format": "binary"
|
||
}
|
||
}
|
||
},
|
||
"headers": {
|
||
"Content-Type": {
|
||
"description": "ファイルのMIMEタイプ",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"Content-Length": {
|
||
"description": "ファイルサイズ(バイト単位、利用可能な場合)",
|
||
"schema": {
|
||
"type": "integer"
|
||
}
|
||
},
|
||
"Content-Disposition": {
|
||
"description": "as_attachment=trueの場合、'attachment'に設定されます",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
"Cache-Control": {
|
||
"description": "パフォーマンス用キャッシュヘッダー",
|
||
"schema": {
|
||
"type": "string",
|
||
"example": "public, max-age=3600"
|
||
}
|
||
},
|
||
"Accept-Ranges": {
|
||
"description": "オーディオ/ビデオファイルの場合は'bytes'に設定されます",
|
||
"schema": {
|
||
"type": "string",
|
||
"example": "bytes"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"400": {
|
||
"description": "不正なリクエスト。可能なエラーコード:\n- `invalid_param`: 異常なパラメータ入力。",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": { "$ref": "#/components/schemas/ErrorResponseJa" }
|
||
}
|
||
}
|
||
},
|
||
"403": {
|
||
"description": "禁止。可能なエラーコード:\n- `file_access_denied`: ファイルアクセス拒否またはファイルが現在のアプリケーションに属していません。",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": { "$ref": "#/components/schemas/ErrorResponseJa" }
|
||
}
|
||
}
|
||
},
|
||
"404": {
|
||
"description": "見つかりません。可能なエラーコード:\n- `file_not_found`: ファイルが見つからないか削除されています。",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": { "$ref": "#/components/schemas/ErrorResponseJa" }
|
||
}
|
||
}
|
||
},
|
||
"500": {
|
||
"description": "内部サーバーエラー。",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": { "$ref": "#/components/schemas/ErrorResponseJa" }
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"/chat-messages/{task_id}/stop": {
|
||
"post": {
|
||
"summary": "生成停止",
|
||
"description": "チャットメッセージの生成を停止します。ストリーミングモードでのみサポートされています。",
|
||
"operationId": "stopBasicChatMessageGenerationJa",
|
||
"tags": ["チャットメッセージ"],
|
||
"parameters": [ { "name": "task_id", "in": "path", "required": true, "description": "タスクID、ストリーミングチャンクの返り値から取得できます。", "schema": { "type": "string", "format": "uuid" } } ],
|
||
"requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": ["user"], "properties": { "user": { "type": "string", "description": "ユーザー識別子。メッセージ送信インターフェースで渡されたユーザーと一致している必要があります。**重要な注意事項**: Service API は WebApp で作成された対話を共有しません。API を通じて作成された対話は、WebApp インターフェースで作成されたものとは分離されています。" } } } } } },
|
||
"responses": { "200": { "$ref": "#/components/responses/SuccessResultJa" } }
|
||
}
|
||
},
|
||
"/messages/{message_id}/feedbacks": {
|
||
"post": {
|
||
"summary": "メッセージフィードバック",
|
||
"description": "エンドユーザーはフィードバックメッセージを提供でき、アプリケーション開発者が期待される出力を最適化するのに役立ちます。",
|
||
"operationId": "postBasicChatMessageFeedbackJa",
|
||
"tags": ["メッセージフィードバック"],
|
||
"parameters": [ { "name": "message_id", "in": "path", "required": true, "description": "メッセージID。", "schema": { "type": "string", "format": "uuid" } } ],
|
||
"requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageFeedbackRequestJa" } } } },
|
||
"responses": { "200": { "$ref": "#/components/responses/SuccessResultJa" } }
|
||
}
|
||
},
|
||
"/app/feedbacks": {
|
||
"get": {
|
||
"summary": "アプリのメッセージの「いいね」とフィードバックを取得",
|
||
"description": "アプリのエンドユーザーからのフィードバックや「いいね」を取得します。",
|
||
"operationId": "getBasicChatAppFeedbacksJa",
|
||
"tags": ["メッセージフィードバック"],
|
||
"parameters": [ { "$ref": "#/components/parameters/PageQueryParamJa" }, { "$ref": "#/components/parameters/LimitQueryParamJa" } ],
|
||
"responses": { "200": { "description": "アプリのフィードバックリストを正常に取得しました。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppFeedbacksResponseJa" } } } } }
|
||
}
|
||
},
|
||
"/messages/{message_id}/suggested": {
|
||
"get": {
|
||
"summary": "次の推奨質問",
|
||
"description": "現在のメッセージに対する次の質問の提案を取得します。",
|
||
"operationId": "getBasicChatSuggestedQuestionsJa",
|
||
"tags": ["チャットメッセージ"],
|
||
"parameters": [ { "name": "message_id", "in": "path", "required": true, "description": "メッセージID。", "schema": { "type": "string", "format": "uuid" } }, { "$ref": "#/components/parameters/UserQueryParamJa" } ],
|
||
"responses": { "200": { "description": "推奨質問リストを正常に取得しました。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SuggestedQuestionsResponseJa" } } } } }
|
||
}
|
||
},
|
||
"/messages": {
|
||
"get": {
|
||
"summary": "会話履歴メッセージを取得",
|
||
"description": "スクロールロード形式で過去のチャット記録を返し、最初のページは最新の`{limit}`メッセージを返します。つまり、逆順です。",
|
||
"operationId": "getBasicChatConversationHistoryJa",
|
||
"tags": ["会話管理"],
|
||
"parameters": [ { "$ref": "#/components/parameters/ConversationIdQueryParamJa" }, { "$ref": "#/components/parameters/UserQueryParamJa" }, { "name": "first_id", "in": "query", "description": "現在のページの最初のチャット記録のID、デフォルトはnullです。", "schema": { "type": "string", "format": "uuid", "nullable": true } }, { "$ref": "#/components/parameters/LimitQueryParamDefault20Ja" } ],
|
||
"responses": { "200": { "description": "会話履歴メッセージを正常に取得しました。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BasicConversationHistoryResponseJa" } } } } }
|
||
}
|
||
},
|
||
"/conversations": {
|
||
"get": {
|
||
"summary": "会話を取得",
|
||
"description": "現在のユーザーの会話リストを取得し、デフォルトで最新の20件を返します。",
|
||
"operationId": "getBasicChatConversationsListJa",
|
||
"tags": ["会話管理"],
|
||
"parameters": [ { "$ref": "#/components/parameters/UserQueryParamJa" }, { "$ref": "#/components/parameters/LastIdQueryParamJa" }, { "$ref": "#/components/parameters/LimitQueryParamDefault20Max100Ja" }, { "$ref": "#/components/parameters/SortByQueryParamJa" } ],
|
||
"responses": { "200": { "description": "会話リストを正常に取得しました。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConversationsListResponseJa" } } } } }
|
||
}
|
||
},
|
||
"/conversations/{conversation_id}": {
|
||
"delete": {
|
||
"summary": "会話を削除",
|
||
"description": "指定された会話を削除します。",
|
||
"operationId": "deleteBasicChatConversationJa",
|
||
"tags": ["会話管理"],
|
||
"parameters": [ { "$ref": "#/components/parameters/ConversationIdPathParamJa" } ],
|
||
"requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": ["user"], "properties": { "user": { "type": "string", "description": "ユーザー識別子。**重要な注意事項**: Service API は WebApp で作成された対話を共有しません。API を通じて作成された対話は、WebApp インターフェースで作成されたものとは分離されています。" } } } } } },
|
||
"responses": { "204": { "description": "会話の削除に成功しました。コンテンツはありません。" } }
|
||
}
|
||
},
|
||
"/conversations/{conversation_id}/name": {
|
||
"post": {
|
||
"summary": "会話の名前を変更",
|
||
"description": "セッションの名前を変更します。セッション名は、複数のセッションをサポートするクライアントでの表示に使用されます。",
|
||
"operationId": "renameBasicChatConversationJa",
|
||
"tags": ["会話管理"],
|
||
"parameters": [ { "$ref": "#/components/parameters/ConversationIdPathParamJa" } ],
|
||
"requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConversationRenameRequestJa" } } } },
|
||
"responses": { "200": { "description": "会話の名前変更に成功しました。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConversationRenameResponseJa" } } } } }
|
||
}
|
||
},
|
||
"/conversations/{conversation_id}/variables": {
|
||
"get": {
|
||
"summary": "会話変数の取得",
|
||
"description": "特定の会話から変数を取得します。このエンドポイントは、会話中に取得された構造化データを抽出するのに役立ちます。",
|
||
"operationId": "getBasicChatConversationVariablesJa",
|
||
"tags": ["会話管理"],
|
||
"parameters": [ { "$ref": "#/components/parameters/ConversationIdPathParamJa" }, { "$ref": "#/components/parameters/UserQueryParamJa" }, { "$ref": "#/components/parameters/LastIdQueryParamJa" }, { "$ref": "#/components/parameters/LimitQueryParamDefault20Max100Ja" }, { "$ref": "#/components/parameters/VariableNameQueryParamJa" } ],
|
||
"responses": { "200": { "description": "会話変数を正常に取得しました。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConversationVariablesResponseJa" } } } }, "404": { "$ref": "#/components/responses/ConversationNotFoundJa" } }
|
||
}
|
||
},
|
||
"/audio-to-text": {
|
||
"post": {
|
||
"summary": "音声からテキストへ",
|
||
"description": "オーディオファイルをテキストに変換します。サポートされている形式:mp3, mp4, mpeg, mpga, m4a, wav, webm。ファイルサイズ制限:15MB。",
|
||
"operationId": "basicChatAudioToTextJa",
|
||
"tags": ["音声とテキスト変換"],
|
||
"requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/AudioToTextRequestJa" } } } },
|
||
"responses": { "200": { "description": "音声からテキストへの変換に成功しました。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AudioToTextResponseJa" } } } } }
|
||
}
|
||
},
|
||
"/text-to-audio": {
|
||
"post": {
|
||
"summary": "テキストから音声へ",
|
||
"description": "テキストコンテンツを音声に変換します。",
|
||
"operationId": "basicChatTextToAudioJa",
|
||
"tags": ["音声とテキスト変換"],
|
||
"requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/TextToAudioFormRequestJa" } } } },
|
||
"responses": { "200": { "description": "音声ファイルの生成に成功しました。", "content": { "audio/wav": { "schema": { "type": "string", "format": "binary" } }, "audio/mp3": { "schema": { "type": "string", "format": "binary" } } }, "headers": { "Content-Type": { "schema": { "type": "string", "example": "audio/wav" } } } } }
|
||
}
|
||
},
|
||
"/info": {
|
||
"get": {
|
||
"summary": "アプリケーションの基本情報を取得",
|
||
"operationId": "getBasicChatAppInfoJa",
|
||
"tags": ["アプリケーション設定"],
|
||
"responses": { "200": { "description": "アプリケーションの基本情報。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppInfoResponseJa" } } } } }
|
||
}
|
||
},
|
||
"/parameters": {
|
||
"get": {
|
||
"summary": "アプリケーションのパラメータ情報を取得",
|
||
"description": "ページに入る際に、機能、入力パラメータ名、タイプ、デフォルト値などの情報を取得するために使用されます。",
|
||
"operationId": "getBasicChatAppParametersJa",
|
||
"tags": ["アプリケーション設定"],
|
||
"responses": { "200": { "description": "アプリケーションのパラメータ情報。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BasicChatAppParametersResponseJa" } } } } }
|
||
}
|
||
},
|
||
"/meta": {
|
||
"get": {
|
||
"summary": "アプリケーションのメタ情報を取得",
|
||
"description": "このアプリケーションのツールのアイコンを取得するために使用されます。",
|
||
"operationId": "getBasicChatAppMetaJa",
|
||
"tags": ["アプリケーション設定"],
|
||
"responses": { "200": { "description": "アプリケーションのメタ情報を正常に取得しました。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppMetaResponseJa" } } } } }
|
||
}
|
||
},
|
||
"/site": {
|
||
"get": {
|
||
"summary": "アプリのWebApp設定を取得",
|
||
"description": "アプリのWebApp設定を取得するために使用します。",
|
||
"operationId": "getBasicChatWebAppSettingsJa",
|
||
"tags": ["アプリケーション設定"],
|
||
"responses": { "200": { "description": "WebApp設定。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebAppSettingsResponseJa" } } } } }
|
||
}
|
||
}
|
||
},
|
||
"components": {
|
||
"securitySchemes": {
|
||
"ApiKeyAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "API_KEY", "description": "APIキー認証。すべてのAPIリクエストにおいて、Authorization HTTPヘッダーにAPIキーを含めてください。形式:Bearer {API_KEY}。APIキーの漏洩を防ぐため、APIキーはクライアント側で共有または保存せず、サーバー側で保存することを強くお勧めします。" }
|
||
},
|
||
"parameters": {
|
||
"PageQueryParamJa": { "name": "page", "in": "query", "description": "(任意)ページ番号。デフォルト値:1。", "schema": { "type": "integer", "default": 1 } },
|
||
"LimitQueryParamJa": { "name": "limit", "in": "query", "description": "(任意)1ページあたりの件数。デフォルト値:20。", "schema": { "type": "integer", "default": 20 } },
|
||
"LimitQueryParamDefault20Ja": { "name": "limit", "in": "query", "description": "1回のリクエストで返すレコードの数、デフォルトは20です。", "schema": { "type": "integer", "default": 20 } },
|
||
"LimitQueryParamDefault20Max100Ja": { "name": "limit", "in": "query", "description": "1回のリクエストで返すレコードの数、デフォルトは20件です。最大100、最小1。", "schema": { "type": "integer", "default": 20, "minimum": 1, "maximum": 100 } },
|
||
"UserQueryParamJa": { "name": "user", "in": "query", "required": true, "description": "ユーザー識別子。アプリケーション内で開発者によって一意に定義される必要があります。**重要な注意事項**: Service API は WebApp で作成された対話を共有しません。API を通じて作成された対話は、WebApp インターフェースで作成されたものとは分離されています。", "schema": { "type": "string" } },
|
||
"ConversationIdQueryParamJa": { "name": "conversation_id", "in": "query", "required": true, "description": "会話ID。", "schema": { "type": "string", "format": "uuid" } },
|
||
"LastIdQueryParamJa": { "name": "last_id", "in": "query", "description": "(Optional)現在のページの最後のレコードのID、デフォルトはnullです。", "schema": { "type": "string", "format": "uuid", "nullable": true } },
|
||
"SortByQueryParamJa": { "name": "sort_by", "in": "query", "description": "(Optional)ソートフィールド、デフォルト:-updated_at(更新時間で降順にソート)。利用可能な値:created_at, -created_at, updated_at, -updated_at。フィールドの前の記号「-」は逆順を表します。", "schema": { "type": "string", "enum": ["created_at", "-created_at", "updated_at", "-updated_at"], "default": "-updated_at" } },
|
||
"ConversationIdPathParamJa": { "name": "conversation_id", "in": "path", "required": true, "description": "会話ID。", "schema": { "type": "string", "format": "uuid" } },
|
||
"VariableNameQueryParamJa": { "name": "variable_name", "in": "query", "description": "(Optional)変数名でフィルタリングします。", "schema": { "type": "string" } }
|
||
},
|
||
"responses": {
|
||
"BadRequestGenericJa": { "description": "リクエストパラメータエラー。考えられる原因:invalid_param, app_unavailable, provider_not_initialize, provider_quota_exceeded, model_currently_not_support, completion_request_error。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseJa" } } } },
|
||
"BadRequestFileJa": { "description": "ファイル操作リクエストエラー。考えられる原因:no_file_uploaded, too_many_files, unsupported_preview, unsupported_estimate。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseJa" } } } },
|
||
"FileTooLargeJa": { "description": "ファイルが大きすぎます (file_too_large)。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseJa" } } } },
|
||
"UnsupportedFileTypeFileJa": { "description": "サポートされていないファイルタイプ (unsupported_file_type)。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseJa" } } } },
|
||
"S3ErrorFileJa": { "description": "S3ストレージサービスエラー。考えられる原因:s3_connection_failed, s3_permission_denied, s3_file_too_large。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseJa" } } } },
|
||
"InternalServerErrorJa": { "description": "内部サーバーエラー。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseJa" } } } },
|
||
"SuccessResultJa": { "description": "操作成功。", "content": { "application/json": { "schema": { "type": "object", "properties": { "result": { "type": "string", "example": "success" } } } } } },
|
||
"ConversationNotFoundJa": { "description": "会話が存在しません。", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseJa" } } } }
|
||
},
|
||
"schemas": {
|
||
"BasicChatRequestJa": {
|
||
"type": "object", "required": ["query", "user"],
|
||
"properties": {
|
||
"query": { "type": "string", "description": "ユーザー入力/質問内容。" },
|
||
"inputs": { "type": "object", "description": "アプリで定義されたさまざまな変数値の入力を許可します。デフォルトは`{}`。", "additionalProperties": true, "default": {} },
|
||
"response_mode": { "type": "string", "enum": ["streaming", "blocking"], "default": "streaming", "description": "応答の返却モード。streaming(推奨)はSSEベース。blockingは実行完了後に結果を返します(Cloudflareの100秒タイムアウト制限あり;エージェントアシスタントモードではサポートされていません)。" },
|
||
"user": { "type": "string", "description": "ユーザー識別子、アプリケーション内で一意である必要があります。**重要な注意事項**: Service API は WebApp で作成された対話を共有しません。API を通じて作成された対話は、WebApp インターフェースで作成されたものとは分離されています。" },
|
||
"conversation_id": { "type": "string", "format": "uuid", "description": "会話ID、以前のチャット記録に基づいて会話を続けるには、前のメッセージのconversation_idを渡す必要があります。" },
|
||
"files": { "type": "array", "items": { "$ref": "#/components/schemas/BasicInputFileObjectJa" }, "description": "アップロードされたファイルリスト。現在は画像タイプのみサポート。" },
|
||
"auto_generate_name": { "type": "boolean", "default": true, "description": "タイトルを自動生成します。デフォルトは`true`です。" }
|
||
}
|
||
},
|
||
"BasicInputFileObjectJa": {
|
||
"type": "object", "required": ["type", "transfer_method"],
|
||
"properties": {
|
||
"type": { "type": "string", "enum": ["image"], "description": "サポートされているタイプ:`image`(現在は画像タイプのみサポート)。" },
|
||
"transfer_method": { "type": "string", "enum": ["remote_url", "local_file"], "description": "転送方法。remote_url は画像URL / local_file はファイルアップロード用" },
|
||
"url": { "type": "string", "format": "url", "description": "画像URL(転送方法が remote_url の場合)" },
|
||
"upload_file_id": { "type": "string", "format":"uuid", "description": "アップロードされたファイルID、事前にファイルアップロードAPIで取得する必要があります(転送方法が local_file の場合)" }
|
||
},
|
||
"anyOf": [
|
||
{
|
||
"properties": {
|
||
"transfer_method": { "enum": ["remote_url"] },
|
||
"url": { "type": "string", "format": "url" }
|
||
},
|
||
"required": ["url"],
|
||
"not": { "required": ["upload_file_id"] }
|
||
},
|
||
{
|
||
"properties": {
|
||
"transfer_method": { "enum": ["local_file"] },
|
||
"upload_file_id": { "type": "string", "format":"uuid" }
|
||
},
|
||
"required": ["upload_file_id"],
|
||
"not": { "required": ["url"] }
|
||
}
|
||
]
|
||
},
|
||
"ChatCompletionResponseJa": {
|
||
"type": "object", "description": "ブロッキングモードでの完全なアプリ結果。",
|
||
"properties": {
|
||
"event": { "type": "string", "example": "message", "description": "イベントタイプ、固定で `message`。" },
|
||
"task_id": { "type": "string", "format": "uuid", "description": "タスクID。" },
|
||
"id": { "type": "string", "format": "uuid", "description": "ユニークID。" },
|
||
"message_id": { "type": "string", "format": "uuid", "description": "一意のメッセージID。" },
|
||
"conversation_id": { "type": "string", "format": "uuid", "description": "会話ID。" },
|
||
"mode": { "type": "string", "example": "chat", "description": "アプリモード、`chat`として固定。" },
|
||
"answer": { "type": "string", "description": "完全な応答内容。" },
|
||
"metadata": { "$ref": "#/components/schemas/ResponseMetadataJa" },
|
||
"created_at": { "type": "integer", "format": "int64", "description": "メッセージ作成タイムスタンプ。" }
|
||
}
|
||
},
|
||
"ResponseMetadataJa": {
|
||
"type": "object", "description": "メタデータ。",
|
||
"properties": { "usage": { "$ref": "#/components/schemas/UsageJa" }, "retriever_resources": { "type": "array", "items": { "$ref": "#/components/schemas/RetrieverResourceJa" }, "description": "引用と帰属リスト。" } }
|
||
},
|
||
"ChunkBasicChatEventJa": {
|
||
"type": "object", "required": ["event"],
|
||
"properties": { "event": { "type": "string", "enum": ["message", "agent_message", "agent_thought", "message_file", "message_end", "tts_message", "tts_message_end", "message_replace", "error", "ping"], "description": "イベントタイプ。" } },
|
||
"discriminator": { "propertyName": "event", "mapping": {
|
||
"message": "#/components/schemas/StreamEventChatMessageJa", "agent_message": "#/components/schemas/StreamEventAgentMessageJa",
|
||
"agent_thought": "#/components/schemas/StreamEventAgentThoughtJa", "message_file": "#/components/schemas/StreamEventMessageFileJa",
|
||
"message_end": "#/components/schemas/StreamEventMessageEndJa", "tts_message": "#/components/schemas/StreamEventTtsMessageJa",
|
||
"tts_message_end": "#/components/schemas/StreamEventTtsMessageEndJa", "message_replace": "#/components/schemas/StreamEventMessageReplaceJa",
|
||
"error": "#/components/schemas/StreamEventErrorJa", "ping": "#/components/schemas/StreamEventPingJa"
|
||
}}
|
||
},
|
||
"StreamEventBaseChatJa": {
|
||
"type": "object", "properties": {
|
||
"task_id": { "type": "string", "format": "uuid", "description": "タスクID。" },
|
||
"message_id": { "type": "string", "format": "uuid", "description": "一意のメッセージID。" },
|
||
"conversation_id": { "type": "string", "format": "uuid", "description": "会話ID。" },
|
||
"created_at": { "type": "integer", "format": "int64", "description": "作成タイムスタンプ。" }
|
||
}
|
||
},
|
||
"StreamEventChatMessageJa": { "allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" }, { "$ref": "#/components/schemas/StreamEventBaseChatJa" }, { "type": "object", "required": ["answer"], "properties": { "answer": { "type": "string", "description": "LLMが返したテキストチャンク内容。" } } } ] },
|
||
"StreamEventAgentMessageJa": { "allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" }, { "$ref": "#/components/schemas/StreamEventBaseChatJa" }, { "type": "object", "required": ["answer"], "properties": { "answer": { "type": "string", "description": "LLMが返したテキストチャンク内容(エージェントモード)。" } } } ] },
|
||
"StreamEventAgentThoughtJa": {
|
||
"allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" },
|
||
{ "type": "object", "required": ["id", "task_id", "message_id", "position", "created_at", "conversation_id"],
|
||
"properties": {
|
||
"id": { "type": "string", "format": "uuid", "description": "エージェント思考ID。" },
|
||
"task_id": { "type": "string", "format": "uuid", "description": "タスクID。" },
|
||
"message_id": { "type": "string", "format": "uuid", "description": "一意のメッセージID。" },
|
||
"position": { "type": "integer", "description": "エージェント思考のメッセージ内での位置。" },
|
||
"thought": { "type": "string", "nullable": true, "description": "エージェントの思考内容。" },
|
||
"observation": { "type": "string", "nullable": true, "description": "ツール呼び出しからの応答。" },
|
||
"tool": { "type": "string", "nullable": true, "description": "使用されたツールのリスト、;で区切られます。" },
|
||
"tool_input": { "type": "string", "nullable": true, "description": "ツールの入力、JSON形式の文字列。" },
|
||
"created_at": { "type": "integer", "format": "int64", "description": "作成タイムスタンプ。" },
|
||
"message_files": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "ファイルID" }, "description": "現在のエージェント思考に関連するファイルIDのリスト。" },
|
||
"conversation_id": { "type": "string", "format": "uuid", "description": "会話ID。" }
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"StreamEventMessageFileJa": { "allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" }, { "type": "object", "required": ["id", "type", "belongs_to", "url", "conversation_id"], "properties": { "id": { "type": "string", "format": "uuid", "description": "ファイル一意ID。" }, "type": { "type": "string", "enum": ["image"], "description": "ファイルタイプ、現在は'image'のみ許可。" }, "belongs_to": { "type": "string", "enum": ["assistant"], "description": "所属、ここでは'assistant'のみ。" }, "url": { "type": "string", "format": "url", "description": "ファイルのリモートURL。" }, "conversation_id": { "type": "string", "format": "uuid", "description": "会話ID。" } } } ] },
|
||
"StreamEventMessageEndJa": { "allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" }, { "$ref": "#/components/schemas/StreamEventBaseChatJa" }, { "type": "object", "required": ["metadata"], "properties": { "metadata": { "$ref": "#/components/schemas/ResponseMetadataJa" } } } ] },
|
||
"StreamEventTtsMessageJa": { "allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" }, { "$ref": "#/components/schemas/StreamEventBaseChatJa" }, { "type": "object", "required": ["audio"], "properties": { "audio": { "type": "string", "format": "byte", "description": "Base64エンコードされたオーディオブロック。" } } } ] },
|
||
"StreamEventTtsMessageEndJa": { "allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" }, { "$ref": "#/components/schemas/StreamEventBaseChatJa" }, { "type": "object", "required": ["audio"], "properties": { "audio": { "type": "string", "description": "空の文字列。" } } } ] },
|
||
"StreamEventMessageReplaceJa": { "allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" }, { "$ref": "#/components/schemas/StreamEventBaseChatJa" }, { "type": "object", "required": ["answer"], "properties": { "answer": { "type": "string", "description": "置換内容(すべてのLLM返信テキストを直接置換)。" } } } ] },
|
||
"StreamEventErrorJa": { "allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" }, { "type": "object", "required": ["task_id", "status", "code", "message"], "properties": { "task_id": { "type": "string", "format": "uuid" }, "message_id": { "type": "string", "format": "uuid", "nullable": true, "description": "一意のメッセージID(エラーイベントでは存在しない場合があります)。" }, "status": { "type": "integer", "description": "HTTPステータスコード。" }, "code": { "type": "string", "description": "エラーコード。" }, "message": { "type": "string", "description": "エラーメッセージ。" } } } ] },
|
||
"StreamEventPingJa": { "allOf": [ { "$ref": "#/components/schemas/ChunkBasicChatEventJa" }, { "type": "object", "description": "接続を維持するために10秒ごとにpingイベントが発生します。" } ] },
|
||
"UsageJa": { "type": "object", "description": "モデル使用情報。", "properties": { "prompt_tokens": { "type": "integer" }, "prompt_unit_price": { "type": "string" }, "prompt_price_unit": { "type": "string" }, "prompt_price": { "type": "string" }, "completion_tokens": { "type": "integer" }, "completion_unit_price": { "type": "string" }, "completion_price_unit": { "type": "string" }, "completion_price": { "type": "string" }, "total_tokens": { "type": "integer" }, "total_price": { "type": "string" }, "currency": { "type": "string" }, "latency": { "type": "number", "format": "double" } } },
|
||
"RetrieverResourceJa": { "type": "object", "description": "引用と帰属情報。", "properties": { "position": { "type": "integer" }, "dataset_id": { "type": "string", "format": "uuid" }, "dataset_name": { "type": "string" }, "document_id": { "type": "string", "format": "uuid" }, "document_name": { "type": "string" }, "segment_id": { "type": "string", "format": "uuid" }, "score": { "type": "number", "format": "float" }, "content": { "type": "string" } } },
|
||
"FileUploadResponseJa": { "type": "object", "description": "ファイルアップロード成功後の応答。", "properties": { "id": { "type": "string", "format": "uuid", "description": "ID。" }, "name": { "type": "string", "description": "ファイル名。" }, "size": { "type": "integer", "description": "ファイルサイズ(バイト)。" }, "extension": { "type": "string", "description": "ファイル拡張子。" }, "mime_type": { "type": "string", "description": "ファイルのMIMEタイプ。" }, "created_by": { "type": "string", "format": "uuid", "description": "エンドユーザーID。" }, "created_at": { "type": "integer", "format": "int64", "description": "作成タイムスタンプ。" } } },
|
||
"MessageFeedbackRequestJa": { "type": "object", "required": ["user"], "properties": { "rating": { "type": "string", "enum": ["like", "dislike", null], "nullable": true, "description": "アップボートは`like`、ダウンボートは`dislike`、アップボートの取り消しは`null`。" }, "user": { "type": "string", "description": "ユーザー識別子。" }, "content": { "type": "string", "nullable": true, "description": "メッセージのフィードバックです。" } } },
|
||
"AppFeedbacksResponseJa": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/FeedbackItemJa" }, "description": "このアプリの「いいね」とフィードバックの一覧を返します。" } } },
|
||
"FeedbackItemJa": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "app_id": { "type": "string", "format": "uuid" }, "conversation_id": { "type": "string", "format": "uuid" }, "message_id": { "type": "string", "format": "uuid" }, "rating": { "type": "string", "enum": ["like", "dislike", null], "nullable": true }, "content": { "type": "string" }, "from_source": { "type": "string" }, "from_end_user_id": { "type": "string", "format": "uuid" }, "from_account_id": { "type": "string", "format": "uuid", "nullable": true }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" } } },
|
||
"SuggestedQuestionsResponseJa": { "type": "object", "properties": { "result": { "type": "string", "example": "success" }, "data": { "type": "array", "items": { "type": "string" }, "description": "推奨質問のリスト。" } } },
|
||
"BasicConversationHistoryResponseJa": { "type": "object", "properties": { "limit": { "type": "integer", "description": "返されたアイテムの数。" }, "has_more": { "type": "boolean", "description": "次のページがあるかどうか。" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/BasicConversationMessageItemJa" }, "description": "メッセージリスト。" } } },
|
||
"BasicConversationMessageItemJa": { "type": "object", "description": "会話内の単一メッセージ。", "properties": { "id": { "type": "string", "format": "uuid", "description": "メッセージID。" }, "conversation_id": { "type": "string", "format": "uuid", "description": "会話ID。" }, "inputs": { "type": "object", "additionalProperties": true, "description": "ユーザー入力パラメータ。" }, "query": { "type": "string", "description": "ユーザー入力/質問内容。" }, "answer": { "type": "string", "description": "応答メッセージ内容。" }, "message_files": { "type": "array", "items": { "$ref": "#/components/schemas/MessageFileItemJa" }, "description": "メッセージファイルリスト。" }, "feedback": { "type": "object", "nullable": true, "properties": { "rating": { "type": "string", "enum": ["like", "dislike"], "description": "アップボートは`like` / ダウンボートは`dislike`。" } }, "description": "フィードバック情報。" }, "retriever_resources": { "type": "array", "items": { "$ref": "#/components/schemas/RetrieverResourceJa" }, "description": "引用と帰属リスト。" }, "agent_thoughts": { "type": "array", "items": { "$ref": "#/components/schemas/AgentThoughtItemJa" }, "description": "エージェントの思考(基本アシスタントの場合は空)。" }, "created_at": { "type": "integer", "format": "int64", "description": "作成タイムスタンプ。" } } },
|
||
"AgentThoughtItemJa": {
|
||
"type": "object", "description": "エージェントの思考ステップ。",
|
||
"properties": {
|
||
"id": { "type": "string", "format": "uuid", "description": "エージェント思考ID。" },
|
||
"message_id": { "type": "string", "format": "uuid", "description": "一意のメッセージID。" },
|
||
"position": { "type": "integer", "description": "エージェント思考のメッセージ内での位置。" },
|
||
"thought": { "type": "string", "nullable": true, "description": "LLMが考えていること。" },
|
||
"observation": { "type": "string", "nullable": true, "description": "ツール呼び出しからの応答。" },
|
||
"tool": { "type": "string", "nullable": true, "description": "呼び出されたツールのリスト、;で区切られます。" },
|
||
"tool_input": { "type": "string", "nullable": true, "description": "ツールの入力、JSON形式。" },
|
||
"created_at": { "type": "integer", "format": "int64", "description": "作成タイムスタンプ。" },
|
||
"message_files": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "ファイルID" }, "description": "現在のエージェント思考に関連するファイルIDのリスト。" }
|
||
}
|
||
},
|
||
"MessageFileItemJa": { "type": "object", "description": "メッセージ内のファイル項目。", "properties": { "id": { "type": "string", "format": "uuid", "description": "ID。" }, "type": { "type": "string", "description": "ファイルタイプ、例:'image'。" }, "url": { "type": "string", "format": "url", "description": "プレビュー画像URL。" }, "belongs_to": { "type": "string", "enum": ["user", "assistant"], "description": "所属。" } } },
|
||
"ConversationsListResponseJa": { "type": "object", "properties": { "limit": { "type": "integer", "description": "返されたエントリの数。" }, "has_more": { "type": "boolean" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ConversationListItemJa" }, "description": "会話のリスト。" } } },
|
||
"ConversationListItemJa": { "type": "object", "description": "会話リスト内の単一項目。", "properties": { "id": { "type": "string", "format": "uuid", "description": "会話ID。" }, "name": { "type": "string", "description": "会話名。" }, "inputs": { "type": "object", "additionalProperties": true, "description": "ユーザー入力パラメータ。" }, "status": { "type": "string", "description": "会話状態。" }, "introduction": { "type": "string", "nullable": true, "description": "紹介。" }, "created_at": { "type": "integer", "format": "int64", "description": "作成タイムスタンプ。" }, "updated_at": { "type": "integer", "format": "int64", "description": "更新タイムスタンプ。" } } },
|
||
"ConversationRenameRequestJa": { "type": "object", "required": ["user"], "properties": { "name": { "type": "string", "nullable": true, "description": "(Optional)会話の名前。`auto_generate`が`true`の場合、省略できます。" }, "auto_generate": { "type": "boolean", "default": false, "description": "(Optional)タイトルを自動生成します。デフォルトは`false`です。" }, "user": { "type": "string", "description": "ユーザー識別子。" } } },
|
||
"ConversationRenameResponseJa": { "$ref": "#/components/schemas/ConversationListItemJa" },
|
||
"ConversationVariablesResponseJa": { "type": "object", "properties": { "limit": { "type": "integer", "description": "ページごとのアイテム数。" }, "has_more": { "type": "boolean", "description": "さらにアイテムがあるかどうか。" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ConversationVariableItemJa" }, "description": "変数のリスト。" } } },
|
||
"ConversationVariableItemJa": { "type": "object", "description": "会話内の変数項目。", "properties": { "id": { "type": "string", "format": "uuid", "description": "変数ID。" }, "name": { "type": "string", "description": "変数名。" }, "value_type": { "type": "string", "description": "変数タイプ(文字列、数値、真偽値など)。" }, "value": { "type": "string", "description": "変数値。" }, "description": { "type": "string", "nullable": true, "description": "変数の説明。" }, "created_at": { "type": "integer", "format": "int64", "description": "作成タイムスタンプ。" }, "updated_at": { "type": "integer", "format": "int64", "description": "最終更新タイムスタンプ。" } } },
|
||
"AudioToTextRequestJa": { "type": "object", "required": ["file", "user"], "properties": { "file": { "type": "string", "format": "binary", "description": "オーディオファイル。サポートされている形式:`['mp3', 'mp4', 'mpeg', 'mpga', 'm4a', 'wav', 'webm']`。ファイルサイズ制限:15MB。" }, "user": { "type": "string", "description": "ユーザー識別子。" } } },
|
||
"AudioToTextResponseJa": { "type": "object", "properties": { "text": { "type": "string", "description": "出力テキスト。" } } },
|
||
"TextToAudioFormRequestJa": { "type": "object", "required": ["user"], "properties": { "message_id": { "type": "string", "format": "uuid", "description": "メッセージID(優先)。" }, "text": { "type": "string", "description": "音声生成コンテンツ。" }, "user": { "type": "string", "description": "ユーザー識別子。" } }, "description": "`user`が必要です。`message_id`または`text`を提供してください。このバージョンはmultipart/form-dataです。" },
|
||
"AppInfoResponseJa": { "type": "object", "description": "アプリケーションの基本情報。", "properties": { "name": { "type": "string", "description": "アプリケーションの名前。" }, "description": { "type": "string", "description": "アプリケーションの説明。" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "アプリケーションのタグ。" } } },
|
||
"BasicChatAppParametersResponseJa": { "type": "object", "description": "アプリケーションのパラメータ情報。", "properties": { "opening_statement": { "type": "string", "description": "開始文。" }, "suggested_questions": { "type": "array", "items": { "type": "string" }, "description": "開始時の推奨質問のリスト。" }, "suggested_questions_after_answer": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "有効かどうか。" } }, "description": "答えを有効にした後の質問を提案します。" }, "speech_to_text": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "有効かどうか。" } }, "description": "音声からテキストへ。" }, "text_to_speech": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "有効かどうか。" }, "voice": { "type": "string", "description": "音声タイプ。" }, "language": { "type": "string", "description": "言語。" }, "autoPlay": { "type": "string", "enum": ["enabled", "disabled"], "description": "自動再生:enabled 有効, disabled 無効。" } }, "description": "テキストから音声へ。" }, "retriever_resource": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "有効かどうか。" } }, "description": "引用と帰属。" }, "annotation_reply": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "有効かどうか。" } }, "description": "注釈返信。" }, "user_input_form": { "type": "array", "items": { "$ref": "#/components/schemas/UserInputFormItemJa" }, "description": "ユーザー入力フォームの構成。" }, "file_upload": { "type": "object", "properties": { "image": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "number_limits": { "type": "integer" }, "transfer_methods": { "type": "array", "items": { "type": "string", "enum": ["remote_url", "local_file"] } } }, "description": "画像設定。サポートされている画像タイプ:`png`, `jpg`, `jpeg`, `webp`, `gif`。" } }, "description": "ファイルアップロード構成。" }, "system_parameters": { "type": "object", "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)。" } }, "description": "システムパラメータ。" } } },
|
||
"UserInputFormItemJa": { "type": "object", "description": "ユーザー入力フォーム内のコントロール項目。", "oneOf": [ { "$ref": "#/components/schemas/TextInputControlWrapperJa" }, { "$ref": "#/components/schemas/ParagraphControlWrapperJa" }, { "$ref": "#/components/schemas/SelectControlWrapperJa" } ] },
|
||
"TextInputControlWrapperJa": { "type": "object", "properties": { "text-input": { "$ref": "#/components/schemas/TextInputControlJa" } }, "required":["text-input"] },
|
||
"ParagraphControlWrapperJa": { "type": "object", "properties": { "paragraph": { "$ref": "#/components/schemas/ParagraphControlJa" } }, "required":["paragraph"] },
|
||
"SelectControlWrapperJa": { "type": "object", "properties": { "select": { "$ref": "#/components/schemas/SelectControlJa" } }, "required":["select"] },
|
||
"TextInputControlJa": { "type": "object", "description": "テキスト入力コントロール。", "required": ["label", "variable", "required"], "properties": { "label": { "type": "string", "description": "変数表示ラベル名。" }, "variable": { "type": "string", "description": "変数ID。" }, "required": { "type": "boolean", "description": "必須かどうか。" }, "default": { "type": "string", "nullable": true, "description": "デフォルト値。" } } },
|
||
"ParagraphControlJa": { "type": "object", "description": "段落テキスト入力コントロール。", "required": ["label", "variable", "required"], "properties": { "label": { "type": "string", "description": "変数表示ラベル名。" }, "variable": { "type": "string", "description": "変数ID。" }, "required": { "type": "boolean", "description": "必須かどうか。" }, "default": { "type": "string", "nullable": true, "description": "デフォルト値。" } } },
|
||
"SelectControlJa": { "type": "object", "description": "ドロップダウンコントロール。", "required": ["label", "variable", "required", "options"], "properties": { "label": { "type": "string", "description": "変数表示ラベル名。" }, "variable": { "type": "string", "description": "変数ID。" }, "required": { "type": "boolean", "description": "必須かどうか。" }, "default": { "type": "string", "nullable": true, "description": "デフォルト値。" }, "options": { "type": "array", "items": { "type": "string" }, "description": "オプション値。" } } },
|
||
"AppMetaResponseJa": { "type": "object", "description": "アプリケーションのメタ情報。", "properties": { "tool_icons": { "type": "object", "additionalProperties": { "oneOf": [ { "type": "string", "format": "url", "description": "アイコンのURL。" }, { "$ref": "#/components/schemas/ToolIconDetailJa" } ] }, "description": "ツールアイコン。キーはツール名です。" } } },
|
||
"ToolIconDetailJa": { "type": "object", "description": "ツールアイコンの詳細。", "properties": { "background": { "type": "string", "description": "背景色(16進数形式)。" }, "content": { "type": "string", "description": "絵文字。" } } },
|
||
"WebAppSettingsResponseJa": { "type": "object", "description": "アプリのWebApp設定。", "properties": { "title": { "type": "string", "description": "WebApp名。" }, "chat_color_theme": { "type": "string", "description": "チャットの色テーマ、16進数形式。" }, "chat_color_theme_inverted": { "type": "boolean", "description": "チャットの色テーマを反転するかどうか。" }, "icon_type": { "type": "string", "enum": ["emoji", "image"], "description": "アイコンタイプ。" }, "icon": { "type": "string", "description": "アイコン内容(絵文字または画像URL)。" }, "icon_background": { "type": "string", "description": "16進数形式の背景色。" }, "icon_url": { "type": "string", "format": "url", "nullable": true, "description": "アイコンのURL。" }, "description": { "type": "string", "description": "説明。" }, "copyright": { "type": "string", "description": "著作権情報。" }, "privacy_policy": { "type": "string", "description": "プライバシーポリシーのリンク。" }, "custom_disclaimer": { "type": "string", "description": "カスタム免責事項。" }, "default_language": { "type": "string", "description": "デフォルト言語。" }, "show_workflow_steps": { "type": "boolean", "description": "ワークフローの詳細を表示するかどうか。" }, "use_icon_as_answer_icon": { "type": "boolean", "description": "WebAppのアイコンをチャット内の🤖に置き換えるかどうか。" } } },
|
||
"ErrorResponseJa": { "type": "object", "description": "エラー応答。", "properties": { "status": { "type": "integer", "nullable": true, "description": "HTTPステータスコード。" }, "code": { "type": "string", "nullable": true, "description": "エラーコード。" }, "message": { "type": "string", "description": "エラーメッセージ。" } } }
|
||
}
|
||
},
|
||
"tags": [
|
||
{ "name": "チャットメッセージ", "description": "チャットメッセージと対話に関連する操作。" },
|
||
{ "name": "ファイル操作", "description": "ファイルアップロードとプレビューに関連する操作。" },
|
||
{ "name": "メッセージフィードバック", "description": "ユーザーからのメッセージフィードバック操作。" },
|
||
{ "name": "会話管理", "description": "会話セッションの管理に関連する操作。" },
|
||
{ "name": "音声とテキスト変換", "description": "テキストから音声、音声からテキストへの変換操作。" },
|
||
{ "name": "アプリケーション設定", "description": "アプリケーション設定と情報の取得に関連する操作。" }
|
||
]
|
||
} |