File Management

Operations for uploading and managing project files

Upload multiple files to a project with enhanced support

post

Uploads one or more files to be associated with a project for research and content generation purposes.

Enhanced Features:

  • Support for 20+ file types including PDF, Word, TXT, Markdown, Python, JSON, XML, CSV, HTML, TEX, JavaScript, C, YAML, TOML, and more

  • Multi-file upload support (single or multiple files per request)

  • Advanced validation with detailed error reporting

  • Automatic duplicate detection and prevention

  • Comprehensive response formatting with upload summary

  • Secure file storage with unique naming and proper cleanup on errors

File Type Support: PDF, Word Documents, Text Files, Markdown, Python Scripts, JSON Data, XML Documents, CSV Files, HTML Files, TEX/LaTeX, JavaScript, C Source Code, YAML Configuration, TOML Configuration, Jupyter Notebooks, RSS/Atom Feeds, SVG Images, and more.

Upload Limits:

  • Maximum file size: 50MB per file

  • No limit on number of files per request

  • Automatic validation and error reporting for each file

Authorizations
AuthorizationstringRequired

JWT token for user session authentication.

Body
projectIdstring · uuidRequired

ID of the project to associate files with

Example: 123e4567-e89b-12d3-a456-426614174000
filesstring · binary[]Optional

Multiple files to upload (alternative to single file)

filestring · binaryOptional

Single file to upload (alternative to files array)

Responses
chevron-right
200

All files uploaded successfully

application/json
successbooleanOptionalExample: true
post
/uploadProjectFiles

Get files associated with a project

get

Retrieves a list of all files uploaded to a specific project

Authorizations
AuthorizationstringRequired

JWT token for user session authentication.

Query parameters
projectIdstring · uuidRequired

ID of the project to get files for

Responses
chevron-right
200

Project files retrieved successfully

application/json

Represents a file uploaded to a project

idstring · uuidRequired

The unique identifier for the file

project_idstring · uuidRequired

The ID of the project this file belongs to

file_namestringRequired

The original name of the uploaded file

Example: research_paper.pdf
file_sizenumberRequired

The size of the file in bytes

Example: 1048576
file_typestringRequired

The MIME type of the file

Example: application/pdf
storage_pathstringRequired

The path where the file is stored

created_atstring · date-timeRequired

When the file was uploaded

updated_atstring · date-timeRequired

When the file was last updated

get
/getProjectFiles

Delete a project file

delete

Removes a file from a project and deletes it from storage

Authorizations
x-api-keystringRequired

API key for external service authentication.

Query parameters
fileIdstring · uuidRequired

ID of the file to delete

Responses
chevron-right
200

File deleted successfully

application/json
messagestringOptionalExample: File deleted successfully
delete
/deleteProjectFile

Last updated