---
sidebar_class_name: hidden
---
# API reference
RAGFlow offers RESTful APIs for you to integrate its capabilities into third-party applications.
## Base URL
```
https://demo.ragflow.io/api/v1/
```
## 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.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:
- 26 lowercase English letters (a-z)
- 26 uppercase English letters (A-Z)
- 10 digits (0-9)
- "_", "-", "." |
### Response
```json
{
"code": 0,
"data": {
"dataset_name": "kb1"
},
"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
```python
(200,
{
"code": 102,
"data": [
{
"avatar": None,
"chunk_num": 0,
"create_date": "Mon, 17 Jun 2024 16:00:05 GMT",
"create_time": 1718611205876,
"created_by": "b48110a0286411ef994a3043d7ee537e",
"description": None,
"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
},
# ... additional datasets ...
],
"message": "attempt to list datasets"
}
)
```
## 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
{
"success": true,
"message": "Dataset deleted successfully!"
}
```