Dify Knowledge Bases API

Operations for managing knowledge bases, including creation, configuration, and retrieval.

Operations 6

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /datasets Create an empty knowledge base · Create an Empty Knowledge Base #
Ask an LLM
“How do I create a new, empty knowledge base before adding documents?”
“Can I restrict a new knowledge base so only I can access it?”
Tell an agent
Create a knowledge base called {name}.
Create knowledge base {name} with {indexing_technique} indexing and permission {permission}.
GET /datasets List knowledge bases in the workspace · List Knowledge Bases #
Ask an LLM
“Which knowledge bases exist in my Dify workspace?”
“Can I filter my knowledge bases by tag or by name?”
Tell an agent
List all my knowledge bases.
Find knowledge bases named like {keyword} tagged {tag_ids}.
GET /datasets/{dataset_id} Get a knowledge base's settings and stats · Get Knowledge Base #
Ask an LLM
“What embedding model and retrieval settings does a knowledge base use?”
“How many documents are in a specific knowledge base?”
Tell an agent
Show the details of knowledge base {dataset_id}.
Get the embedding model and document statistics for {dataset_id}.
PATCH /datasets/{dataset_id} Change a knowledge base's name or settings · Update Knowledge Base #
Ask an LLM
“Can I rename an existing knowledge base or change its description?”
“How do I share an existing knowledge base with only some team members?”
Tell an agent
Rename knowledge base {dataset_id} to {name}.
Change the access permission of knowledge base {dataset_id} to {permission}.
DELETE /datasets/{dataset_id} Permanently delete a knowledge base · Delete Knowledge Base #
Ask an LLM
“What happens to the documents when I delete an entire knowledge base?”
“Can I remove a knowledge base I no longer use?”
Tell an agent destructive · confirm first
Delete knowledge base {dataset_id}.
Permanently remove knowledge base {dataset_id} and all of its documents.
POST /datasets/{dataset_id}/retrieve Search a knowledge base for relevant chunks · Retrieve Chunks from a Knowledge Base / Test Retrieval #
Ask an LLM
“How do I test which chunks my knowledge base returns for a question?”
“Can I run retrieval against a knowledge base from my own code?”
Tell an agent
Search knowledge base {dataset_id} for {query}.
Run a test retrieval of {query} against {dataset_id} and show the top chunks.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dify:dify-knowledge-bases-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dify-knowledge-bases-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dify Service Knowledge Bases API
  description: REST API for Dify applications and knowledge bases. Application endpoints authenticate with an app API key; knowledge endpoints authenticate with a dataset API key.
  version: 1.0.0
servers:
- url: https://{api_base_url}
  description: Base URL of the Dify Service API. For self-hosted deployments, replace it with your own API base URL.
  variables:
    api_base_url:
      default: api.dify.ai/v1
      description: Host and path of the API base URL, without the `https://` prefix.
security:
- ApiKeyAuth: []
tags:


# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dify/refs/heads/main/openapi/dify-knowledge-bases-api-openapi.yml