Chat Log API
概要: RAG API の対話履歴を取得・管理するAPIです。チャット一覧の取得、特定チャットのメッセージ全文取得、タイトル更新、メッセージへのフィードバック送信が可能です。
chatlog_idは RAG API のレスポンスに含まれており、これを次回以降のchatlog_idとして渡すことで会話を継続できます。
GET /v1/user/chatlog
ユーザー(または指定スペース)に紐づくチャットログの一 覧を取得します。
GET /v1/user/chatlog
Headers
api-key: string(required) - rokadoc APIキー
Query Parameters
必須パラメータ
なし
オプショナルパラメータ
space_id: string(optional) - スペース機能を利用する場合はスペースIDを指定
Request Example
- Python
- curl
import requests
import os
api_key = os.getenv("ROKADOC_API_KEY")
url = "https://api.rokadoc.ntt.com/v1/user/chatlog"
headers = {"api-key": api_key}
response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
"https://api.rokadoc.ntt.com/v1/user/chatlog" \
-H "api-key: ${ROKADOC_API_KEY}"
Response
200 OK - チャットログ一覧取得成功
{
"code": 200,
"data": [
{
"chat_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"chat_title": "NTTドコモビジネスの社名変更時期",
"created_at": "2026-04-28T01:11:41.061048+00:00",
"updated_at": "2026-04-28T01:11:46.332288+00:00"
}
]
}
code: integer - ステータスコードdata: array - チャットログ情報の配列chat_id: string - チャットログID(RAG API のchatlog_idと同一)chat_title: string|null - 自動生成されたチャットタイトル(初回応答前は null)created_at: string - 作成日時(ISO 8601形式)updated_at: string - 最終更新日時(ISO 8601形式)
注意事項
chat_titleは RAG API の最初の応答時に LLM が自動生成するため、それまでは null です- スペースを指定した場合、そのスペース内で自分が作成したチャットのみが返却されます
GET /v1/user/chatlog/{chatlog_id}
特定のチャットログの詳細(メッセージ履歴とハイライト要素)を取得します。
GET /v1/user/chatlog/{chatlog_id}
Headers
api-key: string(required) - rokadoc APIキー
必須パラメータ
chatlog_id: string(required) - チャットログID(パスパラメータ)
オプショナルパラメータ
space_id: string(optional) - スペース機能を利用する場合はスペースIDを指定space_admin: boolean(optional) - スペース管理者として他ユーザーのチャットを参照する場合はtrue(管理者権限が必要、デフォルト: false)
Request Example
- Python
- curl
import requests
import os
api_key = os.getenv("ROKADOC_API_KEY")
chatlog_id = os.getenv("CHATLOG_ID")
url = f"https://api.rokadoc.ntt.com/v1/user/chatlog/{chatlog_id}"
headers = {"api-key": api_key}
response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
"https://api.rokadoc.ntt.com/v1/user/chatlog/${CHATLOG_ID}" \
-H "api-key: ${ROKADOC_API_KEY}"
Response
200 OK - チャットログ詳細取得成功
{
"code": 200,
"data": {
"chat_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"chat_title": "サンプル質問のタイトル",
"messages": [
{
"id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"content": "rokadocとは何ですか",
"role": "user",
"feedback": null,
"chat_user_id": "xxxxxxxxxxxx",
"references": [],
"created_at": "2026-04-28T01:11:41.061048+09:00"
},
{
"id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"content": "<アシスタ ントによる回答>",
"role": "ai_assistant",
"feedback": null,
"chat_user_id": "xxxxxxxxxxxx",
"references": [
{
"id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"content": "<参照されたチャンクのテキスト>",
"page": "1",
"conversion_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"highlight_reading_orders": [],
"score": 3.0513556003570557,
"created_at": "2026-04-28T01:11:46.332288+09:00"
}
],
"created_at": "2026-04-28T01:11:46.332288+09:00"
}
],
"highlight_elements_list": [
[
{
"type": "text",
"coordinates": [[73.7, 333.4], [2445.7, 815.4]],
"text": "<該当elementに含まれるテキスト>",
"page": 1,
"reading_order": 2,
"element_id": "xxxx__1__2",
"chat_message_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"conversion_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"pdf_name": "sample.pdf",
"page_width": 2550,
"page_height": 3300,
"score": 3.05
}
]
]
}
}
code: integer - ステータスコードdata.chat_id: string - チャットログIDdata.chat_title: string|null - チャットタイトルdata.messages: array - メッセージ履歴(時系列順)id: string - メッセージIDcontent: string - メッセージ本文role: string - 発話者ロール(userまたはai_assistant)feedback: string|null - フィードバック(good/bad/ null)chat_user_id: string - 発話者のユーザーIDreferences: array - RAGで参照されたドキュメントチャンク(roleがai_assistantの場合のみ設定)id: string - 参照IDcontent: string - 参照されたチャンクテキストpage: string - 該当ページ番号conversion_id: string - 変換IDhighlight_reading_orders: array - ハイライトされた要素のreading_order配列score: float - 類似度スコアcreated_at: string - 作成日時
created_at: string - メッセージ作成日時
data.highlight_elements_list: array of array - 各ai_assistantメッセージに対応するハイライト要素のリスト(RAG API のhighlight_elementsと同形式)
404 Not Found - チャットログが存在しない、または権限がない
{
"error": {
"code": 404,
"message": "Not Found",
"details": "リソースが見つかりませんでした。"
}
}
注意事項
- 自分が作成していないチャットログは取得できません(
space_admin=trueでスペース管理権限がある場合を除く) highlight_elements_listの各要素は、messagesの中のai_assistantメッセージと順序対応します
PUT /v1/user/chatlog/{chatlog_id}
チャットログのタイトルを更新します。
PUT /v1/user/chatlog/{chatlog_id}
Headers
api-key: string(required) - rokadoc APIキー
Request Body (multipart/form-data)
必須パラメータ
chatlog_id: string(required) - チャットログID(パスパラメータ)
オプショナルパラメータ
chatlog_title: string(optional) - 新しいタイトルspace_id: string(optional) - スペース機能を利用する場合はスペースIDを指定
Request Example
- Python
- curl
import requests
import os
api_key = os.getenv("ROKADOC_API_KEY")
chatlog_id = os.getenv("CHATLOG_ID")
url = f"https://api.rokadoc.ntt.com/v1/user/chatlog/{chatlog_id}"
headers = {"api-key": api_key}
data = {"chatlog_title": "決算資料に関するQ&A"}
response = requests.put(url, headers=headers, data=data)
print(response.json())
curl -X 'PUT' \
"https://api.rokadoc.ntt.com/v1/user/chatlog/${CHATLOG_ID}" \
-H "api-key: ${ROKADOC_API_KEY}" \
-F "chatlog_title=決算資料に関するQ&A"
Response
200 OK - 更新成功
{
"code": 200,
"data": {
"chat_id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"chat_title": "決算資料に関するQ&A",
"messages": [
"..."
]
}
}