Profound Knowledge bases API
The Knowledge bases API from Profound — 4 operation(s) for knowledge bases.
The Knowledge bases API from Profound — 4 operation(s) for knowledge bases.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/profound-knowledge-bases-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: External Knowledge bases API
version: 6551bd49db665ffb7f80780b3e150b8e8b780cc3
servers:
- url: https://api.tryprofound.com
description: Production Server
tags:
- name: Knowledge bases
paths:
/v1/knowledge-bases:
get:
tags:
- Knowledge bases
summary: List Knowledge Bases
description: List knowledge bases accessible to the API key.
operationId: list_knowledge_bases_v1_knowledge_bases_get
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Organization scope for API keys that can access multiple organizations.
title: Organization Id
description: Organization scope for API keys that can access multiple organizations.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListKnowledgeBasesResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/knowledge-bases/{knowledge_base_id}/search:
post:
tags:
- Knowledge bases
summary: Search Knowledge Base
description: Search a knowledge base and return matching snippets or pages.
operationId: search_knowledge_base_v1_knowledge_bases__knowledge_base_id__search_post
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: knowledge_base_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique knowledge base ID.
title: Knowledge Base Id
description: Unique knowledge base ID.
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Organization scope for API keys that can access multiple organizations.
title: Organization Id
description: Organization scope for API keys that can access multiple organizations.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SearchKnowledgeBaseRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/KnowledgeBaseSearchResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/knowledge-bases/{knowledge_base_id}/documents:
post:
tags:
- Knowledge bases
summary: Add Document
description: Add a document to a knowledge base using JSON text or multipart file upload.
operationId: add_document_v1_knowledge_bases__knowledge_base_id__documents_post
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: knowledge_base_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique knowledge base ID.
title: Knowledge Base Id
description: Unique knowledge base ID.
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Organization scope for API keys that can access multiple organizations.
title: Organization Id
description: Organization scope for API keys that can access multiple organizations.
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentOperationResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
requestBody:
required: true
content:
application/json:
schema:
additionalProperties: false
properties:
name:
description: Unique document name.
minLength: 1
title: Name
type: string
text:
description: Text content to add to the document.
minLength: 1
title: Text
type: string
folder:
anyOf:
- minLength: 1
type: string
- type: 'null'
description: Folder path to add the document under.
title: Folder
required:
- name
- text
title: AddDocumentRequest
type: object
multipart/form-data:
schema:
type: object
required:
- name
- file
properties:
name:
type: string
description: Document name or path.
folder:
type: string
description: Folder path containing the document.
file:
type: string
format: binary
description: Document file to upload.
put:
tags:
- Knowledge bases
summary: Update Document
description: Overwrite a knowledge base document using JSON text or multipart file upload.
operationId: update_document_v1_knowledge_bases__knowledge_base_id__documents_put
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: knowledge_base_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique knowledge base ID.
title: Knowledge Base Id
description: Unique knowledge base ID.
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Organization scope for API keys that can access multiple organizations.
title: Organization Id
description: Organization scope for API keys that can access multiple organizations.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentOperationResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
requestBody:
required: true
content:
application/json:
schema:
additionalProperties: false
properties:
name:
description: Document name or path to update.
minLength: 1
title: Name
type: string
text:
description: Replacement text content for the document.
minLength: 1
title: Text
type: string
folder:
anyOf:
- minLength: 1
type: string
- type: 'null'
description: Folder path containing the document.
title: Folder
required:
- name
- text
title: UpdateDocumentRequest
type: object
multipart/form-data:
schema:
type: object
required:
- name
- file
properties:
name:
type: string
description: Document name or path.
folder:
type: string
description: Folder path containing the document.
file:
type: string
format: binary
description: Document file to upload.
delete:
tags:
- Knowledge bases
summary: Delete Document
description: Delete an existing document from a knowledge base.
operationId: delete_document_v1_knowledge_bases__knowledge_base_id__documents_delete
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: knowledge_base_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique knowledge base ID.
title: Knowledge Base Id
description: Unique knowledge base ID.
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Organization scope for API keys that can access multiple organizations.
title: Organization Id
description: Organization scope for API keys that can access multiple organizations.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteDocumentRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentOperationResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/knowledge-bases/{knowledge_base_id}/folders:
post:
tags:
- Knowledge bases
summary: Add Folder
description: Create an empty folder at the requested knowledge base path.
operationId: add_folder_v1_knowledge_bases__knowledge_base_id__folders_post
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: knowledge_base_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique knowledge base ID.
title: Knowledge Base Id
description: Unique knowledge base ID.
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Organization scope for API keys that can access multiple organizations.
title: Organization Id
description: Organization scope for API keys that can access multiple organizations.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddFolderRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FolderOperationResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Knowledge bases
summary: Delete Folder
description: Delete a folder. With recursive=false, non-empty folders return 409 and no contents are deleted.
operationId: delete_folder_v1_knowledge_bases__knowledge_base_id__folders_delete
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: knowledge_base_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique knowledge base ID.
title: Knowledge Base Id
description: Unique knowledge base ID.
- name: organization_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Organization scope for API keys that can access multiple organizations.
title: Organization Id
description: Organization scope for API keys that can access multiple organizations.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteFolderRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FolderOperationResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
KnowledgeBaseSearchResult:
properties:
id:
type: string
title: Id
description: Document or chunk path.
score:
type: number
title: Score
description: Relevance score.
metadata:
additionalProperties: true
type: object
title: Metadata
description: Result metadata, including folder path.
content:
type: string
title: Content
description: Matched content.
additionalProperties: false
type: object
required:
- id
- score
- metadata
- content
title: KnowledgeBaseSearchResult
AddFolderRequest:
properties:
path:
type: string
minLength: 1
title: Path
description: Folder path to create.
additionalProperties: false
type: object
required:
- path
title: AddFolderRequest
DeleteDocumentRequest:
properties:
name:
type: string
minLength: 1
title: Name
description: Document path to delete.
additionalProperties: false
type: object
required:
- name
title: DeleteDocumentRequest
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
KnowledgeBaseItem:
properties:
id:
type: string
format: uuid
title: Id
description: Unique knowledge base ID.
name:
type: string
title: Name
description: Knowledge base name.
slug:
anyOf:
- type: string
- type: 'null'
title: Slug
description: Knowledge base slug.
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Knowledge base description.
created_at:
type: string
format: date-time
title: Created At
description: Creation timestamp.
additionalProperties: false
type: object
required:
- id
- name
- created_at
title: KnowledgeBaseItem
DeleteFolderRequest:
properties:
path:
type: string
minLength: 1
title: Path
description: Folder path to delete.
recursive:
type: boolean
title: Recursive
description: When false, only empty folders are deleted and non-empty folders return a conflict. When true, the folder and all contents are deleted.
default: false
additionalProperties: false
type: object
required:
- path
title: DeleteFolderRequest
SearchKnowledgeBaseFilters:
properties:
tags:
anyOf:
- items:
type: string
minLength: 1
type: array
minItems: 1
- type: 'null'
title: Tags
description: Optional tags to match. Documents with any matching tag are included.
folders:
anyOf:
- items:
type: string
minLength: 1
type: array
maxItems: 1
minItems: 1
- type: 'null'
title: Folders
description: Optional folder paths to search within. Currently limited to one folder.
additionalProperties: false
type: object
title: SearchKnowledgeBaseFilters
ListKnowledgeBasesResponse:
properties:
data:
items:
$ref: '#/components/schemas/KnowledgeBaseItem'
type: array
title: Data
description: Knowledge bases accessible to the API key.
pagination:
$ref: '#/components/schemas/CursorPagination'
description: Pagination metadata.
additionalProperties: false
type: object
required:
- data
title: ListKnowledgeBasesResponse
KnowledgeBaseSearchResponse:
properties:
data:
items:
$ref: '#/components/schemas/KnowledgeBaseSearchResult'
type: array
title: Data
description: Knowledge base search results.
pagination:
$ref: '#/components/schemas/CursorPagination'
description: Pagination metadata.
additionalProperties: false
type: object
required:
- data
title: KnowledgeBaseSearchResponse
FolderOperationResponse:
properties:
message:
type: string
title: Message
description: Operation result message.
path:
type: string
title: Path
description: Folder path.
additionalProperties: false
type: object
required:
- message
- path
title: FolderOperationResponse
DocumentOperationResponse:
properties:
message:
type: string
title: Message
description: Operation result message.
name:
type: string
title: Name
description: Document name.
path:
type: string
title: Path
description: Document path.
folder:
anyOf:
- type: string
- type: 'null'
title: Folder
description: Document folder path.
additionalProperties: false
type: object
required:
- message
- name
- path
title: DocumentOperationResponse
CursorPagination:
properties:
limit:
type: integer
maximum: 50000.0
exclusiveMinimum: 0.0
title: Limit
description: Maximum number of results to return. Default is 10,000, maximum is 50,000.
default: 10000
next_cursor:
anyOf:
- type: string
- type: 'null'
title: Next Cursor
description: Token for the next page, if more results are available.
additionalProperties: false
type: object
title: CursorPagination
description: Cursor-based pagination metadata.
SearchKnowledgeBaseRequest:
properties:
query:
type: string
minLength: 1
title: Query
description: Search query.
top_k:
type: integer
maximum: 100.0
minimum: 1.0
title: Top K
description: Maximum number of results to return.
return_full_page:
type: boolean
title: Return Full Page
description: Return full page content instead of snippets.
default: false
filters:
anyOf:
- $ref: '#/components/schemas/SearchKnowledgeBaseFilters'
- type: 'null'
description: Optional search filters.
additionalProperties: false
type: object
required:
- query
- top_k
title: SearchKnowledgeBaseRequest
securitySchemes:
APIKeyHeader:
type: apiKey
in: header
name: X-API-Key
BearerAuth:
type: http
scheme: bearer