Skip to content

Upload File To Directory

client.Beta.Directories.Files.Upload(ctx, directoryID, params) (*BetaDirectoryFileUploadResponse, error)
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
directoryID string
params BetaDirectoryFileUploadParams
UploadFile param.Field[Reader]

Body param

OrganizationID param.Field[string]Optional

Query param

formatuuid
ProjectID param.Field[string]Optional

Query param

formatuuid
DisplayName param.Field[string]Optional

Body param

ExternalFileID param.Field[string]Optional

Body param

Metadata param.Field[string]Optional

Body param: User metadata as a JSON object string.

UniqueID param.Field[string]Optional

Body param

ReturnsExpand Collapse
type BetaDirectoryFileUploadResponse struct{…}

API response schema for a directory file.

ID string

Unique identifier for the directory file.

DirectoryID string

Directory the file belongs to.

DisplayName string

Display name for the file.

minLength1
ProjectID string

Project the directory file belongs to.

UniqueID string

Unique identifier for the file in the directory

minLength1
CreatedAt TimeOptional

Creation datetime

formatdate-time
DeletedAt TimeOptional

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

formatdate-time
DownloadURL PresignedURLOptional

Schema for a presigned URL.

ExpiresAt Time

The time at which the presigned URL expires

formatdate-time
URL string

A presigned URL for IO operations against a private file

formaturi
minLength1
FormFields map[string, string]Optional

Form fields for a presigned POST request

FileID stringOptional

File ID for the storage location.

Metadata map[string, BetaDirectoryFileUploadResponseMetadataUnion]Optional

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

One of the following:
string
int64
float64
bool
type BetaDirectoryFileUploadResponseMetadataMetadataListValue []string
UpdatedAt TimeOptional

Update datetime

formatdate-time

Upload File To Directory

package main

import (
  "bytes"
  "context"
  "fmt"
  "io"

  "github.com/run-llama/llama-parse-go"
  "github.com/run-llama/llama-parse-go/option"
)

func main() {
  client := llamacloud.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.Beta.Directories.Files.Upload(
    context.TODO(),
    "directory_id",
    llamacloud.BetaDirectoryFileUploadParams{
      UploadFile: io.Reader(bytes.NewBuffer([]byte("Example data"))),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", 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",
  "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/for-agents/mcp/ - Other LlamaIndex tooling for agents — the LlamaParse Platform MCP server, agent skills and plugins, and the n8n node — is mapped at https://developers.llamaindex.ai/for-agents/