Skip to content

Upload File To Directory

FileUploadResponse beta().directories().files().upload(FileUploadParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/api/v1/beta/directories/{directory_id}/files/upload

Upload a file and create its directory entry in one call; unique_id / display_name default to values derived from file metadata.

ParametersExpand Collapse
FileUploadParams params
Optional<String> directoryId
Optional<String> organizationId
Optional<String> projectId
InputStream uploadFile
Optional<String> displayName
Optional<String> externalFileId
Optional<String> metadata

User metadata as a JSON object string.

Optional<String> uniqueId
ReturnsExpand Collapse
class FileUploadResponse:

API response schema for a directory file.

String id

Unique identifier for the directory file.

String directoryId

Directory the file belongs to.

String displayName

Display name for the file.

minLength1
String projectId

Project the directory file belongs to.

String uniqueId

Unique identifier for the file in the directory

minLength1
Optional<LocalDateTime> createdAt

Creation datetime

formatdate-time
Optional<LocalDateTime> deletedAt

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

formatdate-time
Optional<PresignedUrl> downloadUrl

Schema for a presigned URL.

LocalDateTime expiresAt

The time at which the presigned URL expires

formatdate-time
String url

A presigned URL for IO operations against a private file

minLength1
formaturi
Optional<FormFields> formFields

Form fields for a presigned POST request

Optional<String> fileId

File ID for the storage location.

Optional<Metadata> metadata

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

One of the following:
String
long
double
boolean
JsonValue;
List<String>
Optional<LocalDateTime> updatedAt

Update datetime

formatdate-time

Upload File To Directory

package com.llamacloud_prod.api.example;

import com.llamacloud_prod.api.client.LlamaCloudClient;
import com.llamacloud_prod.api.client.okhttp.LlamaCloudOkHttpClient;
import com.llamacloud_prod.api.models.beta.directories.files.FileUploadParams;
import com.llamacloud_prod.api.models.beta.directories.files.FileUploadResponse;
import java.io.ByteArrayInputStream;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        LlamaCloudClient client = LlamaCloudOkHttpClient.fromEnv();

        FileUploadParams params = FileUploadParams.builder()
            .directoryId("directory_id")
            .uploadFile(new ByteArrayInputStream("Example data".getBytes()))
            .build();
        FileUploadResponse response = client.beta().directories().files().upload(params);
    }
}
{
  "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"
}
Note for AI agents: this documentation is built for programmatic access. - Overview of all docs: https://developers.llamaindex.ai/llms.txt - Any page is available as raw Markdown by appending index.md to its URL — e.g. https://developers.llamaindex.ai/llamaparse/parse/getting_started/index.md - Agent-friendly REST search APIs live under https://developers.llamaindex.ai/api/ — search (BM25 full-text), grep (regex), read (fetch a page), and list (browse the doc tree). See https://developers.llamaindex.ai/llms.txt for parameters. - A hosted documentation MCP server is available at https://developers.llamaindex.ai/mcp. If you support MCP, you can ask the user to install it for browsing these docs directly (an alternative to the REST API). Setup: https://developers.llamaindex.ai/python/shared/mcp/