| 
                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535 | 
                        - ---
 - sidebar_class_name: hidden
 - ---
 - 
 - # API reference
 - 
 - RAGFlow offers RESTful APIs for you to integrate its capabilities into third-party applications. 
 - 
 - ## Base URL
 - ```
 - http://<host_address>/api/v1/
 - ```
 - 
 - ## Dataset URL
 - ```
 - http://<host_address>/api/v1/dataset
 - ```
 - 
 - ## Authorization
 - 
 - All of RAGFlow's RESTFul APIs use API key for authorization, so keep it safe and do not expose it to the front end. 
 - Put your API key in the request header. 
 - 
 - ```buildoutcfg
 - Authorization: Bearer {API_KEY}
 - ```
 - 
 - To get your API key:
 - 
 - 1. In RAGFlow, click **Chat** tab in the middle top of the page.
 - 2. Hover over the corresponding dialogue **>** **Chat Bot API** to show the chatbot API configuration page.
 - 3. Click **Api Key** **>** **Create new key** to create your API key.
 - 4. Copy and keep your API key safe. 
 - 
 - ## Create dataset
 - 
 - This method creates (news) a dataset for a specific user. 
 - 
 - ### Request
 - 
 - #### Request URI
 - 
 - | Method | Request URI |
 - |--------|-------------|
 - | POST   | `/dataset`  |
 - 
 - :::note
 - You are *required* to save the `data.dataset_id` value returned in the response data, which is the session ID for all upcoming conversations.
 - :::
 - 
 - #### Request parameter
 - 
 - | Name           |  Type  | Required | Description                                                                                                                                                                                                                                                                                                         |
 - |----------------|--------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 - | `dataset_name` | string |   Yes    | The unique identifier assigned to each newly created dataset. `dataset_name` must be less than 2 ** 10 characters and cannot be empty. The following character sets are supported: <br />- 26 lowercase English letters (a-z)<br />- 26 uppercase English letters (A-Z)<br />- 10 digits (0-9)<br />- "_", "-", "." |
 - 
 - ### Response 
 - 
 - ```json
 - {
 -   "code": 0, 
 -   "data": {
 -     "dataset_name": "kb1",
 -     "dataset_id": "375e8ada2d3c11ef98f93043d7ee537e"
 -   }, 
 -   "message": "success"
 - }
 - ```
 - 
 - ## Get dataset list
 - 
 - This method lists the created datasets for a specific user. 
 - 
 - ### Request
 - 
 - #### Request URI
 - 
 - | Method   | Request URI |
 - |----------|-------------|
 - | GET      | `/dataset`  |
 - 
 - ### Response 
 - 
 - #### Response parameter
 - 
 - ```json
 - {
 -     "code": 0,
 -     "data": [
 -         {
 -             "avatar": null,
 -             "chunk_num": 0,
 -             "create_date": "Mon, 17 Jun 2024 16:00:05 GMT",
 -             "create_time": 1718611205876,
 -             "created_by": "b48110a0286411ef994a3043d7ee537e",
 -             "description": null,
 -             "doc_num": 0,
 -             "embd_id": "BAAI/bge-large-zh-v1.5",
 -             "id": "9bd6424a2c7f11ef81b83043d7ee537e",
 -             "language": "Chinese",
 -             "name": "dataset3(23)",
 -             "parser_config": {
 -                 "pages": [
 -                     [
 -                         1,
 -                         1000000
 -                     ]
 -                 ]
 -             },
 -             "parser_id": "naive",
 -             "permission": "me",
 -             "similarity_threshold": 0.2,
 -             "status": "1",
 -             "tenant_id": "b48110a0286411ef994a3043d7ee537e",
 -             "token_num": 0,
 -             "update_date": "Mon, 17 Jun 2024 16:00:05 GMT",
 -             "update_time": 1718611205876,
 -             "vector_similarity_weight": 0.3
 -         }
 -     ],
 -     "message": "List datasets successfully!"
 - }
 - ```
 - 
 - ## Delete dataset
 - 
 - This method deletes a dataset for a specific user.
 - 
 - ### Request
 - 
 - #### Request URI
 - 
 - | Method | Request URI             |
 - |--------|-------------------------|
 - | DELETE | `/dataset/{dataset_id}` |
 - 
 - #### Request parameter
 - 
 - | Name         |  Type  | Required | Description                                                                                                                                                      |
 - |--------------|--------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 - | `dataset_id` | string | Yes      | The ID of the dataset. Call ['GET' /dataset](#create-dataset) to retrieve the ID.                                                                                |
 - 
 - ### Response 
 - 
 - ```json
 - {
 -   "code": 0,
 -   "message": "Remove dataset: 9cefaefc2e2611ef916b3043d7ee537e successfully"
 - }
 - ```  
 - 
 - ### Get the details of the specific dataset
 - 
 - This method gets the details of the specific dataset. 
 - 
 - ### Request
 - 
 - #### Request URI
 - 
 - | Method   | Request URI             |
 - |----------|-------------------------|
 - | GET      | `/dataset/{dataset_id}` |
 - 
 - #### Request parameter
 - 
 - | Name         |  Type  | Required | Description                                                                                                                                                      |
 - |--------------|--------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 - | `dataset_id` | string | Yes      | The ID of the dataset. Call ['GET' /dataset](#create-dataset) to retrieve the ID.                                                                                |
 - 
 - ### Response 
 - 
 - ```json
 - {
 -     "code": 0,
 -     "data": {
 -         "avatar": null,
 -         "chunk_num": 0, 
 -         "description": null,
 -         "doc_num": 0,
 -         "embd_id": "BAAI/bge-large-zh-v1.5",
 -         "id": "060323022e3511efa8263043d7ee537e", 
 -         "language": "Chinese", 
 -         "name": "test(1)", 
 -         "parser_config": 
 -         {
 -             "pages": [[1, 1000000]]
 -         }, 
 -         "parser_id": "naive", 
 -         "permission": "me", 
 -         "token_num": 0
 -   }, 
 -     "message": "success"
 - }
 - ```
 - 
 - ### Update the details of the specific dataset
 - 
 - This method updates the details of the specific dataset. 
 - 
 - ### Request
 - 
 - #### Request URI
 - 
 - | Method | Request URI             |
 - |--------|-------------------------|
 - | PUT    | `/dataset/{dataset_id}` |
 - 
 - #### Request parameter
 - 
 - You are required to input at least one parameter.
 - 
 - | Name                 | Type   | Required | Description                                                           |
 - |----------------------|--------|----------|-----------------------------------------------------------------------|
 - | `name`               | string | No       | The name of the knowledge base, from which you get the document list. |
 - | `description`        | string | No       | The description of the knowledge base.                                |
 - | `permission`         | string | No       | The permission for the knowledge base, default:me.                    |
 - | `language`           | string | No       | The language of the knowledge base.                                   |
 - | `chunk_method`       | string | No       | The chunk method of the knowledge base.                               |
 - | `embedding_model_id` | string | No       | The embedding model id of the knowledge base.                         |
 - | `photo`              | string | No       | The photo of the knowledge base.                                      |
 - | `layout_recognize`   | bool   | No       | The layout recognize of the knowledge base.                           |
 - | `token_num`          | int    | No       | The token number of the knowledge base.                               |
 - | `id`                 | string | No       | The id of the knowledge base.                                         |
 - 
 - ### Response 
 - 
 - ### Successful response
 - 
 - ```json
 - {
 -     "code": 0,
 -     "data": {
 -         "avatar": null,
 -         "chunk_num": 0,
 -         "create_date": "Wed, 19 Jun 2024 20:33:34 GMT",
 -         "create_time": 1718800414518, 
 -         "created_by": "b48110a0286411ef994a3043d7ee537e", 
 -         "description": "new_description1", 
 -         "doc_num": 0, 
 -         "embd_id": "BAAI/bge-large-zh-v1.5", 
 -         "id": "24f9f17a2e3811ef820e3043d7ee537e", 
 -         "language": "English", 
 -         "name": "new_name", 
 -         "parser_config": 
 -         {
 -             "pages": [[1, 1000000]]
 -         },
 -         "parser_id": "naive", 
 -         "permission": "me", 
 -         "similarity_threshold": 0.2, 
 -         "status": "1", 
 -         "tenant_id": "b48110a0286411ef994a3043d7ee537e", 
 -         "token_num": 0, 
 -         "update_date": "Wed, 19 Jun 2024 20:33:34 GMT", 
 -         "update_time": 1718800414529, 
 -         "vector_similarity_weight": 0.3
 -   }, 
 -     "message": "success"
 - }
 - ```
 - 
 - ### Response for the operating error
 - 
 - ```json
 - {
 -     "code": 103, 
 -     "message": "Only the owner of knowledgebase is authorized for this operation!"
 - }
 - ```
 - 
 - ### Response for no parameter
 - ```json
 - { 
 -     "code": 102, 
 -     "message": "Please input at least one parameter that you want to update!"
 - }
 - ```
 - 
 - ------------------------------------------------------------------------------------------------------------------------------
 - 
 - ## Upload documents
 - 
 - This method uploads documents for a specific user. 
 - 
 - ### Request
 - 
 - #### Request URI
 - 
 - | Method | Request URI                       |
 - |--------|-----------------------------------|
 - | POST   | `/dataset/{dataset_id}/documents` |
 - 
 - 
 - #### Request parameter
 - 
 - | Name         |  Type  | Required |        Description                                         |
 - |--------------|--------|----------|------------------------------------------------------------|
 - | `dataset_id` | string |   Yes    | The ID of the dataset. Call ['GET' /dataset](#create-dataset) to retrieve the ID. |
 - 
 - ### Response 
 - 
 - ### Successful response
 - 
 - ```json
 - {
 -       "code": 0,
 -       "data": [
 -         {
 -           "created_by": "b48110a0286411ef994a3043d7ee537e",
 -           "id": "859584a0379211efb1a23043d7ee537e",
 -           "kb_id": "8591349a379211ef92213043d7ee537e",
 -           "location": "test.txt",
 -           "name": "test.txt",
 -           "parser_config": {
 -             "pages": [
 -               [1, 1000000]
 -             ]
 -           },
 -           "parser_id": "naive",
 -           "size": 0,
 -           "thumbnail": null,
 -           "type": "doc"
 -         },
 -         {
 -           "created_by": "b48110a0286411ef994a3043d7ee537e",
 -           "id": "8596f18c379211efb1a23043d7ee537e",
 -           "kb_id": "8591349a379211ef92213043d7ee537e",
 -           "location": "test1.txt",
 -           "name": "test1.txt",
 -           "parser_config": {
 -             "pages": [
 -               [1, 1000000]
 -             ]
 -           },
 -           "parser_id": "naive",
 -           "size": 0,
 -           "thumbnail": null,
 -           "type": "doc"
 -         }
 -       ],
 -       "message": "success"
 - }
 - ```
 - 
 - ### Response for nonexistent files
 - 
 - ```json
 - {
 -       "code": "RetCode.DATA_ERROR",
 -       "message": "The file test_data/imagination.txt does not exist"
 - }
 - ```
 - 
 - ### Response for nonexistent dataset
 - 
 - ```json
 - {
 -       "code": 102,
 -       "message": "Can't find this dataset"
 - }
 - ```
 - 
 - ### Response for the number of files exceeding the limit
 - 
 - ```json
 - {
 -       "code": 102,
 -       "message": "You try to upload 512 files, which exceeds the maximum number of uploading files: 256"
 - }
 - ```
 - ### Response for uploading without files.
 - 
 - ```json
 - {
 -     "code": 101,
 -     "message": "None is not string."
 - }
 - ```
 - 
 - ## Delete documents
 - 
 - This method deletes documents for a specific user. 
 - 
 - ### Request
 - 
 - #### Request URI
 - 
 - | Method | Request URI                       |
 - |--------|-----------------------------------|
 - | DELETE | `/dataset/{dataset_id}/documents/{document_id}` |
 - 
 - 
 - #### Request parameter
 - 
 - | Name          |  Type  | Required | Description                                                                         |
 - |---------------|--------|----------|-------------------------------------------------------------------------------------|
 - | `dataset_id`  | string |   Yes    | The ID of the dataset. Call ['GET' /dataset](#create-dataset) to retrieve the ID.   |
 - | `document_id` | string |   Yes    | The ID of the document. Call ['GET' /document](#list-documents) to retrieve the ID. |
 - 
 - ### Response 
 - 
 - ### Successful response
 - 
 - ```json
 - {
 -       "code": 0,
 -       "data": true,
 -       "message": "success"
 - }
 - ```
 - 
 - ### Response for deleting a document that does not exist
 - 
 - ```json
 - {
 -       "code": 102,
 -       "message": "Document 111 not found!"
 - }
 - ```
 - ### Response for deleting documents from a non-existent dataset
 - 
 - ```json
 - {
 -       "code": 101,
 -       "message": "The document f7aba1ec379b11ef8e853043d7ee537e is not in the dataset: 000, but in the dataset: f7a7ccf2379b11ef83223043d7ee537e."
 - }
 - ```
 - 
 - ## List documents
 - 
 - This method deletes documents for a specific user. 
 - 
 - ### Request
 - 
 - #### Request URI
 - 
 - | Method | Request URI                       |
 - |--------|-----------------------------------|
 - | GET    | `/dataset/{dataset_id}/documents` |
 - 
 - 
 - #### Request parameter
 - 
 - | Name         | Type   | Required | Description                                                                                                |
 - |--------------|--------|----------|------------------------------------------------------------------------------------------------------------|
 - | `dataset_id` | string | Yes      | The ID of the dataset. Call ['GET' /dataset](#create-dataset) to retrieve the ID.                          |
 - | `offset`     | int    | No       | The start of the listed documents. Default: 0                                                              |
 - | `count`      | int    | No       | The total count of the listed documents. Default: -1, meaning all the later part of documents from the start. |
 - | `order_by`   | string | No       | Default: `create_time`                                                                                     |
 - | `descend`    | bool   | No       | The order of listing documents. Default: True                                                              |
 - | `keywords`   | string | No       | The searching keywords of listing documents. Default: ""                                                   |
 - 
 - ### Response 
 - 
 - ### Successful Response 
 - 
 - ```json
 - {
 -       "code": 0,
 -       "data": {
 -         "docs": [
 -           {
 -             "chunk_num": 0,
 -             "create_date": "Mon, 01 Jul 2024 19:24:10 GMT",
 -             "create_time": 1719833050046,
 -             "created_by": "b48110a0286411ef994a3043d7ee537e",
 -             "id": "6fb6f588379c11ef87023043d7ee537e",
 -             "kb_id": "6fb1c9e6379c11efa3523043d7ee537e",
 -             "location": "empty.txt",
 -             "name": "empty.txt",
 -             "parser_config": {
 -               "pages": [
 -                 [1, 1000000]
 -               ]
 -             },
 -             "parser_id": "naive",
 -             "process_begin_at": null,
 -             "process_duation": 0.0,
 -             "progress": 0.0,
 -             "progress_msg": "",
 -             "run": "0",
 -             "size": 0,
 -             "source_type": "local",
 -             "status": "1",
 -             "thumbnail": null,
 -             "token_num": 0,
 -             "type": "doc",
 -             "update_date": "Mon, 01 Jul 2024 19:24:10 GMT",
 -             "update_time": 1719833050046
 -           },
 -           {
 -             "chunk_num": 0,
 -             "create_date": "Mon, 01 Jul 2024 19:24:10 GMT",
 -             "create_time": 1719833050037,
 -             "created_by": "b48110a0286411ef994a3043d7ee537e",
 -             "id": "6fb59c60379c11ef87023043d7ee537e",
 -             "kb_id": "6fb1c9e6379c11efa3523043d7ee537e",
 -             "location": "test.txt",
 -             "name": "test.txt",
 -             "parser_config": {
 -               "pages": [
 -                 [1, 1000000]
 -               ]
 -             },
 -             "parser_id": "naive",
 -             "process_begin_at": null,
 -             "process_duation": 0.0,
 -             "progress": 0.0,
 -             "progress_msg": "",
 -             "run": "0",
 -             "size": 0,
 -             "source_type": "local",
 -             "status": "1",
 -             "thumbnail": null,
 -             "token_num": 0,
 -             "type": "doc",
 -             "update_date": "Mon, 01 Jul 2024 19:24:10 GMT",
 -             "update_time": 1719833050037
 -           }
 -         ],
 -         "total": 2
 -       },
 -       "message": "success"
 - }
 - ```
 - 
 - ### Response for listing documents with IndexError
 - 
 - ```json
 - {
 -       "code": 100,
 -       "message": "IndexError('Offset is out of the valid range.')"
 - }
 - ```
 - 
 
 
  |