import { CodeGroup } from '@/app/components/develop/code.tsx' import { Row, Col, Properties, Property, Heading, SubProperty, PropertyInstruction, Paragraph } from '@/app/components/develop/md.tsx' # Knowledge API
### Authentication Service API of Dify authenticates using an `API-Key`. It is suggested that developers store the `API-Key` in the backend instead of sharing or storing it in the client side to avoid the leakage of the `API-Key`, which may lead to property loss. All API requests should include your `API-Key` in the **`Authorization`** HTTP Header, as shown below: ```javascript Authorization: Bearer {API_KEY} ```

This API is based on an existing knowledge and creates a new document through text based on this knowledge. ### Params Knowledge ID ### Request Body Document name Document content Index mode - high_quality High quality: embedding using embedding model, built as vector database index - economy Economy: Build using inverted index of keyword table index Format of indexed content - text_model Text documents are directly embedded; `economy` mode defaults to using this form - hierarchical_model Parent-child mode - qa_model Q&A Mode: Generates Q&A pairs for segmented documents and then embeds the questions In Q&A mode, specify the language of the document, for example: English, Chinese Processing rules - mode (string) Cleaning, segmentation mode, automatic / custom - rules (object) Custom rules (in automatic mode, this field is empty) - pre_processing_rules (array[object]) Preprocessing rules - id (string) Unique identifier for the preprocessing rule - enumerate - remove_extra_spaces Replace consecutive spaces, newlines, tabs - remove_urls_emails Delete URL, email address - enabled (bool) Whether to select this rule or not. If no document ID is passed in, it represents the default value. - segmentation (object) Segmentation rules - separator Custom segment identifier, currently only allows one delimiter to be set. Default is \n - max_tokens Maximum length (token) defaults to 1000 - parent_mode Retrieval mode of parent chunks: full-doc full text retrieval / paragraph paragraph retrieval - subchunk_segmentation (object) Child chunk rules - separator Segmentation identifier. Currently, only one delimiter is allowed. The default is *** - max_tokens The maximum length (tokens) must be validated to be shorter than the length of the parent chunk - chunk_overlap Define the overlap between adjacent chunks (optional) When no parameters are set for the knowledge base, the first upload requires the following parameters to be provided; if not provided, the default parameters will be used. Retrieval model - search_method (string) Search method - hybrid_search Hybrid search - semantic_search Semantic search - full_text_search Full-text search - reranking_enable (bool) Whether to enable reranking - reranking_mode (object) Rerank model configuration - reranking_provider_name (string) Rerank model provider - reranking_model_name (string) Rerank model name - top_k (int) Number of results to return - score_threshold_enabled (bool) Whether to enable score threshold - score_threshold (float) Score threshold Embedding model name Embedding model provider ```bash {{ title: 'cURL' }} curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/document/create-by-text' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "text", "text": "text", "indexing_technique": "high_quality", "process_rule": { "mode": "automatic" } }' ``` ```json {{ title: 'Response' }} { "document": { "id": "", "position": 1, "data_source_type": "upload_file", "data_source_info": { "upload_file_id": "" }, "dataset_process_rule_id": "", "name": "text.txt", "created_from": "api", "created_by": "", "created_at": 1695690280, "tokens": 0, "indexing_status": "waiting", "error": null, "enabled": true, "disabled_at": null, "disabled_by": null, "archived": false, "display_status": "queuing", "word_count": 0, "hit_count": 0, "doc_form": "text_model" }, "batch": "" } ```
This API is based on an existing knowledge and creates a new document through a file based on this knowledge. ### Params Knowledge ID ### Request Body - original_document_id Source document ID (optional) - Used to re-upload the document or modify the document cleaning and segmentation configuration. The missing information is copied from the source document - The source document cannot be an archived document - When original_document_id is passed in, the update operation is performed on behalf of the document. process_rule is a fillable item. If not filled in, the segmentation method of the source document will be used by default - When original_document_id is not passed in, the new operation is performed on behalf of the document, and process_rule is required - indexing_technique Index mode - high_quality High quality: embedding using embedding model, built as vector database index - economy Economy: Build using inverted index of keyword table index - doc_form Format of indexed content - text_model Text documents are directly embedded; `economy` mode defaults to using this form - hierarchical_model Parent-child mode - qa_model Q&A Mode: Generates Q&A pairs for segmented documents and then embeds the questions - doc_language In Q&A mode, specify the language of the document, for example: English, Chinese - process_rule Processing rules - mode (string) Cleaning, segmentation mode, automatic / custom - rules (object) Custom rules (in automatic mode, this field is empty) - pre_processing_rules (array[object]) Preprocessing rules - id (string) Unique identifier for the preprocessing rule - enumerate - remove_extra_spaces Replace consecutive spaces, newlines, tabs - remove_urls_emails Delete URL, email address - enabled (bool) Whether to select this rule or not. If no document ID is passed in, it represents the default value. - segmentation (object) Segmentation rules - separator Custom segment identifier, currently only allows one delimiter to be set. Default is \n - max_tokens Maximum length (token) defaults to 1000 - parent_mode Retrieval mode of parent chunks: full-doc full text retrieval / paragraph paragraph retrieval - subchunk_segmentation (object) Child chunk rules - separator Segmentation identifier. Currently, only one delimiter is allowed. The default is *** - max_tokens The maximum length (tokens) must be validated to be shorter than the length of the parent chunk - chunk_overlap Define the overlap between adjacent chunks (optional) Files that need to be uploaded. When no parameters are set for the knowledge base, the first upload requires the following parameters to be provided; if not provided, the default parameters will be used. Retrieval model - search_method (string) Search method - hybrid_search Hybrid search - semantic_search Semantic search - full_text_search Full-text search - reranking_enable (bool) Whether to enable reranking - reranking_mode (object) Rerank model configuration - reranking_provider_name (string) Rerank model provider - reranking_model_name (string) Rerank model name - top_k (int) Number of results to return - score_threshold_enabled (bool) Whether to enable score threshold - score_threshold (float) Score threshold Embedding model name Embedding model provider ```bash {{ title: 'cURL' }} curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/document/create-by-file' \ --header 'Authorization: Bearer {api_key}' \ --form 'data="{\"name\":\"Dify\",\"indexing_technique\":\"high_quality\",\"process_rule\":{\"rules\":{\"pre_processing_rules\":[{\"id\":\"remove_extra_spaces\",\"enabled\":true},{\"id\":\"remove_urls_emails\",\"enabled\":true}],\"segmentation\":{\"separator\":\"###\",\"max_tokens\":500}},\"mode\":\"custom\"}}";type=text/plain' \ --form 'file=@"/path/to/file"' ``` ```json {{ title: 'Response' }} { "document": { "id": "", "position": 1, "data_source_type": "upload_file", "data_source_info": { "upload_file_id": "" }, "dataset_process_rule_id": "", "name": "Dify.txt", "created_from": "api", "created_by": "", "created_at": 1695308667, "tokens": 0, "indexing_status": "waiting", "error": null, "enabled": true, "disabled_at": null, "disabled_by": null, "archived": false, "display_status": "queuing", "word_count": 0, "hit_count": 0, "doc_form": "text_model" }, "batch": "" } ```
### Request Body Knowledge name Knowledge description (optional) Index technique (optional) - high_quality High quality - economy Economy Permission - only_me Only me - all_team_members All team members - partial_members Partial members Provider (optional, default: vendor) - vendor Vendor - external External knowledge External knowledge API ID (optional) External knowledge ID (optional) ```bash {{ title: 'cURL' }} curl --location --request POST '${apiBaseUrl}/v1/datasets' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "name", "permission": "only_me" }' ``` ```json {{ title: 'Response' }} { "id": "", "name": "name", "description": null, "provider": "vendor", "permission": "only_me", "data_source_type": null, "indexing_technique": null, "app_count": 0, "document_count": 0, "word_count": 0, "created_by": "", "created_at": 1695636173, "updated_by": "", "updated_at": 1695636173, "embedding_model": null, "embedding_model_provider": null, "embedding_available": null } ```
### Query Page number Number of items returned, default 20, range 1-100 ```bash {{ title: 'cURL' }} curl --location --request GET '${props.apiBaseUrl}/datasets?page=1&limit=20' \ --header 'Authorization: Bearer {api_key}' ``` ```json {{ title: 'Response' }} { "data": [ { "id": "", "name": "name", "description": "desc", "permission": "only_me", "data_source_type": "upload_file", "indexing_technique": "", "app_count": 2, "document_count": 10, "word_count": 1200, "created_by": "", "created_at": "", "updated_by": "", "updated_at": "" }, ... ], "has_more": true, "limit": 20, "total": 50, "page": 1 } ```
### Params Knowledge ID ```bash {{ title: 'cURL' }} curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}' \ --header 'Authorization: Bearer {api_key}' ``` ```text {{ title: 'Response' }} 204 No Content ```
This API is based on an existing knowledge and updates the document through text based on this knowledge. ### Params Knowledge ID Document ID ### Request Body Document name (optional) Document content (optional) Processing rules - mode (string) Cleaning, segmentation mode, automatic / custom - rules (object) Custom rules (in automatic mode, this field is empty) - pre_processing_rules (array[object]) Preprocessing rules - id (string) Unique identifier for the preprocessing rule - enumerate - remove_extra_spaces Replace consecutive spaces, newlines, tabs - remove_urls_emails Delete URL, email address - enabled (bool) Whether to select this rule or not. If no document ID is passed in, it represents the default value. - segmentation (object) Segmentation rules - separator Custom segment identifier, currently only allows one delimiter to be set. Default is \n - max_tokens Maximum length (token) defaults to 1000 - parent_mode Retrieval mode of parent chunks: full-doc full text retrieval / paragraph paragraph retrieval - subchunk_segmentation (object) Child chunk rules - separator Segmentation identifier. Currently, only one delimiter is allowed. The default is *** - max_tokens The maximum length (tokens) must be validated to be shorter than the length of the parent chunk - chunk_overlap Define the overlap between adjacent chunks (optional) ```bash {{ title: 'cURL' }} curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/update-by-text' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "name", "text": "text" }' ``` ```json {{ title: 'Response' }} { "document": { "id": "", "position": 1, "data_source_type": "upload_file", "data_source_info": { "upload_file_id": "" }, "dataset_process_rule_id": "", "name": "name.txt", "created_from": "api", "created_by": "", "created_at": 1695308667, "tokens": 0, "indexing_status": "waiting", "error": null, "enabled": true, "disabled_at": null, "disabled_by": null, "archived": false, "display_status": "queuing", "word_count": 0, "hit_count": 0, "doc_form": "text_model" }, "batch": "" } ```
This API is based on an existing knowledge, and updates documents through files based on this knowledge ### Params Knowledge ID Document ID ### Request Body Document name (optional) Files to be uploaded Processing rules - mode (string) Cleaning, segmentation mode, automatic / custom - rules (object) Custom rules (in automatic mode, this field is empty) - pre_processing_rules (array[object]) Preprocessing rules - id (string) Unique identifier for the preprocessing rule - enumerate - remove_extra_spaces Replace consecutive spaces, newlines, tabs - remove_urls_emails Delete URL, email address - enabled (bool) Whether to select this rule or not. If no document ID is passed in, it represents the default value. - segmentation (object) Segmentation rules - separator Custom segment identifier, currently only allows one delimiter to be set. Default is \n - max_tokens Maximum length (token) defaults to 1000 - parent_mode Retrieval mode of parent chunks: full-doc full text retrieval / paragraph paragraph retrieval - subchunk_segmentation (object) Child chunk rules - separator Segmentation identifier. Currently, only one delimiter is allowed. The default is *** - max_tokens The maximum length (tokens) must be validated to be shorter than the length of the parent chunk - chunk_overlap Define the overlap between adjacent chunks (optional) ```bash {{ title: 'cURL' }} curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/update-by-file' \ --header 'Authorization: Bearer {api_key}' \ --form 'data="{\"name\":\"Dify\",\"indexing_technique\":\"high_quality\",\"process_rule\":{\"rules\":{\"pre_processing_rules\":[{\"id\":\"remove_extra_spaces\",\"enabled\":true},{\"id\":\"remove_urls_emails\",\"enabled\":true}],\"segmentation\":{\"separator\":\"###\",\"max_tokens\":500}},\"mode\":\"custom\"}}";type=text/plain' \ --form 'file=@"/path/to/file"' ``` ```json {{ title: 'Response' }} { "document": { "id": "", "position": 1, "data_source_type": "upload_file", "data_source_info": { "upload_file_id": "" }, "dataset_process_rule_id": "", "name": "Dify.txt", "created_from": "api", "created_by": "", "created_at": 1695308667, "tokens": 0, "indexing_status": "waiting", "error": null, "enabled": true, "disabled_at": null, "disabled_by": null, "archived": false, "display_status": "queuing", "word_count": 0, "hit_count": 0, "doc_form": "text_model" }, "batch": "20230921150427533684" } ```
### Params Knowledge ID Batch number of uploaded documents ```bash {{ title: 'cURL' }} curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{batch}/indexing-status' \ --header 'Authorization: Bearer {api_key}' \ ``` ```json {{ title: 'Response' }} { "data":[{ "id": "", "indexing_status": "indexing", "processing_started_at": 1681623462.0, "parsing_completed_at": 1681623462.0, "cleaning_completed_at": 1681623462.0, "splitting_completed_at": 1681623462.0, "completed_at": null, "paused_at": null, "error": null, "stopped_at": null, "completed_segments": 24, "total_segments": 100 }] } ```
### Params Knowledge ID Document ID ```bash {{ title: 'cURL' }} curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}' \ --header 'Authorization: Bearer {api_key}' \ ``` ```json {{ title: 'Response' }} { "result": "success" } ```
### Params Knowledge ID ### Query Search keywords, currently only search document names (optional) Page number (optional) Number of items returned, default 20, range 1-100 (optional) ```bash {{ title: 'cURL' }} curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents' \ --header 'Authorization: Bearer {api_key}' \ ``` ```json {{ title: 'Response' }} { "data": [ { "id": "", "position": 1, "data_source_type": "file_upload", "data_source_info": null, "dataset_process_rule_id": null, "name": "dify", "created_from": "", "created_by": "", "created_at": 1681623639, "tokens": 0, "indexing_status": "waiting", "error": null, "enabled": true, "disabled_at": null, "disabled_by": null, "archived": false }, ], "has_more": false, "limit": 20, "total": 9, "page": 1 } ```
### Params Knowledge ID Document ID ### Request Body - content (text) Text content / question content, required - answer (text) Answer content, if the mode of the knowledge is Q&A mode, pass the value (optional) - keywords (list) Keywords (optional) ```bash {{ title: 'cURL' }} curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' \ --data-raw '{ "segments": [ { "content": "1", "answer": "1", "keywords": ["a"] } ] }' ``` ```json {{ title: 'Response' }} { "data": [{ "id": "", "position": 1, "document_id": "", "content": "1", "answer": "1", "word_count": 25, "tokens": 0, "keywords": [ "a" ], "index_node_id": "", "index_node_hash": "", "hit_count": 0, "enabled": true, "disabled_at": null, "disabled_by": null, "status": "completed", "created_by": "", "created_at": 1695312007, "indexing_at": 1695312007, "completed_at": 1695312007, "error": null, "stopped_at": null }], "doc_form": "text_model" } ```
### Path Knowledge ID Document ID ### Query Keyword (optional) Search status, completed Page number (optional) Number of items returned, default 20, range 1-100 (optional) ```bash {{ title: 'cURL' }} curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' ``` ```json {{ title: 'Response' }} { "data": [{ "id": "", "position": 1, "document_id": "", "content": "1", "answer": "1", "word_count": 25, "tokens": 0, "keywords": [ "a" ], "index_node_id": "", "index_node_hash": "", "hit_count": 0, "enabled": true, "disabled_at": null, "disabled_by": null, "status": "completed", "created_by": "", "created_at": 1695312007, "indexing_at": 1695312007, "completed_at": 1695312007, "error": null, "stopped_at": null }], "doc_form": "text_model", "has_more": false, "limit": 20, "total": 9, "page": 1 } ```
### Path Knowledge ID Document ID Document Segment ID ```bash {{ title: 'cURL' }} curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/segments/{segment_id}' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' ``` ```json {{ title: 'Response' }} { "result": "success" } ```
### POST Knowledge ID Document ID Document Segment ID ### Request Body - content (text) Text content / question content, required - answer (text) Answer content, passed if the knowledge is in Q&A mode (optional) - keywords (list) Keyword (optional) - enabled (bool) False / true (optional) - regenerate_child_chunks (bool) Whether to regenerate child chunks (optional) ```bash {{ title: 'cURL' }} curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}' \ --header 'Content-Type: application/json' \ --data-raw '{ "segment": { "content": "1", "answer": "1", "keywords": ["a"], "enabled": false } }' ``` ```json {{ title: 'Response' }} { "data": { "id": "", "position": 1, "document_id": "", "content": "1", "answer": "1", "word_count": 25, "tokens": 0, "keywords": [ "a" ], "index_node_id": "", "index_node_hash": "", "hit_count": 0, "enabled": true, "disabled_at": null, "disabled_by": null, "status": "completed", "created_by": "", "created_at": 1695312007, "indexing_at": 1695312007, "completed_at": 1695312007, "error": null, "stopped_at": null }, "doc_form": "text_model" } ```
### Params Knowledge ID Document ID Segment ID ### Request Body Child chunk content ```bash {{ title: 'cURL' }} curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' \ --data-raw '{ "content": "Child chunk content" }' ``` ```json {{ title: 'Response' }} { "data": { "id": "", "segment_id": "", "content": "Child chunk content", "word_count": 25, "tokens": 0, "index_node_id": "", "index_node_hash": "", "status": "completed", "created_by": "", "created_at": 1695312007, "indexing_at": 1695312007, "completed_at": 1695312007, "error": null, "stopped_at": null } } ```
### Params Knowledge ID Document ID Segment ID ### Query Search keyword (optional) Page number (optional, default: 1) Items per page (optional, default: 20, max: 100) ```bash {{ title: 'cURL' }} curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks?page=1&limit=20' \ --header 'Authorization: Bearer {api_key}' ``` ```json {{ title: 'Response' }} { "data": [{ "id": "", "segment_id": "", "content": "Child chunk content", "word_count": 25, "tokens": 0, "index_node_id": "", "index_node_hash": "", "status": "completed", "created_by": "", "created_at": 1695312007, "indexing_at": 1695312007, "completed_at": 1695312007, "error": null, "stopped_at": null }], "total": 1, "total_pages": 1, "page": 1, "limit": 20 } ```
### Params Knowledge ID Document ID Segment ID Child Chunk ID ```bash {{ title: 'cURL' }} curl --location --request DELETE '${props.apiBaseUrl}/datasets/{dataset_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \ --header 'Authorization: Bearer {api_key}' ``` ```json {{ title: 'Response' }} { "result": "success" } ```
### Params Knowledge ID Document ID Segment ID Child Chunk ID ### Request Body Child chunk content ```bash {{ title: 'cURL' }} curl --location --request PATCH '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/segments/{segment_id}/child_chunks/{child_chunk_id}' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' \ --data-raw '{ "content": "Updated child chunk content" }' ``` ```json {{ title: 'Response' }} { "data": { "id": "", "segment_id": "", "content": "Updated child chunk content", "word_count": 25, "tokens": 0, "index_node_id": "", "index_node_hash": "", "status": "completed", "created_by": "", "created_at": 1695312007, "indexing_at": 1695312007, "completed_at": 1695312007, "error": null, "stopped_at": null } } ```
### Path Knowledge ID Document ID ```bash {{ title: 'cURL' }} curl --location --request GET '${props.apiBaseUrl}/datasets/{dataset_id}/documents/{document_id}/upload-file' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' ``` ```json {{ title: 'Response' }} { "id": "file_id", "name": "file_name", "size": 1024, "extension": "txt", "url": "preview_url", "download_url": "download_url", "mime_type": "text/plain", "created_by": "user_id", "created_at": 1728734540, } ```
### Path Knowledge ID ### Request Body Query keyword Retrieval model (optional, if not filled, it will be recalled according to the default method) - search_method (text) Search method: One of the following four keywords is required - keyword_search Keyword search - semantic_search Semantic search - full_text_search Full-text search - hybrid_search Hybrid search - reranking_enable (bool) Whether to enable reranking, required if the search mode is semantic_search or hybrid_search (optional) - reranking_mode (object) Rerank model configuration, required if reranking is enabled - reranking_provider_name (string) Rerank model provider - reranking_model_name (string) Rerank model name - weights (float) Semantic search weight setting in hybrid search mode - top_k (integer) Number of results to return (optional) - score_threshold_enabled (bool) Whether to enable score threshold - score_threshold (float) Score threshold Unused field ```bash {{ title: 'cURL' }} curl --location --request POST '${props.apiBaseUrl}/datasets/{dataset_id}/retrieve' \ --header 'Authorization: Bearer {api_key}' \ --header 'Content-Type: application/json' \ --data-raw '{ "query": "test", "retrieval_model": { "search_method": "keyword_search", "reranking_enable": false, "reranking_mode": null, "reranking_model": { "reranking_provider_name": "", "reranking_model_name": "" }, "weights": null, "top_k": 2, "score_threshold_enabled": false, "score_threshold": null } }' ``` ```json {{ title: 'Response' }} { "query": { "content": "test" }, "records": [ { "segment": { "id": "7fa6f24f-8679-48b3-bc9d-bdf28d73f218", "position": 1, "document_id": "a8c6c36f-9f5d-4d7a-8472-f5d7b75d71d2", "content": "Operation guide", "answer": null, "word_count": 847, "tokens": 280, "keywords": [ "install", "java", "base", "scripts", "jdk", "manual", "internal", "opens", "add", "vmoptions" ], "index_node_id": "39dd8443-d960-45a8-bb46-7275ad7fbc8e", "index_node_hash": "0189157697b3c6a418ccf8264a09699f25858975578f3467c76d6bfc94df1d73", "hit_count": 0, "enabled": true, "disabled_at": null, "disabled_by": null, "status": "completed", "created_by": "dbcb1ab5-90c8-41a7-8b78-73b235eb6f6f", "created_at": 1728734540, "indexing_at": 1728734552, "completed_at": 1728734584, "error": null, "stopped_at": null, "document": { "id": "a8c6c36f-9f5d-4d7a-8472-f5d7b75d71d2", "data_source_type": "upload_file", "name": "readme.txt", } }, "score": 3.730463140527718e-05, "tsne_position": null } ] } ```
### Params Knowledge ID ### Request Body - type (string) Metadata type, required - name (string) Metadata name, required ```bash {{ title: 'cURL' }} ``` ```json {{ title: 'Response' }} { "id": "abc", "type": "string", "name": "test", } ```
### Params Knowledge ID Metadata ID ### Request Body - name (string) Metadata name, required ```bash {{ title: 'cURL' }} ``` ```json {{ title: 'Response' }} { "id": "abc", "type": "string", "name": "test", } ```
### Params Knowledge ID Metadata ID ```bash {{ title: 'cURL' }} ```
### Params Knowledge ID disable/enable ```bash {{ title: 'cURL' }} ```
### Params Knowledge ID ### Request Body - document_id (string) Document ID - metadata_list (list) Metadata list - id (string) Metadata ID - value (string) Metadata value - name (string) Metadata name ```bash {{ title: 'cURL' }} ```
### Params Knowledge ID ```bash {{ title: 'cURL' }} ``` ```json {{ title: 'Response' }} { "doc_metadata": [ { "id": "", "name": "name", "type": "string", "use_count": 0, }, ... ], "built_in_field_enabled": true } ```
### Error message Error code Error status Error message ```json {{ title: 'Response' }} { "code": "no_file_uploaded", "message": "Please upload your file.", "status": 400 } ```
code status message
no_file_uploaded 400 Please upload your file.
too_many_files 400 Only one file is allowed.
file_too_large 413 File size exceeded.
unsupported_file_type 415 File type not allowed.
high_quality_dataset_only 400 Current operation only supports 'high-quality' datasets.
dataset_not_initialized 400 The dataset is still being initialized or indexing. Please wait a moment.
archived_document_immutable 403 The archived document is not editable.
dataset_name_duplicate 409 The dataset name already exists. Please modify your dataset name.
invalid_action 400 Invalid action.
document_already_finished 400 The document has been processed. Please refresh the page or go to the document details.
document_indexing 400 The document is being processed and cannot be edited.
invalid_metadata 400 The metadata content is incorrect. Please check and verify.