Files
For usage examples, see Usage - Files.
FilesClient
Client for managing files on the Mentiora platform.
Methods
- TypeScript
- Python
upload(params: UploadFileParams): Promise<UploadFileResult>
Upload a file. Content is base64-encoded for transport automatically.
Parameters:
params: UploadFileParams- Upload parameters
Returns: Promise<UploadFileResult>
Example:
const result = await client.files.upload({
filename: 'data.csv',
content: Buffer.from('col1,col2\na,b'),
mimeType: 'text/csv',
description: 'Sample dataset',
});
list(options?: { query?: string; offset?: number; count?: number }): Promise<ListFilesResult>
List files with optional search and pagination.
Parameters:
options.query- Optional search string (matches filename and description)options.offset- Pagination offset (default: 0)options.count- Number of results (default: 50, max: 500)
Returns: Promise<ListFilesResult>
Example:
const files = await client.files.list({ query: 'report', offset: 0, count: 10 });
get(fileId: string): Promise<FileMetadata>
Get file metadata (no content).
Parameters:
fileId: string- The file ID
Returns: Promise<FileMetadata>
Example:
const file = await client.files.get('019d6d5d-d384-7793-9e0f-2592a9986021');
download(fileId: string): Promise<Uint8Array>
Download file content as raw bytes.
Parameters:
fileId: string- The file ID
Returns: Promise<Uint8Array>
Example:
const content = await client.files.download('019d6d5d-d384-7793-9e0f-2592a9986021');
delete(fileId: string): Promise<DeleteFileResult>
Delete a file. Throws NetworkError with status 409 if the file is still referenced by a knowledge base document.
Parameters:
fileId: string- The file ID
Returns: Promise<DeleteFileResult>
Example:
const result = await client.files.delete('019d6d5d-d384-7793-9e0f-2592a9986021');
upload(params: UploadFileParams) -> UploadFileResult
Upload a file (synchronous). Content is base64-encoded for transport automatically.
Parameters:
params: UploadFileParams- Upload parameters
Returns: UploadFileResult
Example:
result = client.files.upload(UploadFileParams(
filename='data.csv',
content=b'col1,col2\na,b',
mime_type='text/csv',
description='Sample dataset',
))
upload_async(params: UploadFileParams) -> UploadFileResult
Upload a file (asynchronous).
Parameters:
params: UploadFileParams- Upload parameters
Returns: UploadFileResult
Example:
result = await client.files.upload_async(UploadFileParams(
filename='data.csv',
content=b'col1,col2\na,b',
mime_type='text/csv',
))
list(query=None, offset=None, count=None) -> ListFilesResult
List files with optional search and pagination (synchronous).
Parameters:
query: str | None- Optional search string (matches filename and description)offset: int | None- Pagination offsetcount: int | None- Number of results (default: 50, max: 500)
Returns: ListFilesResult
Example:
files = client.files.list(query='report', offset=0, count=10)
list_async(query=None, offset=None, count=None) -> ListFilesResult
List files (asynchronous).
Returns: ListFilesResult
get(file_id: str) -> FileMetadata
Get file metadata (synchronous, no content).
Parameters:
file_id: str- The file ID
Returns: FileMetadata
Example:
file = client.files.get('019d6d5d-d384-7793-9e0f-2592a9986021')
get_async(file_id: str) -> FileMetadata
Get file metadata (asynchronous).
Returns: FileMetadata
download(file_id: str) -> bytes
Download file content as raw bytes (synchronous).
Parameters:
file_id: str- The file ID
Returns: bytes
Example:
content = client.files.download('019d6d5d-d384-7793-9e0f-2592a9986021')
download_async(file_id: str) -> bytes
Download file content as raw bytes (asynchronous).
Returns: bytes
delete(file_id: str) -> DeleteFileResult
Delete a file (synchronous). Raises NetworkError with status 409 if the file is still referenced by a knowledge base document.
Parameters:
file_id: str- The file ID
Returns: DeleteFileResult
Example:
result = client.files.delete('019d6d5d-d384-7793-9e0f-2592a9986021')
delete_async(file_id: str) -> DeleteFileResult
Delete a file (asynchronous).
Returns: DeleteFileResult
Types
UploadFileParams
- TypeScript
- Python
interface UploadFileParams {
filename: string; // Name of the file
content: Uint8Array | Buffer; // Raw file content (base64-encoded automatically)
mimeType: string; // MIME type (e.g., 'application/pdf')
description?: string; // Optional description
}
class UploadFileParams:
filename: str # Name of the file
content: bytes # Raw file content (base64-encoded automatically)
mime_type: str # MIME type (e.g., 'application/pdf')
description: str | None # Optional description
FileMetadata
- TypeScript
- Python
interface FileMetadata {
fileId: string; // Unique file identifier
filename: string; // Original filename
mimeType: string; // MIME type
size: number; // File size in bytes
description: string | null; // Optional description
createdAt: string; // ISO 8601 timestamp
updatedAt: string; // ISO 8601 timestamp
}
class FileMetadata:
file_id: str # Unique file identifier
filename: str # Original filename
mime_type: str # MIME type
size: int # File size in bytes
description: str | None # Optional description
created_at: str # ISO 8601 timestamp
updated_at: str # ISO 8601 timestamp
UploadFileResult
- TypeScript
- Python
interface UploadFileResult {
fileId: string; // ID of the uploaded file
}
class UploadFileResult:
file_id: str # ID of the uploaded file
ListFilesResult
- TypeScript
- Python
interface ListFilesResult {
data: FileMetadata[]; // Array of file metadata
totalCount: number; // Total number of files matching the query
}
class ListFilesResult:
data: list[FileMetadata] # List of file metadata
total_count: int # Total number of files matching the query
DeleteFileResult
- TypeScript
- Python
interface DeleteFileResult {
deleted: boolean; // true if the file was deleted
}
class DeleteFileResult:
deleted: bool # True if the file was deleted