Skip to main content
POST
/
datasets
空のナレッジベースを作成
curl --request POST \
  --url https://{api_base_url}/datasets \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "description": "",
  "permission": "only_me",
  "provider": "vendor",
  "embedding_model": "<string>",
  "embedding_model_provider": "<string>",
  "external_knowledge_api_id": "<string>",
  "external_knowledge_id": "<string>",
  "summary_index_setting": {
    "enable": true,
    "model_name": "<string>",
    "model_provider_name": "<string>",
    "summary_prompt": "<string>"
  }
}
'
import requests

url = "https://{api_base_url}/datasets"

payload = {
"name": "<string>",
"description": "",
"permission": "only_me",
"provider": "vendor",
"embedding_model": "<string>",
"embedding_model_provider": "<string>",
"external_knowledge_api_id": "<string>",
"external_knowledge_id": "<string>",
"summary_index_setting": {
"enable": True,
"model_name": "<string>",
"model_provider_name": "<string>",
"summary_prompt": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '',
permission: 'only_me',
provider: 'vendor',
embedding_model: '<string>',
embedding_model_provider: '<string>',
external_knowledge_api_id: '<string>',
external_knowledge_id: '<string>',
summary_index_setting: {
enable: true,
model_name: '<string>',
model_provider_name: '<string>',
summary_prompt: '<string>'
}
})
};

