Content
Blocks
Get block by ID
GET /blocks/{id}/
Retrieves a block object by its unique identifier.
Path parameters
id (integer) Required
:
A unique integer value identifying the block.
Returns
A BlockInput model.
Status Code
200 OK: Block retrieved successfully.
Update block by ID
PUT /blocks/{id}/
Updates an existing block by its ID. Requires all fields in the body.
Path parameters
id (integer) Required
:
A unique integer value identifying the block.
Request body
A JSON object matching the BlockInput model:
Request example
{
"metadata": {},
"text": "string",
"document_index": 2147483647,
"page_num": 2147483647,
"initial_block_text": "string"
}
Returns
A BlockInput object with updated values.
Status Code
200 OK: Block updated successfully.
Partially update block by ID
PATCH /blocks/{id}/
Partially updates an existing block. Only the provided fields will be updated.
Path parameters
id (integer) Required
:
A unique integer value identifying the block.
Request body
A partial JSON object matching the BlockInput model:
Request example
{
"metadata": {},
"text": "string",
"document_index": 2147483647,
"page_num": 2147483647,
"initial_block_text": "string"
}
Returns
A BlockInput object with updated values.
Status Code
200 OK: Block partially updated successfully.
Delete block by ID
DELETE /blocks/{id}/
Deletes a block by its ID.
Path parameters
id (integer) Required
:
A unique integer value identifying the block.
Status Code
204 No Content: Block successfully deleted.
Documents
List all documents
GET /documents/
Retrieves a paginated list of all uploaded documents.
Query parameters (optional)
page (integer):
Page number of the results.
page_size (integer):
Number of items to return per page.
Returns
An array of Documents objects. Each object includes document metadata, processing status, and associated node information.
Status Code
200 OK: List of documents returned successfully.
Response example
[
{
"id": 0,
"metadata": "string",
"node_id": [
"string"
],
"name": "string",
"doc_type": "Video",
"processing_status": "CREATED",
"processing_error_details": "string",
"created_at": "2025-07-01T19:02:23.221Z",
"updated_at": "2025-07-01T19:02:23.221Z",
"initial_block_text": "string",
"node": 0
}
]
Upload a document
POST /documents/
Uploads a document with optional metadata and associates it to a node. The processing configuration can be set in three ways:
- Manual Configuration: Provide individual processing parameters
- Ingestion Config: Use predefined settings via
ingestion_config_id - Hybrid: Combine an Ingestion Config with custom parameter overrides
When using an ingestion_config_id, the explicitly provided parameters in the request take precedence over the Ingestion Config settings.
Request body (formData)
Document Source (One required)
You must provide exactly one of the following document sources:
file (file, Optional)
Document file to upload. Supported formats include: PDF, DOCX, TXT, Markdown, LaTeX, and various media files.
url (string, Optional)
URL to fetch the document from. The system will download and process the content.
texts (string, Optional)
Raw text content to be processed as a document.
Information and Configuration
name (string) Required
Name of the document. For file uploads, this should match the original filename including the extension (e.g., "document.pdf").
doc_type (string, Optional)
Type of the document. The system can automatically detect the type based on the file format.
Default: Text Document
Enum values:
Video- Video files and multimedia contentLatex Slideshow- LaTeX presentation filesPDF Slideshow- PDF presentation documentsLatex Document- LaTeX document filesText Document- Plain text and general documentsWebpage- Web page content and HTML filesTranscription- Audio/video transcription contentMarkdown- Markdown formatted documents
metadata (string, Optional)
Additional metadata in JSON array format. Each metadata entry can include configuration options:
[
{"key": "author", "value": "John Doe", "metadata_config": "3"},
{"key": "category", "value": "research"}
]
description (string, Optional)
Human-readable description of the document content and purpose. This description will be included in every text block/chunk generated from the document during processing.
ingestion_config_id (integer, Optional)
ID of the Ingestion Configuration to use for processing this document. When provided:
- Applies predefined processing settings
- Makes
node_idoptional if the config specifies a default node - Individual parameters in the request can still override the config settings
node_id (integer)
ID of the node to associate the document with.
*Required unless using an Ingestion Config that specifies a default node.
chunk_overlap (integer, Optional)
Number of overlapping characters between text chunks.
Default: 0
max_size_block (integer, Optional)
Maximum size of each text chunk in characters.
Default: 1500
separators (string, Optional)
Custom text separators for chunking logic. Use specific delimiters to control how text is split.
additional_prompt_instructions (string, Optional)
Additional instructions for AI processing of the document content.
pdf_parsing_mode (string, Optional)
PDF parsing strategy to use.
Default: both
Enum values: manual, OpenAI, both
ocr (boolean, Optional)
Enable Optical Character Recognition for image-based content.
Default: false
images_uuid (string, Optional)
UUID for associated images when processing documents with visual content.
preview (boolean, Optional)
Return a preview of the processed content without full processing.
Default: false
assign_paths_as_metadata (boolean, Optional)
Automatically assign file paths as metadata for organizational purposes.
Default: false
no_chunk (boolean, Optional)
When no_chunk is True the document is not split: the whole content is returned as a single block.
Default: false
Returns
A Document object containing the uploaded document information.
Status Code
200 OK: Document uploaded (with preview).
201 Created: Document successfully created.
400 Bad Request: Invalid input.
404 Not Found: Node not found.
Response example
{
"id": 0,
"metadata": [
{
"key": "autor",
"values": [
"Juan"
],
"metadata_config": 1
}
],
"node_id": 0,
"name": "string",
"doc_type": "Video",
"processing_status": "CREATED",
"processing_error_details": "string",
"editable": true,
"created_at": "2025-07-01T20:46:04.207Z",
"updated_at": "2025-07-01T20:46:04.207Z",
"initial_block_text": "string",
"node": 0
}
Get all document types
GET /documents/doc_types/
Retrieves a list of all supported document types.
Returns
An array of available document types (as strings).
Status Code
200 OK: List of document types returned successfully.
Get document by ID
GET /documents/{id}/
Retrieves the details of a specific document by its ID.
Path parameters
id (string) Required
:
The unique identifier of the document.
Returns
A Document object with the document details.
Status Code
200 OK: Document retrieved successfully.
404 Not Found: No document with the given ID exists.
Response example
{
"id": 0,
"metadata": "string",
"node_id": [
"string"
],
"name": "string",
"doc_type": "Video",
"processing_status": "CREATED",
"processing_error_details": "string",
"created_at": "2025-07-01T19:06:58.483Z",
"updated_at": "2025-07-01T19:06:58.483Z",
"initial_block_text": "string",
"node": 0
}
Update document by ID
PUT /documents/{id}/
Updates a document with optional metadata to a node. Requires the full set of fields.
Path parameters
id (string) Required
:
The unique identifier of the document.
Request body (formData)
file (file, Optional):
The new document file to upload.
url (string, Optional):
URL to fetch the document content from.
texts (string, Optional):
Raw text content.
name (string) Required
:
The name of the document.
doc_type (string, Optional):
Document type. Default: Text Document.
metadata (string, Optional):
Metadata as string (usually JSON).
description (string, Optional):
Document description.
chunk_overlap (integer, Optional):
Default: 0
preview (boolean, Optional):
Default: false
max_size_block (integer, Optional):
Default: 1500
separators (string, Optional):
Text separators for chunking.
additional_prompt_instructions (string, Optional):
Additional processing instructions.
assign_paths_as_metadata (boolean, Optional):
Default: false
pdf_parsing_mode (string, Optional):
Default: both. Possible values: manual, OpenAI, both
images_uuid (string, Optional):
UUID for associated images.
ocr (boolean, Optional):
Default: false
nodes_ids (string, Optional):
Node IDs to associate with the document.
Returns
A Documents object with updated information.
Status Code
200 OK: Document updated successfully.
400 Bad Request: The request is invalid.
404 Not Found: No document with the given ID exists.
Response example
{
"id": 0,
"metadata": "string",
"node_id": [
"string"
],
"name": "string",
"doc_type": "Video",
"processing_status": "CREATED",
"processing_error_details": "string",
"created_at": "2025-07-01T19:06:58.483Z",
"updated_at": "2025-07-01T19:06:58.483Z",
"initial_block_text": "string",
"node": 0
}
Delete document by ID
DELETE /documents/{id}/
Deletes an existing document by its ID.
Path parameters
id (string) Required
:
The unique identifier of the document to delete.
Status Code
204 No Content: Document successfully deleted.
404 Not Found: Document with the given ID does not exist.
Create a block for a document
POST /documents/{id}/blocks/
Creates a new block associated with the specified document.
Path parameters
id (string) Required
:
The ID of the document to which the block will be added.
Request body
A JSON object matching the BlockInput model:
Returns
A BlockInput object containing the created block.
Status Code
201 Created: Block successfully created.
Response example
{
"id": 0,
"metadata": {},
"text": "string",
"document_index": 2147483647,
"page_num": 2147483647,
"created_at": "2025-07-01T19:15:09.268Z",
"updated_at": "2025-07-01T19:15:09.268Z",
"initial_block_text": "string"
}
Delete blocks from a document
DELETE /documents/{id}/blocks/
Deletes multiple blocks from a specific document.
Path parameters
id (string) Required
:
The ID of the document from which blocks will be deleted.
Request body
A JSON object matching the BlocksIds model:
Status Code
200 OK: Blocks successfully deleted.
400 Bad Request: Invalid input.
404 Not Found: Document with given ID not found.
Get metadata for a document
GET /documents/{id}/metadata/
Retrieves all metadata associated with a specific document.
Path parameters
id (string) Required
:
The unique identifier of the document.
Returns
A Metadata object containing a list of metadata items.
Status Code
200 OK: Metadata successfully retrieved.
404 Not Found: Document not found.
Response example
{
"metadata": [
{
"key": "string",
"values": [
"string"
],
"metadata_config": 0
}
]
}
Add metadata to a document
POST /documents/{id}/metadata/
Adds one or more metadata entries to the specified document.
Path parameters
id (string) Required
:
The unique identifier of the document.
Request body
A JSON object matching the Metadata model.
Status Code
201 Created: Metadata successfully added.
400 Bad Request: Invalid metadata structure.
404 Not Found: Document with given ID not found.
Replace document metadata
PATCH /documents/{id}/metadata/
Replaces all the metadata of the document with the received JSON.
Deletes the metadata that is not in the received JSON.
Creates the new metadata that is not in the received JSON.
Updates the metadata that is in the received JSON.
The metadata config is optional. If it is not provided, the default metadata (None) config is used.
Path parameters
id (string) Required
:
The ID of the document whose metadata is to be updated.
Request body
A JSON object matching the Metadata model.
Status Code
200 OK: Metadata successfully updated.
400 Bad Request: Invalid input data.
404 Not Found: Document not found.
Move a document to another topic
PATCH /documents/{id}/move/
Moves a single document to another node (topic), reconciling its metadata against the destination.
Metadata whose config does not exist in the destination node is kept as common metadata (without a metadata config), so no values are lost, and the required metadata configs of the destination are created with their default value.
The move is applied before responding, but the embeddings are recomputed in the background: the document is returned with processing_status PROCESSING and goes back to its previous status once they are up to date, or to ERROR if they could not be regenerated. While it is PROCESSING the response reports no metadata.
Path parameters
id (integer) Required
:
A unique integer value identifying this document.
Request body
A JSON object matching the MoveDocument model.
Request example
{
"destination_node": 0
}
Returns
A Documents object containing updated information.
Status Code
200 OK: Document successfully moved.
400 Bad Request: Invalid input data.
404 Not Found: Document or destination node not found.
Rename a document
PATCH /documents/{id}/rename/
Updates the name of a specific document.
Path parameters
id (integer) Required
:
A unique integer value identifying this document.
Request body
A Document object with the new data.
Returns
A Documents object containing updated information.
Status Code
200 OK: Document successfully renamed.
400 Bad Request: Invalid input data.
404 Not Found: Document not found.
Response example
{
"id": 0,
"metadata": "string",
"node_id": [
"string"
],
"name": "string",
"doc_type": "Video",
"processing_status": "CREATED",
"processing_error_details": "string",
"created_at": "2025-07-01T19:21:39.448Z",
"updated_at": "2025-07-01T19:21:39.448Z",
"initial_block_text": "string",
"node": 0
}
Metadata_configs
Get all metadata configs
GET /metadata_configs/
Retrieves a list of all metadata configurations available.
Returns
An array of MetadataConfig objects.
Status Code
200 OK: List of metadata configurations returned successfully.
Response example
[
{
"id": 0,
"name": "author",
"type": "STRING",
"possible_values": [
"John",
"Bob",
"Steve"
],
"default_value": "John",
"format": "string",
"filtrable": true,
"required": true,
"in_embedding": false,
"in_retrieval": true,
"root_node_id": 1
}
]
Get a specific metadata config by ID
GET /metadata_configs/{metadata_config_id}/
Retrieves a specific metadata configuration by its ID.
Path parameters
metadata_config_id(string) — Required
ID of the metadata config to retrieve.
Returns
A MetadataConfig object.
Status Code
200 OK: Metadata configuration retrieved successfully.
404 Not Found: Metadata configuration not found.
Response example
{
"id": 0,
"name": "author",
"type": "STRING",
"possible_values": [
"John",
"Bob",
"Steve"
],
"default_value": "John",
"format": "string",
"filtrable": true,
"required": true,
"in_embedding": false,
"in_retrieval": true,
"root_node_id": 1
}
Partially update a metadata configuration fields
PATCH /metadata_configs/{metadata_config_id}/
Updates a metadata configuration fields.
Path parameters
metadata_config_id(string) — Required
The unique identifier of the metadata configuration.
Request body
A JSON object matching the MetadataConfigValues model:
Example
{
"in_retrieval": false
}
Returns
An object containing the updated list of possible MetadataConfigValues for the metadata configuration.
Status Code
200 OK: List of values updated successfully.
400 Bad Request: Invalid request data, e.g., missing or malformed values.
404 Not Found: The specified metadata configuration ID does not exist.
Response example
{
"name": "author",
"possible_values": [
"John",
"Bob",
"Steve"
],
"default_value": "John",
"format": null,
"filtrable": true,
"required": true,
"in_embedding": false,
"in_retrieval": false
}
Get a list of metadata configurations
GET /metadata_configs/{metadata_config_id}/values/
Get all possible values for a metadata config.
Path parameters
metadata_config_id(string) — Required
ID of the metadata config to retrieve.
Returns
A MetadataConfig object.
Status Code
200 OK: List of possible values
404 Not Found: Not Found
Response example
{
"values": [
"John",
"Bob",
"Steve"
]
}
Add new values to a metadata config
PATCH /metadata_configs/{metadata_config_id}/values/
Adds one or more values to the list of possible values in a specific metadata configuration.
Path parameters
metadata_config_id(string) — Required
The unique identifier of the metadata configuration to which new values should be added.
Request body
A JSON object matching the MetadataConfigValues model:
Example
{
"values": [
"Mark"
]
}
Returns
An object containing the updated list of possible values for the metadata configuration.
Status Code
200 OK: List of values updated successfully.
400 Bad Request: Invalid request data, e.g., missing or malformed values.
404 Not Found: The specified metadata configuration ID does not exist.
Response example
{
"values": [
"John",
"Bob",
"Steve",
"Mark"
]
}
Delete a value from a metadata config
DELETE /metadata_configs/{metadata_config_id}/values/
Deletes a specific value from the list of possible values in a metadata configuration.
Path parameters
metadata_config_id(string) — Required
The ID of the metadata config to modify.
Request body
A JSON object containing the value to be removed:
Request example
{
"value": "Bob"
}
Status Code
204 No content
400 Bad Request: Invalid request data, e.g., missing or malformed values.
404 Not Found: The specified metadata configuration ID does not exist.
Nodes
Retrieve all nodes
GET /nodes/
Retrieves a paginated list of all nodes with optional filters.
Query parameters (optional)
page (integer):
A page number within the paginated result set.
page_size (integer):
Number of results to return per page.
node_type (string):
Filter nodes by node type.
name (string):
Filter nodes by name.
Returns
A paginated list of Nodes objects.
Status Code
200 OK: List of nodes successfully retrieved.
Response example
{
"count": 0,
"next": "string",
"previous": "string",
"results": [
{
"id": 0,
"delete_orphaned_metadata": false,
"name": "string",
"created_at": "2025-07-01T19:51:54.011Z",
"updated_at": "2025-07-01T19:51:54.011Z",
"initial_block_text": "string",
"node_type": "COMMON",
"parent": 0
}
]
}
Create a new node
POST /nodes/
Creates a new node with the specified data.
Request body
A JSON object matching the Nodes model.
Returns
A Nodes object with the created node information.
Status Code
201 Created: Node successfully created.
Response example
{
"id": 0,
"delete_orphaned_metadata": false,
"name": "string",
"created_at": "2025-07-01T19:57:51.644Z",
"updated_at": "2025-07-01T19:57:51.644Z",
"initial_block_text": "string",
"node_type": "COMMON",
"parent": 0
}
Retrieve a node by ID
GET /nodes/{id}/
Retrieves detailed information about a specific node, including its related documents.
Path parameters
id (integer) Required
:
A unique integer value identifying the node.
Returns
A Node object with detailed node information and associated documents.
Status Code
200 OK: Node successfully retrieved.
Response example
{
"id": 0,
"name": "string",
"parent": 0,
"documents": [
{
"id": 0,
"metadata": "string",
"node_id": [
"string"
],
"name": "string",
"doc_type": "Video",
"processing_status": "CREATED",
"processing_error_details": "string",
"created_at": "2025-07-01T19:59:48.912Z",
"updated_at": "2025-07-01T19:59:48.912Z",
"initial_block_text": "string",
"node": 0
}
],
"initial_block_text": "string",
"node_type": "COMMON",
"created_at": "2025-07-01T19:59:48.912Z",
"updated_at": "2025-07-01T19:59:48.912Z"
}
Update a node
PUT /nodes/{id}/
Updates the information of an existing node.
Path parameters
id (integer) Required
:
A unique integer value identifying the node to update.
Request body
A JSON object matching the Nodes model.
Returns
A Nodes object with the updated node information.
Status Code
200 OK: Node successfully updated.
400 Bad Request: Invalid input data.
404 Not Found: Node with the given ID does not exist.
Response example
{
"id": 0,
"delete_orphaned_metadata": false,
"name": "string",
"created_at": "2025-07-01T20:04:18.239Z",
"updated_at": "2025-07-01T20:04:18.239Z",
"initial_block_text": "string",
"node_type": "COMMON",
"parent": 0
}
Partially update a node
PATCH /nodes/{id}/
Updates one or more fields of an existing node without replacing the entire object.
Path parameters
id (integer) Required
:
A unique integer value identifying the node to update.
Request body
A partial JSON object matching the Nodes model.
Returns
A Nodes object with the updated node information.
Status Code
200 OK: Node successfully updated.
Response example
{
"id": 0,
"delete_orphaned_metadata": false,
"name": "string",
"created_at": "2025-07-01T20:04:18.239Z",
"updated_at": "2025-07-01T20:04:18.239Z",
"initial_block_text": "string",
"node_type": "COMMON",
"parent": 0
}
Delete a node
DELETE /nodes/{id}/
Deletes an existing node by its ID.
Path parameters
id (integer) Required
:
A unique integer value identifying the node to delete.
Status Code
204 No Content: Node successfully deleted.
Get documents in a node
GET /nodes/{id}/documents/
Retrieves a paginated list of documents contained in the specified node.
Path parameters
id (string) Required
:
The unique identifier of the node.
Query parameters (optional)
page (integer):
Page number within the paginated result set.
page_size (integer):
Number of results to return per page.
Returns
A paginated list of DocumentBlocks objects.
Status Code
200 OK: Documents successfully retrieved.
Response example
{
"count": 2,
"next": "string",
"previous": "string",
"results": [
{
"id": 0,
"metadata": "string",
"blocks": "string",
"node_id": [
"string"
],
"name": "string",
"doc_type": "Video",
"processing_status": "CREATED",
"processing_error_details": "string",
"created_at": "2025-07-01T20:11:11.188Z",
"updated_at": "2025-07-01T20:11:11.188Z",
"initial_block_text": "string",
"node": 0,
"embedding": 0
}
]
}
Move documents to another node
PUT /nodes/{id}/documents/
Moves a list of documents from the current node to the specified destination node.
Path parameters
id (string) Required
:
The ID of the current (source) node.
Request body
A JSON object matching the MoveNodeDocuments model.
Status Code
200 OK: Documents successfully moved.
404 Not Found: Source node or destination node not found.
Get metadata configs for a node
GET /nodes/{id}/metadata_configs/
Retrieves metadata configurations for a specific node.
Path parameters
id(string) — Required
The unique identifier of the node.
Query parameters (optional)
page (integer):
A page number within the paginated result set.
page_size (integer):
Number of results to return per page.
Returns
An array of MetadataConfig objects.
Status Code
200 OK: Metadata configurations successfully retrieved.
Response example
{
"count": 0,
"next": "string",
"previous": "string",
"results": [
{
"id": 0,
"name": "author",
"type": "STRING",
"possible_values": [
"John",
"Steve",
"Mark"
],
"default_value": "John",
"format": "string",
"filtrable": true,
"required": true,
"in_embedding": false,
"in_retrieval": false,
"root_node_id": 1
}
]
}
Create a metadata config for a node
POST /nodes/{id}/metadata_configs/
Creates a new metadata configuration for a specific node and all its descendants.
Path parameters
id(string) — Required
The unique identifier of the node.
Request body
A JSON object matching the MetadataConfig model.
Returns
A MetadataConfig object containing the created configuration.
Status Code
201 Created: Metadata configuration successfully created.
400 Bad Request: Invalid input data.
404 Not Found: Node with the given ID does not exist.
Response example
{
"id": 0,
"name": "string",
"type": "STRING",
"possible_values": [],
"default_value": "string",
"format": "string",
"filtrable": true,
"required": true,
"in_embedding": true,
"in_retrieval": true
"root_node_id": 0
}
Remove metadata config from a node
DELETE /nodes/{id}/metadata_configs/{metadata_config_id}/
Removes a metadata configuration from a node only if the node is its own root.
This endpoint does not perform recursive deletion, metadata configurations on child nodes remain untouched.
Path parameters
-
id(string) — Required
The unique identifier of the node. -
metadata_config_id(string) — Required
The unique identifier of the metadata configuration to remove.
Status Code
200 OK: Metadata configuration successfully removed.
400 Bad Request: Invalid request or metadata config cannot be removed.
404 Not Found: Node or metadata configuration not found.
Remove metadata config from a node recursively
DELETE /nodes/{id}/metadata_configs/{metadata_config_id}/recursive/
Removes a metadata configuration from a node only if the node is its own root.
Removes the metadata config from all child nodes as well.
Path parameters
-
id(string) — Required
The unique identifier of the node. -
metadata_config_id(string) — Required
The unique identifier of the metadata configuration to remove.
Status Code
200 OK: Metadata configuration successfully removed from node and all child nodes.
400 Bad Request: Invalid request or metadata config cannot be removed.
404 Not Found: Node or metadata configuration not found.
Reference_formatters
List all reference formatters
GET /reference_formatters/
Retrieves a paginated list of all reference formatters or creates a new one.
Query parameters (optional)
page (integer):
A page number within the paginated result set.
page_size (integer):
Number of results to return per page.
Returns
A paginated list of ReferenceFormatter objects.
Status Code
200 OK: Reference formatters successfully retrieved.
Response example
{
"count": 0,
"next": "string",
"previous": "string",
"results": [
{
"id": 0,
"name": "string",
"description": "string",
"expression": "string"
}
]
}
Create a reference formatter
POST /reference_formatters/
Creates a new reference formatter with the specified configuration.
Request body
A JSON object matching the ReferenceFormatter model.
Returns
A ReferenceFormatter object containing the created formatter.
Status Code
201 Created: Reference formatter successfully created.
Get reference formatter by ID
GET /reference_formatters/{id}/
Retrieves a reference formatter.
Path parameters
id (integer) Required
:
A unique integer value identifying this reference formatter.
Returns
A ReferenceFormatter object.
Status Code
200 OK: Reference formatter successfully retrieved.
Response example
{
"id": 0,
"name": "string",
"description": "string",
"expression": "string"
}
Update a reference formatter
PUT /reference_formatters/{id}/
Updates an existing reference formatter by replacing all its fields with the provided data.
Path parameters
id (integer) Required
:
A unique integer value identifying this reference formatter.
Request body
A JSON object matching the ReferenceFormatter model.
Returns
A ReferenceFormatter object.
Status Code
200 OK: Reference formatter successfully updated.
Response example
{
"id": 0,
"name": "string",
"description": "string",
"expression": "string"
}
Partially update a reference formatter
PATCH /reference_formatters/{id}/
Partially updates an existing reference formatter. Only the provided fields will be updated.
Path parameters
id (integer) Required
:
A unique integer value identifying this reference formatter.
Request body
A partial JSON object matching the ReferenceFormatter model.
Returns
A ReferenceFormatter object.
Status Code
200 OK: Reference formatter successfully updated.
Response example
{
"id": 0,
"name": "string",
"description": "string",
"expression": "string"
}
Delete a reference formatter
DELETE /reference_formatters/{id}/
Deletes an existing reference formatter by its ID.
Path parameters
id (integer) Required
:
A unique integer value identifying this reference formatter.
Status Code
204 No Content: Reference formatter successfully deleted.
Retrievals
List all retrievals
GET /retrievals/
Retrieves a paginated list of all retrievals or creates a new one.
Query parameters (optional)
page (integer):
A page number within the paginated result set.
page_size (integer):
Number of results to return per page.
Returns
A paginated list of Retrieval objects.
Status Code
200 OK: Retrievals successfully retrieved.
Response example
{
"count": 0,
"next": "string",
"previous": "string",
"results": [
{
"id": 0,
"formatters": [
{
"id": 0,
"doc_type": "Video",
"formatter_id": 0
}
],
"description": "string",
"num_refs": 10,
"created_at": "2025-07-01T20:37:16.601Z",
"updated_at": "2025-07-01T20:37:16.601Z",
"reordering": true,
"strategy_reordering": "string",
"retrieval_window": 2147483647,
"reordering_metadata": "string",
"fixed_blocks_reordering": 2147483647,
"previous_blocks": 0,
"next_blocks": 0,
"contingency_for_embedding": true,
"threshold_similarity": 1,
"max_msg_length": 570,
"retrieval_type": "SEARCH",
"node": 0
}
]
}
Create a retrieval
POST /retrievals/
Creates a new retrieval configuration with the specified parameters.
Request body
A JSON object matching the Retrieval model.
Returns
A Retrieval object containing the created retrieval configuration.
Status Code
201 Created: Retrieval successfully created.
400 Bad Request: Invalid input data.
Response example
{
"id": 0,
"formatters": [
{
"id": 0,
"doc_type": "Video",
"formatter_id": 0
}
],
"description": "string",
"num_refs": 10,
"created_at": "2025-07-01T20:40:37.716Z",
"updated_at": "2025-07-01T20:40:37.716Z",
"reordering": true,
"strategy_reordering": "string",
"retrieval_window": 2147483647,
"reordering_metadata": "string",
"fixed_blocks_reordering": 2147483647,
"previous_blocks": 0,
"next_blocks": 0,
"contingency_for_embedding": true,
"threshold_similarity": 1,
"max_msg_length": 570,
"retrieval_type": "SEARCH",
"node": 0
}
Get retrieval by ID
GET /retrievals/{id}/
Retrieves, updates or deletes a retrieval.
Path parameters
id (integer) Required
:
A unique integer value identifying this retrieval.
Returns
A Retrieval object.
Status Code
200 OK: Retrieval successfully retrieved.
Response example
{
"id": 0,
"formatters": [
{
"id": 0,
"doc_type": "Video",
"formatter_id": 0
}
],
"description": "string",
"num_refs": 10,
"created_at": "2025-07-01T20:41:05.514Z",
"updated_at": "2025-07-01T20:41:05.514Z",
"reordering": true,
"strategy_reordering": "string",
"retrieval_window": 2147483647,
"reordering_metadata": "string",
"fixed_blocks_reordering": 2147483647,
"previous_blocks": 0,
"next_blocks": 0,
"contingency_for_embedding": true,
"threshold_similarity": 1,
"max_msg_length": 570,
"retrieval_type": "SEARCH",
"node": 0
}
Update a retrieval
PUT /retrievals/{id}/
Updates an existing retrieval by replacing all its fields with the provided data.
Path parameters
id (integer) Required
:
A unique integer value identifying this retrieval.
Request body
A JSON object matching the Retrieval model.
Returns
A Retrieval object.
Status Code
200 OK: Retrieval successfully updated.
400 Bad Request: Invalid input data.
404 Not Found: Retrieval with the given ID does not exist.
Response example
{
"id": 0,
"formatters": [
{
"id": 0,
"doc_type": "Video",
"formatter_id": 0
}
],
"description": "string",
"num_refs": 10,
"created_at": "2025-07-01T20:41:05.514Z",
"updated_at": "2025-07-01T20:41:05.514Z",
"reordering": true,
"strategy_reordering": "string",
"retrieval_window": 2147483647,
"reordering_metadata": "string",
"fixed_blocks_reordering": 2147483647,
"previous_blocks": 0,
"next_blocks": 0,
"contingency_for_embedding": true,
"threshold_similarity": 1,
"max_msg_length": 570,
"retrieval_type": "SEARCH",
"node": 0
}
Partially update a retrieval
PATCH /retrievals/{id}/
Partially updates an existing retrieval. Only the provided fields will be updated.
Path parameters
id (integer) Required
:
A unique integer value identifying this retrieval.
Request body
A partial JSON object matching the Retrieval model.
Returns
A Retrieval object.
Status Code
200 OK: Retrieval successfully updated.
Response example
{
"id": 0,
"formatters": [
{
"id": 0,
"doc_type": "Video",
"formatter_id": 0
}
],
"description": "string",
"num_refs": 10,
"created_at": "2025-07-01T20:41:05.514Z",
"updated_at": "2025-07-01T20:41:05.514Z",
"reordering": true,
"strategy_reordering": "string",
"retrieval_window": 2147483647,
"reordering_metadata": "string",
"fixed_blocks_reordering": 2147483647,
"previous_blocks": 0,
"next_blocks": 0,
"contingency_for_embedding": true,
"threshold_similarity": 1,
"max_msg_length": 570,
"retrieval_type": "SEARCH",
"node": 0
}
Delete a retrieval
DELETE /retrievals/{id}/
Deletes an existing retrieval by its ID.
Path parameters
id (integer) Required
:
A unique integer value identifying this retrieval.
Status Code
204 No Content: Retrieval successfully deleted.
Retrieve similar blocks
POST /retrievals/{retrieval}/retrieve/
Retrieve similar blocks using the specified retrieval configuration.
Path parameters
retrieval (string) Required
:
The retrieval configuration identifier.
Request body
A JSON object matching the RetrieveSimilarBlocks model.
Returns
A RetrieveSimilarBlocks response object.
Status Code
201 Created: Similar blocks successfully retrieved.
Response example
{
"question": "string",
"doc_type": "Video"
}
Upload_documents
Upload multiple documents
POST /upload_documents/
Uploads multiple documents simultaneously with batch processing capabilities. This endpoint is ideal for bulk operations when you need to upload many documents at once. The processing configuration can be set in three ways:
- Manual Configuration: Provide individual processing parameters that apply to all documents
- Ingestion Config: Use predefined settings via
ingestion_config_id - Hybrid: Combine an Ingestion Config with custom parameter overrides
- Per-document Metadata: Use a metadata file to specify individual settings for each document
- Efficient processing: All documents are processed in a single request
- Consistent configuration: Apply the same settings to multiple documents
- Flexible metadata: Individual document metadata can be specified via metadata file
- Batch status tracking: Monitor the processing status of all documents together
Request body (formData)
files (file) Required
Multiple document files to upload. Supported formats include: PDF, DOCX, TXT, Markdown, LaTeX, and various media files.
- Upload multiple files in a single request
- Each file will be processed according to the specified configuration
- File names will be used as document names
metadata_file (file, Optional)
JSON/.xls/.xlsx/.ods file containing individual metadata and configuration for each document. This file allows you to specify different settings per document.
node_id (string)
Node ID where the documents will be uploaded.
*Required unless using an Ingestion Config that specifies default nodes.
ingestion_config_id (integer, Optional)
ID of the Ingestion Configuration to use for processing all documents. When provided:
- Applies predefined processing settings to all documents
- Makes
node_idoptional if the config specifies default node - Individual document settings in metadata file can still override config settings
chunk_overlap (integer, Optional)
Number of overlapping characters between text chunks for all documents.
Default: 0
max_size_block (integer, Optional)
Maximum size of each text chunk in characters for all documents.
Default: 1500
separators (array of strings, Optional)
Custom text separators for chunking logic applied to all documents. Use specific delimiters to control how text is split.
additional_prompt_instructions (string, Optional)
Additional instructions for AI processing applied to all documents.
pdf_parsing_mode (string, Optional)
PDF parsing strategy to use for all PDF documents.
Default: both
Enum values: manual, OpenAI, both
ocr (boolean, Optional)
Enable Optical Character Recognition for image-based content in all documents.
Default: false
assign_paths_as_metadata (boolean, Optional)
Automatically assign file paths as metadata for organizational purposes for all documents.
Default: false
Returns
For preview (200), returns an object containing a preview of the upload operation.
For successful creation (201), returns an array of Documents objects.
Status Code
200 OK: Upload preview generated successfully.
201 Created: Documents successfully uploaded and created.
400 Bad Request: Invalid input data.
404 Not Found: Node not found.
Response example
[
{
"id": 0,
"metadata": [
{
"key": "autor",
"values": [
"Juan"
],
"metadata_config": 1
}
],
"node_id": 0,
"name": "string",
"doc_type": "Video",
"processing_status": "CREATED",
"processing_error_details": "string",
"editable": true,
"created_at": "2025-07-01T20:46:04.207Z",
"updated_at": "2025-07-01T20:46:04.207Z",
"initial_block_text": "string",
"node": 0
}
]