ドキュメントのメタデータ値を更新する
ドキュメントのメタデータ値を更新する
指定したドキュメントのメタデータ値を更新します。ドキュメントはドキュメント ID、フィールドはフィールド名で識別します。更新は差分マージ方式で、指定したフィールドのみが変更され、指定していないフィールドはそのまま保持されます。フィールド値に空文字列 "" を指定すると、そのフィールドの値がクリアされます。1 回のリクエストで最大 50 件のドキュメントを更新できます。
リクエストメソッド
PUT
エンドポイント
https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/update
認証
認証方法については、API 概要を参照してください。
リクエスト
リクエスト例
curl -X PUT 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/update' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"documents": [
{
"doc_id": "doc_001",
"metadata": { "category": "技術", "priority": "P1" }
},
{
"doc_id": "doc_002",
"metadata": { "category": "製品", "priority": "" }
}
]
}'
curl -X PUT 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/update' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"documents": [
{
"doc_id": "doc_001",
"metadata": { "category": "技術", "priority": "P1" }
},
{
"doc_id": "doc_002",
"metadata": { "category": "製品", "priority": "" }
}
]
}'
このコードブロックをポップアップで表示
リクエストヘッダー
| フィールド | 型 | 説明 |
|---|---|---|
| Authorization | Bearer ${API Key} | Authorization: Bearer ${API Key} で認証します。API キーページで API Key を取得してください。 |
| Content-Type | application/json | データ型。application/json に設定します。 |
リクエストパラメータ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| documents | Array<Object> | はい | 更新するドキュメントのリスト (一度に最大 50 件)。 |
| doc_id | String | はい | ドキュメント ID。 |
| metadata | Object | いいえ | 「フィールド名→値」。空の文字列を指定するとフィールド値がクリアされ、未送信のフィールドは変更されません。フィールド名は、ドキュメントの範囲内で定義されたフィールドである必要があります。 |
注意: LIST タイプのフィールドには、
optionsで定義された値のみ指定できます。それ以外の値を指定すると、そのドキュメント項目はfield 'x' contains value not in optionsで失敗します。同じリクエスト内では、同一doc_idの同一メタデータキーは最初に指定された値だけが更新され、その重複キーを含む後続のドキュメント項目全体はduplicate metadata key 'x' for doc_id 'y'; only the first value is appliedで失敗します。doc_idは現在の API Key に関連付けられた Agent に属している必要があり、属していない場合はdoc not foundが返されます。
レスポンス
レスポンス例
{
"success_count": 1,
"failure_count": 2,
"results": [
{
"doc_id": "doc_001",
"success": true
},
{
"doc_id": "doc_002",
"success": false,
"error_message": "field 'priority2' is not defined"
},
{
"doc_id": "doc_003",
"success": false,
"error_message": "doc not found"
}
]
}
{
"success_count": 1,
"failure_count": 2,
"results": [
{
"doc_id": "doc_001",
"success": true
},
{
"doc_id": "doc_002",
"success": false,
"error_message": "field 'priority2' is not defined"
},
{
"doc_id": "doc_003",
"success": false,
"error_message": "doc not found"
}
]
}
このコードブロックをポップアップで表示
成功レスポンス
| フィールド | 型 | 説明 |
|---|---|---|
| success_count | Integer | 正常に更新されたドキュメントの数。 |
| failure_count | Integer | 更新に失敗したドキュメントの数。 |
| results | Array<Object> | ドキュメントごとの結果。 |
| doc_id | String | ドキュメント ID。 |
| success | Boolean | 更新が成功したかどうか。 |
| error_message | String | 失敗理由の例:doc not found(ドキュメントが存在しない、または現在の Agent に属していない)、field 'x' is not defined(フィールド名が未定義)、field 'x' contains value not in options(LIST の値が選択肢に含まれていない)、duplicate metadata key 'x' for doc_id 'y'; only the first value is applied(リクエスト内でフィールドが重複し、最初の値が適用された)。 |
エラーレスポンス
| フィールド | 型 | 説明 |
|---|---|---|
| code | Integer | エラーコード。 |
| message | String | エラーの詳細。 |