fetch('https://{api_base_url}/datasets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_base_url}/datasets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '',
'permission' => 'only_me',
'provider' => 'vendor',
'embedding_model' => '<string>',
'embedding_model_provider' => '<string>',
'external_knowledge_api_id' => '<string>',
'external_knowledge_id' => '<string>',
'summary_index_setting' => [
'enable' => true,
'model_name' => '<string>',
'model_provider_name' => '<string>',
'summary_prompt' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://{api_base_url}/datasets"

payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://{api_base_url}/datasets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://{api_base_url}/datasets")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"permission\": \"only_me\",\n \"provider\": \"vendor\",\n \"embedding_model\": \"<string>\",\n \"embedding_model_provider\": \"<string>\",\n \"external_knowledge_api_id\": \"<string>\",\n \"external_knowledge_id\": \"<string>\",\n \"summary_index_setting\": {\n \"enable\": true,\n \"model_name\": \"<string>\",\n \"model_provider_name\": \"<string>\",\n \"summary_prompt\": \"<string>\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "id": "c42e2a6e-40b3-4330-96f8-f1e4d768e8c9",
  "name": "Product Documentation",
  "description": "プロダクト API 技術ドキュメント",
  "provider": "vendor",
  "permission": "only_me",
  "data_source_type": null,
  "indexing_technique": "high_quality",
  "app_count": 0,
  "document_count": 0,
  "word_count": 0,
  "created_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
  "author_name": "admin",
  "created_at": 1741267200,
  "updated_by": "ad313dd6-ef04-4dd1-a5b0-c0f0b9e2e7e4",
  "updated_at": 1741267200,
  "embedding_model": "text-embedding-3-small",
  "embedding_model_provider": "openai",
  "embedding_available": true,
  "retrieval_model_dict": {
    "search_method": "semantic_search",
    "reranking_enable": false,
    "reranking_mode": null,
    "reranking_model": {
      "reranking_provider_name": "",
      "reranking_model_name": ""
    },
    "weights": null,
    "top_k": 3,
    "score_threshold_enabled": false,
    "score_threshold": null
  },
  "tags": [],
  "doc_form": "text_model",
  "external_knowledge_info": null,
  "external_retrieval_model": null,
  "doc_metadata": [],
  "built_in_field_enabled": true,
  "pipeline_id": null,
  "runtime_mode": null,
  "chunk_structure": null,
  "icon_info": null,
  "summary_index_setting": null,
  "is_published": false,
  "total_documents": 0,
  "total_available_documents": 0,
  "enable_api": true,
  "is_multimodal": false,
  "maintainer": "admin"
}
{
"status": 403,
"code": "forbidden",
"message": "Sorry, you have reached the knowledge base request rate limit of your subscription."
}
{
"status": 409,
"code": "dataset_name_duplicate",
"message": "The dataset name already exists. Please modify your dataset name."
}

Authorizations

Authorization
string
header
required

API Key 認証です。すべての API リクエストにおいて、Authorization HTTP ヘッダーに Bearer プレフィックスを付けた API Key を含めてください。例:Authorization: Bearer {API_KEY}API Key はサーバーサイドに保存し、クライアントサイドで共有・保存しないことを強く推奨します。API Key の漏洩は深刻な結果につながる可能性があります。API Key が欠落または無効な場合、HTTP 401 とエラーコード unauthorized が返されます。

Body

application/json
name
string
required

ナレッジベース名。

Required string length: 1 - 40
description
string
default:""

ナレッジベースの説明です。

Maximum string length: 400
indexing_technique
enum<string> | null

high_quality は埋め込みモデルを使用した精密検索、economy はキーワードベースのインデキシングです。

Available options:
high_quality,
economy
permission
enum<string>
default:only_me

このナレッジベースにアクセスできるユーザーを制御します。only_me は作成者のみに制限、all_team_members はワークスペース全体にアクセスを許可、partial_members は指定されたメンバーにアクセスを許可します。

Available options:
only_me,
all_team_members,
partial_members
provider
enum<string>
default:vendor

vendor は内部ナレッジベース、external は外部ナレッジベースです。

Available options:
vendor,
external
embedding_model
string

埋め込みモデル名です。利用可能なモデルを取得model_type=text-embedding を指定した際の model フィールドの値を使用します。

embedding_model_provider
string

埋め込みモデルプロバイダーです。利用可能なモデルを取得model_type=text-embedding を指定した際の provider フィールドの値を使用します。

retrieval_model
object

検索モデルの設定です。このナレッジベースをクエリする際のチャンクの検索方法とランキング方法を制御します。

external_knowledge_api_id
string

外部ナレッジ API 接続の ID です。

external_knowledge_id
string

外部ナレッジベースの ID です。

summary_index_setting
object | null

サマリーインデックスの設定です。

Response

ナレッジベースが正常に作成されました。

id
string

ナレッジベースの一意識別子です。

name
string

ナレッジベースの表示名です。ワークスペース内で一意です。

description
string

ナレッジベースの目的または内容を説明するオプションのテキストです。

provider
string

プロバイダータイプです。内部管理の場合は vendor、外部ナレッジベース接続の場合は external です。

permission
string

このナレッジベースにアクセスできるユーザーを制御します。指定可能な値:only_meall_team_memberspartial_members

data_source_type
string

ドキュメントのデータソースタイプです。まだ設定されていない場合は null です。

indexing_technique
string

high_quality は埋め込みモデルを使用した精密検索、economy はキーワードベースのインデキシングです。

app_count
integer

現在このナレッジベースを使用しているアプリケーションの数です。

document_count
integer

ナレッジベース内のドキュメント総数です。

word_count
integer

全ドキュメントの合計単語数です。

created_by
string

ナレッジベースを作成したユーザーの ID です。

author_name
string

作成者の表示名です。

created_at
number

作成タイムスタンプ(Unix エポック、秒単位)です。

updated_by
string

ナレッジベースを最後に更新したユーザーの ID です。

updated_at
number

最終更新タイムスタンプ(Unix エポック、秒単位)です。

embedding_model
string

インデックス作成に使用される埋め込みモデルの名前です。

embedding_model_provider
string

埋め込みモデルプロバイダーです。利用可能なモデルを取得model_type=text-embedding を指定した際の provider フィールドの値を使用します。

embedding_available
boolean

設定された埋め込みモデルが現在利用可能かどうかです。

retrieval_model_dict
object

ナレッジベースの検索設定です。

summary_index_setting
object | null

サマリーインデックスの設定です。

tags
object[]

このナレッジベースに関連付けられたタグです。

doc_form
string

ドキュメントのチャンキングモードです。text_model は標準テキストチャンキング、hierarchical_model は親子構造、qa_model は QA ペア抽出を示します。

external_knowledge_info
object | null

外部ナレッジベースの接続詳細です。providerexternal の場合に存在します。

external_retrieval_model
object | null

外部ナレッジベースの検索設定です。内部ナレッジベースの場合は null です。

doc_metadata
object[]

ナレッジベースのメタデータフィールド定義です。

built_in_field_enabled
boolean

組み込みメタデータフィールド(例:document_nameuploader)が有効かどうかです。

pipeline_id
string | null

カスタム処理パイプラインが設定されている場合のパイプライン ID です。

runtime_mode
string | null

ランタイム処理モードです。

chunk_structure
string | null

チャンク構造の設定です。

icon_info
object | null

ナレッジベースのアイコン表示設定です。

is_published
boolean

ナレッジベースが公開済みかどうかです。

total_documents
integer

ドキュメントの合計数です。

total_available_documents
integer

有効で利用可能なドキュメントの数です。

enable_api
boolean

このナレッジベースで API アクセスが有効かどうかです。

is_multimodal
boolean

マルチモーダルコンテンツ処理が有効かどうかです。

maintainer
string | null

ナレッジベースのメンテナーの表示名です。設定されていない場合は null です。

partial_member_list
string[] | null

permissionpartial_members の場合にアクセスを許可されたメンバーのアカウント ID です。更新レスポンスでは常に含まれ、詳細レスポンスでは permissionpartial_members の場合にのみ含まれます。

Last modified on July 9, 2026