Skip to content

Upload File To Directory

client.beta.directories.files.upload(stringdirectoryID, FileUploadParams { upload_file, organization_id, project_id, 3 more } params, RequestOptionsoptions?): FileUploadResponse { id, directory_id, display_name, 8 more }
POST/api/v1/beta/directories/{directory_id}/files/upload

Upload a file directly to a directory.

Uploads a file and creates a directory file entry in a single operation. If unique_id or display_name are not provided, they will be derived from the file metadata.

ParametersExpand Collapse
directoryID: string
params: FileUploadParams { upload_file, organization_id, project_id, 3 more }
upload_file: Uploadable

Body param

organization_id?: string | null

Query param

formatuuid
project_id?: string | null

Query param

formatuuid
display_name?: string | null

Body param

external_file_id?: string | null

Body param

unique_id?: string | null

Body param

ReturnsExpand Collapse
FileUploadResponse { id, directory_id, display_name, 8 more }

API response schema for a directory file.

id: string

Unique identifier for the directory file.

directory_id: string

Directory the file belongs to.

display_name: string

Display name for the file.

minLength1
project_id: string

Project the directory file belongs to.

unique_id: string

Unique identifier for the file in the directory

minLength1
created_at?: string | null

Creation datetime

formatdate-time
data_source_id?: string | null

Optional data source credential associated with the file.

deleted_at?: string | null

Soft delete marker when the file is removed upstream or by user action.

formatdate-time
file_id?: string | null

File ID for the storage location.

metadata?: Record<string, string | number | boolean | null>

Merged metadata from all sources. Higher-priority sources override lower.

One of the following:
string
number
boolean
updated_at?: string | null

Update datetime

formatdate-time

Upload File To Directory

import LlamaCloud from '@llamaindex/llama-cloud';

const client = new LlamaCloud({
  apiKey: process.env['LLAMA_CLOUD_API_KEY'], // This is the default and can be omitted
});

const response = await client.beta.directories.files.upload('directory_id', {
  upload_file: fs.createReadStream('path/to/file'),
});

console.log(response.id);
{
  "id": "id",
  "directory_id": "directory_id",
  "display_name": "x",
  "project_id": "project_id",
  "unique_id": "x",
  "created_at": "2019-12-27T18:11:19.117Z",
  "data_source_id": "data_source_id",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "file_id": "file_id",
  "metadata": {
    "foo": "string"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "id": "id",
  "directory_id": "directory_id",
  "display_name": "x",
  "project_id": "project_id",
  "unique_id": "x",
  "created_at": "2019-12-27T18:11:19.117Z",
  "data_source_id": "data_source_id",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "file_id": "file_id",
  "metadata": {
    "foo": "string"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}