メタデータフィールドの作成
メタデータフィールドの作成
メタデータフィールドを一括作成します。knowledge_base_id を指定しない場合は、Agent 配下のすべてのドキュメントに適用されるグローバルフィールドが作成されます。指定した場合は、対象のナレッジベース内だけで使用できるフィールドが作成されます。name と display_label はどちらも一意である必要があります。
バッチルール:
一度に最大 50 個まで作成でき、50 個を超えるとバッチ全体が処理されません。
リクエスト内で name が重複する場合、最初の項目のみが処理され、以降の重複項目は失敗します。
既存フィールドと競合する場合、競合した項目のみが失敗し、その他の項目は通常どおり作成されます。
リクエストメソッド
POST
エンドポイント
https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create
認証
認証方法については、API 概要を参照してください。
リクエスト
リクエスト例
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"knowledge_base_id": "kb_001",
"fields": [
{
"name": "category",
"display_label": "カテゴリ",
"type": "LIST",
"options": ["技術", "製品"],
"description": "ドキュメントカテゴリ",
"ai_search_filter": true
}
]
}'
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"knowledge_base_id": "kb_001",
"fields": [
{
"name": "category",
"display_label": "カテゴリ",
"type": "LIST",
"options": ["技術", "製品"],
"description": "ドキュメントカテゴリ",
"ai_search_filter": true
}
]
}'
このコードブロックをポップアップで表示
リクエストヘッダー
| フィールド | 型 | 説明 |
|---|---|---|
| Authorization | Bearer ${API Key} | Authorization: Bearer ${API Key} で認証します。API キーページで API Key を取得してください。 |
| Content-Type | application/json | データ型。application/json に設定します。 |
リクエストパラメータ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| knowledge_base_id | String | いいえ | 未指定の場合はグローバルフィールド(Agent 配下のすべてのドキュメントに適用)、指定した場合は対象ナレッジベース専用のフィールドになります。ナレッジベースは現在の API Key に関連付けられた Agent に属している必要があり、属していない場合は knowledge_base_id not found が返されます。 |
| fields | Array<Object> | はい | 作成するフィールドのリスト (一度に最大 50 個)。 |
| name | String | はい | フィールドの内部識別子。形式は ^[a-z][a-z0-9_]{0,31}$(小文字で始まり、長さ 1~32 文字)で、一意である必要があります。 |
| display_label | String | はい | フィールド表示名、最大 64 文字、一意。 |
| type | String | はい | フィールドタイプ: STRING / NUMBER / DATETIME / LIST (大文字と小文字が区別されます)。 |
| options | Array<String> | いいえ | 列挙オプション。type が LIST の場合は必須で、空の配列は指定できません。 |
| description | String | いいえ | フィールドの説明 (最大 50 文字)。 |
| ai_search_filter | Boolean | いいえ | AI Search フィルター フィールドとして使用するかどうか。 |
レスポンス
レスポンス例
{
"success_count": 1,
"failure_count": 2,
"results": [
{
"name": "category",
"success": true,
"id": "665f1c8a9b2e4d001a3f0001"
},
{
"name": "priority",
"success": false,
"error_message": "name or display_label already exists"
},
{
"name": "category",
"success": false,
"error_message": "duplicate name in request"
}
]
}
{
"success_count": 1,
"failure_count": 2,
"results": [
{
"name": "category",
"success": true,
"id": "665f1c8a9b2e4d001a3f0001"
},
{
"name": "priority",
"success": false,
"error_message": "name or display_label already exists"
},
{
"name": "category",
"success": false,
"error_message": "duplicate name in request"
}
]
}
このコードブロックをポップアップで表示
成功レスポンス
| フィールド | 型 | 説明 |
|---|---|---|
| success_count | Integer | 正常に作成されたフィールドの数。 |
| failure_count | Integer | 作成に失敗したフィールドの数。 |
| results | Array<Object> | リクエスト順に返されるフィールドごとの結果。 |
| name | String | フィールド名。 |
| success | Boolean | 正常に作成されたかどうか。 |
| id | String | システム生成フィールド ID (成功時に返され、編集/削除時に使用されます)。 |
| error_message | String | 失敗の理由: name or display_label already exists (name または display_label が既存のフィールドと競合) / duplicate name in request (リクエスト内で重複) / field limit exceeded (フィールドの合計数の上限を超えています)。 |
エラーレスポンス
| フィールド | 型 | 説明 |
|---|---|---|
| code | Integer | エラーコード。 |
| message | String | エラーの詳細。 |
