Skip to content

Upload File To Directory

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.

Path ParametersExpand Collapse
directory_id: string
Query ParametersExpand Collapse
organization_id: optional string
project_id: optional string
Cookie ParametersExpand Collapse
session: optional string
Body ParametersForm DataExpand Collapse
upload_file: file
display_name: optional string
external_file_id: optional string
metadata: optional string

User metadata as a JSON object string.

unique_id: optional string
ReturnsExpand Collapse
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: optional string

Creation datetime

formatdate-time
deleted_at: optional string

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

formatdate-time
download_url: optional PresignedURL { expires_at, url, form_fields }

Schema for a presigned URL.

expires_at: string

The time at which the presigned URL expires

formatdate-time
url: string

A presigned URL for IO operations against a private file

minLength1
formaturi
form_fields: optional map[string]

Form fields for a presigned POST request

file_id: optional string

File ID for the storage location.

metadata: optional map[string or number or boolean or array of string]

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

One of the following:
string
number
boolean
array of string
updated_at: optional string

Update datetime

formatdate-time

Upload File To Directory

curl https://api.cloud.llamaindex.ai/api/v1/beta/directories/$DIRECTORY_ID/files/upload \
    -H 'Content-Type: multipart/form-data' \
    -H "Authorization: Bearer $LLAMA_CLOUD_API_KEY" \
    -F 'upload_file=@/path/to/upload_file'
{
  "id": "id",
  "directory_id": "directory_id",
  "display_name": "x",
  "project_id": "project_id",
  "unique_id": "x",
  "created_at": "2019-12-27T18:11:19.117Z",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "download_url": {
    "expires_at": "2019-12-27T18:11:19.117Z",
    "url": "https://example.com",
    "form_fields": {
      "foo": "string"
    }
  },
  "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",
  "deleted_at": "2019-12-27T18:11:19.117Z",
  "download_url": {
    "expires_at": "2019-12-27T18:11:19.117Z",
    "url": "https://example.com",
    "form_fields": {
      "foo": "string"
    }
  },
  "file_id": "file_id",
  "metadata": {
    "foo": "string"
  },
  "updated_at": "2019-12-27T18:11:19.117Z"
}