Skip to content
  • Auto
  • Light
  • Dark
DiscordForumGitHubSign up
View as Markdown
Copy Markdown

Open in Claude
Open in ChatGPT

Upload File To Folder

folders.files.upload(strfolder_id, FileUploadParams**kwargs) -> FileUploadResponse
post/v1/folders/{folder_id}/upload

Upload a file to a data folder.

ParametersExpand Collapse
folder_id: str

The ID of the source in the format 'source-'

minLength43
maxLength43
file: FileTypes
duplicate_handling: Optional[Literal["skip", "error", "suffix", "replace"]]

How to handle duplicate filenames

Accepts one of the following:
"skip"
"error"
"suffix"
"replace"
name: Optional[str]

Optional custom name to override the uploaded file's name

ReturnsExpand Collapse
class FileUploadResponse:

Representation of a single FileMetadata

id: str

The human-friendly ID of the File

source_id: str

The unique identifier of the source associated with the document.

chunks_embedded: Optional[int]

Number of chunks that have been embedded.

content: Optional[str]

Optional full-text content of the file; only populated on demand due to its size.

created_at: Optional[datetime]

The creation date of the file.

formatdate-time
error_message: Optional[str]

Optional error message if the file failed processing.

file_creation_date: Optional[str]

The creation date of the file.

file_last_modified_date: Optional[str]

The last modified date of the file.

file_name: Optional[str]

The name of the file.

file_path: Optional[str]

The path to the file.

file_size: Optional[int]

The size of the file in bytes.

file_type: Optional[str]

The type of the file (MIME type).

original_file_name: Optional[str]

The original name of the file as uploaded.

processing_status: Optional[Literal["pending", "parsing", "embedding", 2 more]]

The current processing status of the file (e.g. pending, parsing, embedding, completed, error).

Accepts one of the following:
"pending"
"parsing"
"embedding"
"completed"
"error"
total_chunks: Optional[int]

Total number of chunks for the file.

updated_at: Optional[datetime]

The update date of the file.

formatdate-time
Upload File To Folder
from letta_client import Letta

client = Letta(
    api_key="My API Key",
)
response = client.folders.files.upload(
    folder_id="source-123e4567-e89b-42d3-8456-426614174000",
    file=b"raw file contents",
)
print(response.id)
{
  "id": "file-123e4567-e89b-12d3-a456-426614174000",
  "source_id": "source_id",
  "chunks_embedded": 0,
  "content": "content",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "file_creation_date": "file_creation_date",
  "file_last_modified_date": "file_last_modified_date",
  "file_name": "file_name",
  "file_path": "file_path",
  "file_size": 0,
  "file_type": "file_type",
  "original_file_name": "original_file_name",
  "processing_status": "pending",
  "total_chunks": 0,
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "id": "file-123e4567-e89b-12d3-a456-426614174000",
  "source_id": "source_id",
  "chunks_embedded": 0,
  "content": "content",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "file_creation_date": "file_creation_date",
  "file_last_modified_date": "file_last_modified_date",
  "file_name": "file_name",
  "file_path": "file_path",
  "file_size": 0,
  "file_type": "file_type",
  "original_file_name": "original_file_name",
  "processing_status": "pending",
  "total_chunks": 0,
  "updated_at": "2019-12-27T18:11:19.117Z"
}