openapi: 3.1.0 info: title: Agno API Reference A2A Knowledge API description: The all-in-one, private, secure agent platform that runs in your cloud. version: 2.5.6 tags: - name: Knowledge paths: /knowledge/content: post: tags: - Knowledge summary: Upload Content description: Upload content to the knowledge base. Supports file uploads, text content, or URLs. Content is processed asynchronously in the background. Supports custom readers and chunking strategies. operationId: upload_content security: - HTTPBearer: [] parameters: - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Database ID to use for content storage title: Db Id description: Database ID to use for content storage - name: knowledge_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Knowledge base ID to upload to title: Knowledge Id description: Knowledge base ID to upload to requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/Body_upload_content' responses: '202': description: Content upload accepted for processing content: application/json: schema: $ref: '#/components/schemas/ContentResponseSchema' example: id: content-123 name: example-document.pdf description: Sample document for processing metadata: category: documentation priority: high status: processing '400': description: Invalid request - malformed metadata or missing content content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation error in form data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' get: tags: - Knowledge summary: List Content description: Retrieve paginated list of all content in the knowledge base with filtering and sorting options. Filter by status, content type, or metadata properties. operationId: get_content security: - HTTPBearer: [] parameters: - name: limit in: query required: false schema: anyOf: - type: integer minimum: 1 - type: 'null' description: Number of content entries to return default: 20 title: Limit description: Number of content entries to return - name: page in: query required: false schema: anyOf: - type: integer minimum: 0 - type: 'null' description: Page number default: 1 title: Page description: Page number - name: sort_by in: query required: false schema: anyOf: - type: string - type: 'null' description: Field to sort by default: created_at title: Sort By description: Field to sort by - name: sort_order in: query required: false schema: anyOf: - $ref: '#/components/schemas/SortOrder' - type: 'null' description: Sort order (asc or desc) default: desc title: Sort Order description: Sort order (asc or desc) - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Database ID to use title: Db Id description: Database ID to use - name: knowledge_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Knowledge base ID to use title: Knowledge Id description: Knowledge base ID to use responses: '200': description: Content list retrieved successfully content: application/json: schema: $ref: '#/components/schemas/PaginatedResponse_ContentResponseSchema_' example: data: - id: 3c2fc685-d451-4d47-b0c0-b9a544c672b7 name: example.pdf description: '' type: application/pdf size: '251261' metadata: {} access_count: 1 status: completed status_message: '' created_at: '2025-09-08T15:22:53Z' updated_at: '2025-09-08T15:22:54Z' meta: page: 1 limit: 20 total_pages: 1 total_count: 2 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' delete: tags: - Knowledge summary: Delete All Content description: Permanently remove all content from the knowledge base. This is a destructive operation that cannot be undone. Use with extreme caution. operationId: delete_all_content security: - HTTPBearer: [] parameters: - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Database ID to use title: Db Id description: Database ID to use - name: knowledge_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Knowledge base ID to use title: Knowledge Id description: Knowledge base ID to use responses: '200': description: Successful Response content: application/json: schema: {} '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Failed to delete all content content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' /knowledge/remote-content: post: tags: - Knowledge summary: Upload Remote Content description: Upload content from a remote source (S3, GCS, SharePoint, GitHub) to the knowledge base. Content is processed asynchronously in the background. operationId: upload_remote_content security: - HTTPBearer: [] parameters: - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Database ID to use for content storage title: Db Id description: Database ID to use for content storage - name: knowledge_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Knowledge base ID to upload to title: Knowledge Id description: Knowledge base ID to upload to requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Body_upload_remote_content' responses: '202': description: Remote content upload accepted for processing content: application/json: schema: $ref: '#/components/schemas/ContentResponseSchema' example: id: content-456 name: reports/q1-2024.pdf description: Q1 Report from S3 metadata: source: s3-docs status: processing '400': description: Invalid request - unknown config or missing path content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation error in request body content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' /knowledge/content/{content_id}: patch: tags: - Knowledge summary: Update Content description: Update content properties such as name, description, metadata, or processing configuration. Allows modification of existing content without re-uploading. operationId: update_content security: - HTTPBearer: [] parameters: - name: content_id in: path required: true schema: type: string description: Content ID title: Content Id description: Content ID - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Database ID to use title: Db Id description: Database ID to use - name: knowledge_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Knowledge base ID to use title: Knowledge Id description: Knowledge base ID to use requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Body_update_content' responses: '200': description: Content updated successfully content: application/json: schema: $ref: '#/components/schemas/ContentResponseSchema' example: id: 3c2fc685-d451-4d47-b0c0-b9a544c672b7 name: example.pdf description: '' type: application/pdf size: '251261' metadata: {} access_count: 1 status: completed status_message: '' created_at: '2025-09-08T15:22:53Z' updated_at: '2025-09-08T15:22:54Z' '400': description: Invalid request - malformed metadata or invalid reader_id content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Content not found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' get: tags: - Knowledge summary: Get Content by ID description: Retrieve detailed information about a specific content item including processing status and metadata. operationId: get_content_by_id security: - HTTPBearer: [] parameters: - name: content_id in: path required: true schema: type: string title: Content Id - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Database ID to use title: Db Id description: Database ID to use - name: knowledge_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Knowledge base ID to use title: Knowledge Id description: Knowledge base ID to use responses: '200': description: Content details retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ContentResponseSchema' example: id: 3c2fc685-d451-4d47-b0c0-b9a544c672b7 name: example.pdf description: '' type: application/pdf size: '251261' metadata: {} access_count: 1 status: completed status_message: '' created_at: '2025-09-08T15:22:53Z' updated_at: '2025-09-08T15:22:54Z' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Content not found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' delete: tags: - Knowledge summary: Delete Content by ID description: Permanently remove a specific content item from the knowledge base. This action cannot be undone. operationId: delete_content_by_id security: - HTTPBearer: [] parameters: - name: content_id in: path required: true schema: type: string title: Content Id - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Database ID to use title: Db Id description: Database ID to use - name: knowledge_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Knowledge base ID to use title: Knowledge Id description: Knowledge base ID to use responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ContentResponseSchema' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Content not found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Failed to delete content content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' /knowledge/content/{content_id}/status: get: tags: - Knowledge summary: Get Content Status description: Retrieve the current processing status of a content item. Useful for monitoring asynchronous content processing progress and identifying any processing errors. operationId: get_content_status security: - HTTPBearer: [] parameters: - name: content_id in: path required: true schema: type: string title: Content Id - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Database ID to use title: Db Id description: Database ID to use - name: knowledge_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Knowledge base ID to use title: Knowledge Id description: Knowledge base ID to use responses: '200': description: Content status retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ContentStatusResponse' examples: completed: summary: Example completed content status value: status: completed status_message: '' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Content not found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' /knowledge/search: post: tags: - Knowledge summary: Search Knowledge description: Search the knowledge base for relevant documents using query, filters and search type. operationId: search_knowledge requestBody: content: application/json: schema: $ref: '#/components/schemas/VectorSearchRequestSchema' required: true responses: '200': description: Search results retrieved successfully content: application/json: schema: $ref: '#/components/schemas/PaginatedResponse_VectorSearchResult_' example: data: - id: doc_123 content: Jordan Mitchell - Software Engineer with skills in JavaScript, React, Python name: cv_1 meta_data: page: 1 chunk: 1 usage: total_tokens: 14 reranking_score: 0.95 content_id: content_456 meta: page: 1 limit: 20 total_pages: 2 total_count: 35 '400': description: Invalid search parameters '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: No documents found '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' security: - HTTPBearer: [] /knowledge/config: get: tags: - Knowledge summary: Get Config description: Retrieve available readers, chunkers, and configuration options for content processing. This endpoint provides metadata about supported file types, processing strategies, and filters. operationId: get_knowledge_config security: - HTTPBearer: [] parameters: - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Database ID to use title: Db Id description: Database ID to use - name: knowledge_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Knowledge base ID to use title: Knowledge Id description: Knowledge base ID to use responses: '200': description: Knowledge configuration retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ConfigResponseSchema' example: readers: website: id: website name: WebsiteReader description: Reads website files chunkers: - AgenticChunker - DocumentChunker - RecursiveChunker - SemanticChunker - FixedSizeChunker firecrawl: id: firecrawl name: FirecrawlReader description: Reads firecrawl files chunkers: - SemanticChunker - FixedSizeChunker - AgenticChunker - DocumentChunker - RecursiveChunker youtube: id: youtube name: YoutubeReader description: Reads youtube files chunkers: - RecursiveChunker - AgenticChunker - DocumentChunker - SemanticChunker - FixedSizeChunker web_search: id: web_search name: WebSearchReader description: Reads web_search files chunkers: - AgenticChunker - DocumentChunker - RecursiveChunker - SemanticChunker - FixedSizeChunker arxiv: id: arxiv name: ArxivReader description: Reads arxiv files chunkers: - FixedSizeChunker - AgenticChunker - DocumentChunker - RecursiveChunker - SemanticChunker csv: id: csv name: CsvReader description: Reads csv files chunkers: - RowChunker - FixedSizeChunker - AgenticChunker - DocumentChunker - RecursiveChunker docx: id: docx name: DocxReader description: Reads docx files chunkers: - DocumentChunker - FixedSizeChunker - SemanticChunker - AgenticChunker - RecursiveChunker gcs: id: gcs name: GcsReader description: Reads gcs files chunkers: - FixedSizeChunker - AgenticChunker - DocumentChunker - RecursiveChunker - SemanticChunker json: id: json name: JsonReader description: Reads json files chunkers: - FixedSizeChunker - AgenticChunker - DocumentChunker - RecursiveChunker - SemanticChunker markdown: id: markdown name: MarkdownReader description: Reads markdown files chunkers: - MarkdownChunker - DocumentChunker - AgenticChunker - RecursiveChunker - SemanticChunker - FixedSizeChunker pdf: id: pdf name: PdfReader description: Reads pdf files chunkers: - DocumentChunker - FixedSizeChunker - AgenticChunker - SemanticChunker - RecursiveChunker text: id: text name: TextReader description: Reads text files chunkers: - CodeChunker - FixedSizeChunker - AgenticChunker - DocumentChunker - RecursiveChunker - SemanticChunker readersForType: url: - url - website - firecrawl - youtube - web_search - gcs youtube: - youtube text: - web_search topic: - arxiv file: - csv - gcs .csv: - csv - field_labeled_csv .xlsx: - excel .xls: - excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: - excel application/vnd.ms-excel: - excel .docx: - docx .doc: - docx .json: - json .md: - markdown .pdf: - pdf .txt: - text chunkers: AgenticChunker: key: AgenticChunker name: AgenticChunker description: Chunking strategy that uses an LLM to determine natural breakpoints in the text metadata: chunk_size: 5000 CodeChunker: key: CodeChunker name: CodeChunker description: The CodeChunker splits code into chunks based on its structure, leveraging Abstract Syntax Trees (ASTs) to create contextually relevant segments metadata: chunk_size: 2048 DocumentChunker: key: DocumentChunker name: DocumentChunker description: A chunking strategy that splits text based on document structure like paragraphs and sections metadata: chunk_size: 5000 chunk_overlap: 0 FixedSizeChunker: key: FixedSizeChunker name: FixedSizeChunker description: Chunking strategy that splits text into fixed-size chunks with optional overlap metadata: chunk_size: 5000 chunk_overlap: 0 MarkdownChunker: key: MarkdownChunker name: MarkdownChunker description: A chunking strategy that splits markdown based on structure like headers, paragraphs and sections metadata: chunk_size: 5000 chunk_overlap: 0 RecursiveChunker: key: RecursiveChunker name: RecursiveChunker description: Chunking strategy that recursively splits text into chunks by finding natural break points metadata: chunk_size: 5000 chunk_overlap: 0 RowChunker: key: RowChunker name: RowChunker description: RowChunking chunking strategy metadata: {} SemanticChunker: key: SemanticChunker name: SemanticChunker description: Chunking strategy that splits text into semantic chunks using chonkie metadata: chunk_size: 5000 vector_dbs: - id: vector_db_1 name: Vector DB 1 description: Vector DB 1 description search_types: - vector - keyword - hybrid filters: - filter_tag_1 - filter_tag2 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' /knowledge/{knowledge_id}/sources: get: tags: - Knowledge summary: List Content Sources description: List all registered content sources (S3, GCS, SharePoint, GitHub) for the knowledge base. operationId: list_content_sources security: - HTTPBearer: [] parameters: - name: knowledge_id in: path required: true schema: type: string description: ID of the knowledge base title: Knowledge Id description: ID of the knowledge base - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: The ID of the database to use title: Db Id description: The ID of the database to use responses: '200': description: Content sources retrieved successfully content: application/json: schema: type: array items: $ref: '#/components/schemas/RemoteContentSourceSchema' title: Response List Content Sources example: - id: company-s3 name: Company Documents type: s3 prefix: documents/ '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Knowledge base not found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' /knowledge/{knowledge_id}/sources/{source_id}/files: get: tags: - Knowledge summary: List Files in Source description: List available files and folders in a specific content source. Supports pagination and folder navigation. operationId: list_source_files security: - HTTPBearer: [] parameters: - name: knowledge_id in: path required: true schema: type: string description: ID of the knowledge base title: Knowledge Id description: ID of the knowledge base - name: source_id in: path required: true schema: type: string description: ID of the content source title: Source Id description: ID of the content source - name: prefix in: query required: false schema: anyOf: - type: string - type: 'null' description: Path prefix to filter files title: Prefix description: Path prefix to filter files - name: limit in: query required: false schema: type: integer maximum: 1000 minimum: 1 description: Number of files per page default: 100 title: Limit description: Number of files per page - name: page in: query required: false schema: type: integer minimum: 1 description: Page number (1-indexed) default: 1 title: Page description: Page number (1-indexed) - name: delimiter in: query required: false schema: type: string description: Folder delimiter (enables folder grouping) default: / title: Delimiter description: Folder delimiter (enables folder grouping) - name: db_id in: query required: false schema: anyOf: - type: string - type: 'null' description: The ID of the database to use title: Db Id description: The ID of the database to use responses: '200': description: Files listed successfully content: application/json: schema: $ref: '#/components/schemas/SourceFilesResponseSchema' example: source_id: company-s3 source_name: Company Documents prefix: reports/ folders: - prefix: reports/2024/ name: '2024' is_empty: false files: - key: reports/annual-summary.pdf name: annual-summary.pdf size: 102400 last_modified: '2024-01-15T10:30:00Z' content_type: application/pdf meta: page: 1 limit: 100 total_pages: 1 total_count: 1 '400': description: Unsupported source type content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/UnauthenticatedResponse' '404': description: Knowledge base or content source not found content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerErrorResponse' components: schemas: ConfigResponseSchema: properties: readers: anyOf: - additionalProperties: $ref: '#/components/schemas/ReaderSchema' type: object - type: 'null' title: Readers description: Available content readers readersForType: anyOf: - additionalProperties: items: type: string type: array type: object - type: 'null' title: Readersfortype description: Mapping of content types to reader IDs chunkers: anyOf: - additionalProperties: $ref: '#/components/schemas/ChunkerSchema' type: object - type: 'null' title: Chunkers description: Available chunking strategies filters: anyOf: - items: type: string type: array - type: 'null' title: Filters description: Available filter tags vector_dbs: anyOf: - items: $ref: '#/components/schemas/VectorDbSchema' type: array - type: 'null' title: Vector Dbs description: Configured vector databases remote_content_sources: anyOf: - items: $ref: '#/components/schemas/RemoteContentSourceSchema' type: array - type: 'null' title: Remote Content Sources description: Configured remote content sources (S3, GCS, SharePoint, GitHub) type: object title: ConfigResponseSchema InternalServerErrorResponse: properties: detail: type: string title: Detail description: Error detail message error_code: anyOf: - type: string - type: 'null' title: Error Code description: Error code for categorization type: object required: - detail title: InternalServerErrorResponse example: detail: Internal server error error_code: INTERNAL_SERVER_ERROR SourceFileSchema: properties: key: type: string title: Key description: Full path/key of the file name: type: string title: Name description: Display name (filename) size: anyOf: - type: integer - type: 'null' title: Size description: File size in bytes last_modified: anyOf: - type: string format: date-time - type: 'null' title: Last Modified description: ISO 8601 timestamp of last modification content_type: anyOf: - type: string - type: 'null' title: Content Type description: MIME type of the file type: object required: - key - name title: SourceFileSchema description: Schema for a file in a content source. Meta: properties: limit: type: integer minimum: 1 title: Limit description: Number of results per page default: 20 page: type: integer minimum: 1 title: Page description: Page number default: 1 type: object title: Meta description: Inline metadata schema for pagination. Body_update_content: properties: name: anyOf: - type: string - type: 'null' title: Name description: Content name description: anyOf: - type: string - type: 'null' title: Description description: Content description metadata: anyOf: - type: string - type: 'null' title: Metadata description: Content metadata as JSON string reader_id: anyOf: - type: string - type: 'null' title: Reader Id description: ID of the reader to use for processing type: object title: Body_update_content Body_upload_remote_content: properties: config_id: type: string title: Config Id description: ID of the configured remote content source (from /knowledge/config) path: type: string title: Path description: Path to file or folder in the remote source name: anyOf: - type: string - type: 'null' title: Name description: Content name (auto-generated if not provided) description: anyOf: - type: string - type: 'null' title: Description description: Content description metadata: anyOf: - type: string - type: 'null' title: Metadata description: JSON metadata object reader_id: anyOf: - type: string - type: 'null' title: Reader Id description: ID of the reader to use for processing chunker: anyOf: - type: string - type: 'null' title: Chunker description: Chunking strategy to apply chunk_size: anyOf: - type: integer - type: 'null' title: Chunk Size description: Chunk size for processing chunk_overlap: anyOf: - type: integer - type: 'null' title: Chunk Overlap description: Chunk overlap for processing type: object required: - config_id - path title: Body_upload_remote_content VectorSearchRequestSchema: properties: query: type: string title: Query description: The search query text db_id: anyOf: - type: string - type: 'null' title: Db Id description: Database ID to search in knowledge_id: anyOf: - type: string - type: 'null' title: Knowledge Id description: Knowledge base ID to search in vector_db_ids: anyOf: - items: type: string type: array - type: 'null' title: Vector Db Ids description: List of vector database IDs to search in search_type: anyOf: - type: string - type: 'null' title: Search Type description: The type of search to perform (vector, keyword, hybrid) max_results: anyOf: - type: integer maximum: 1000 minimum: 1 - type: 'null' title: Max Results description: The maximum number of results to return filters: anyOf: - additionalProperties: true type: object - type: 'null' title: Filters description: Filters to apply to the search results meta: anyOf: - $ref: '#/components/schemas/Meta' - type: 'null' description: Pagination metadata. Limit and page number to return a subset of results. type: object required: - query title: VectorSearchRequestSchema description: Schema for vector search request. UnauthenticatedResponse: properties: detail: type: string title: Detail description: Error detail message error_code: anyOf: - type: string - type: 'null' title: Error Code description: Error code for categorization type: object required: - detail title: UnauthenticatedResponse example: detail: Unauthenticated access error_code: UNAUTHENTICATED PaginatedResponse_VectorSearchResult_: properties: data: items: $ref: '#/components/schemas/VectorSearchResult' type: array title: Data description: List of items for the current page meta: $ref: '#/components/schemas/PaginationInfo' description: Pagination metadata type: object required: - data - meta title: PaginatedResponse[VectorSearchResult] ContentStatus: type: string enum: - processing - completed - failed title: ContentStatus description: Enumeration of possible content processing statuses. NotFoundResponse: properties: detail: type: string title: Detail description: Error detail message error_code: anyOf: - type: string - type: 'null' title: Error Code description: Error code for categorization type: object required: - detail title: NotFoundResponse example: detail: Not found error_code: NOT_FOUND Body_upload_content: properties: name: anyOf: - type: string - type: 'null' title: Name description: Content name (auto-generated from file/URL if not provided) description: anyOf: - type: string - type: 'null' title: Description description: Content description for context url: anyOf: - type: string - type: 'null' title: Url description: URL to fetch content from (JSON array or single URL string) metadata: anyOf: - type: string - type: 'null' title: Metadata description: JSON metadata object for additional content properties file: anyOf: - type: string contentMediaType: application/octet-stream - type: 'null' title: File description: File to upload for processing text_content: anyOf: - type: string - type: 'null' title: Text Content description: Raw text content to process reader_id: anyOf: - type: string - type: 'null' title: Reader Id description: ID of the reader to use for content processing chunker: anyOf: - type: string - type: 'null' title: Chunker description: Chunking strategy to apply during processing chunk_size: anyOf: - type: integer - type: 'null' title: Chunk Size description: Chunk size to use for processing chunk_overlap: anyOf: - type: integer - type: 'null' title: Chunk Overlap description: Chunk overlap to use for processing type: object title: Body_upload_content PaginationInfo: properties: page: type: integer minimum: 0 title: Page description: Current page number (0-indexed) default: 0 limit: type: integer minimum: 1 title: Limit description: Number of items per page default: 20 total_pages: type: integer minimum: 0 title: Total Pages description: Total number of pages default: 0 total_count: type: integer minimum: 0 title: Total Count description: Total count of items default: 0 search_time_ms: type: number minimum: 0 title: Search Time Ms description: Search execution time in milliseconds default: 0 type: object title: PaginationInfo BadRequestResponse: properties: detail: type: string title: Detail description: Error detail message error_code: anyOf: - type: string - type: 'null' title: Error Code description: Error code for categorization type: object required: - detail title: BadRequestResponse example: detail: Bad request error_code: BAD_REQUEST ValidationErrorResponse: properties: detail: type: string title: Detail description: Error detail message error_code: anyOf: - type: string - type: 'null' title: Error Code description: Error code for categorization type: object required: - detail title: ValidationErrorResponse example: detail: Validation error error_code: VALIDATION_ERROR ContentStatusResponse: properties: id: anyOf: - type: string - type: 'null' title: Id description: Content ID status: $ref: '#/components/schemas/ContentStatus' description: Current processing status of the content status_message: type: string title: Status Message description: Status message or error details default: '' type: object required: - status title: ContentStatusResponse description: Response model for content status endpoint. ContentResponseSchema: properties: id: type: string title: Id description: Unique identifier for the content name: anyOf: - type: string - type: 'null' title: Name description: Name of the content description: anyOf: - type: string - type: 'null' title: Description description: Description of the content type: anyOf: - type: string - type: 'null' title: Type description: MIME type of the content size: anyOf: - type: string - type: 'null' title: Size description: Size of the content in bytes linked_to: anyOf: - type: string - type: 'null' title: Linked To description: ID of related content if linked metadata: anyOf: - additionalProperties: true type: object - type: 'null' title: Metadata description: Additional metadata as key-value pairs access_count: anyOf: - type: integer minimum: 0 - type: 'null' title: Access Count description: Number of times content has been accessed status: anyOf: - $ref: '#/components/schemas/ContentStatus' - type: 'null' description: Processing status of the content status_message: anyOf: - type: string - type: 'null' title: Status Message description: Status message or error details created_at: anyOf: - type: string format: date-time - type: 'null' title: Created At description: Timestamp when content was created updated_at: anyOf: - type: string format: date-time - type: 'null' title: Updated At description: Timestamp when content was last updated type: object required: - id title: ContentResponseSchema VectorDbSchema: properties: id: type: string title: Id description: Unique identifier for the vector database name: anyOf: - type: string - type: 'null' title: Name description: Name of the vector database description: anyOf: - type: string - type: 'null' title: Description description: Description of the vector database search_types: anyOf: - items: type: string type: array - type: 'null' title: Search Types description: List of supported search types (vector, keyword, hybrid) type: object required: - id title: VectorDbSchema RemoteContentSourceSchema: properties: id: type: string title: Id description: Unique identifier for the content source name: type: string title: Name description: Display name for the content source type: type: string title: Type description: Type of content source (s3, gcs, sharepoint, github, azureblob) metadata: anyOf: - additionalProperties: true type: object - type: 'null' title: Metadata description: Custom metadata for the content source prefix: anyOf: - type: string - type: 'null' title: Prefix description: Default path prefix for this source type: object required: - id - name - type title: RemoteContentSourceSchema description: Schema for remote content source configuration. SortOrder: type: string enum: - asc - desc title: SortOrder ChunkerSchema: properties: key: type: string title: Key name: anyOf: - type: string - type: 'null' title: Name description: anyOf: - type: string - type: 'null' title: Description metadata: anyOf: - additionalProperties: true type: object - type: 'null' title: Metadata type: object required: - key title: ChunkerSchema VectorSearchResult: properties: id: type: string title: Id description: Unique identifier for the search result document content: type: string title: Content description: Content text of the document name: anyOf: - type: string - type: 'null' title: Name description: Name of the document meta_data: anyOf: - additionalProperties: true type: object - type: 'null' title: Meta Data description: Metadata associated with the document usage: anyOf: - additionalProperties: true type: object - type: 'null' title: Usage description: Usage statistics (e.g., token counts) reranking_score: anyOf: - type: number maximum: 1 minimum: 0 - type: 'null' title: Reranking Score description: Reranking score for relevance content_id: anyOf: - type: string - type: 'null' title: Content Id description: ID of the source content content_origin: anyOf: - type: string - type: 'null' title: Content Origin description: Origin URL or source of the content size: anyOf: - type: integer minimum: 0 - type: 'null' title: Size description: Size of the content in bytes type: object required: - id - content title: VectorSearchResult description: Schema for search result documents. SourceFilesResponseSchema: properties: source_id: type: string title: Source Id description: ID of the content source source_name: type: string title: Source Name description: Name of the content source prefix: anyOf: - type: string - type: 'null' title: Prefix description: Prefix filter that was applied folders: items: $ref: '#/components/schemas/SourceFolderSchema' type: array title: Folders description: Subfolders at this level files: items: $ref: '#/components/schemas/SourceFileSchema' type: array title: Files description: List of files at this level meta: $ref: '#/components/schemas/PaginationInfo' description: Pagination metadata type: object required: - source_id - source_name - meta title: SourceFilesResponseSchema description: Response schema for listing files in a content source. PaginatedResponse_ContentResponseSchema_: properties: data: items: $ref: '#/components/schemas/ContentResponseSchema' type: array title: Data description: List of items for the current page meta: $ref: '#/components/schemas/PaginationInfo' description: Pagination metadata type: object required: - data - meta title: PaginatedResponse[ContentResponseSchema] SourceFolderSchema: properties: prefix: type: string title: Prefix description: Full prefix to use for navigating into this folder name: type: string title: Name description: Display name of the folder is_empty: type: boolean title: Is Empty description: Whether the folder contains any files default: false type: object required: - prefix - name title: SourceFolderSchema description: Schema for a folder in a content source. ReaderSchema: properties: id: type: string title: Id description: Unique identifier for the reader name: anyOf: - type: string - type: 'null' title: Name description: Name of the reader description: anyOf: - type: string - type: 'null' title: Description description: Description of the reader's capabilities chunkers: anyOf: - items: type: string type: array - type: 'null' title: Chunkers description: List of supported chunking strategies type: object required: - id title: ReaderSchema securitySchemes: HTTPBearer: type: http scheme: bearer