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 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 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

minLength1
formaturi
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
float64
bool
UpdatedAt Timeoptional

Update datetime

formatdate-time

Upload File To Directory

package main

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

  "github.com/stainless-sdks/llamacloud-prod-go"
  "github.com/stainless-sdks/llamacloud-prod-go/option"
)

func main() {
  client := llamacloudprod.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.Beta.Directories.Files.Upload(
    context.TODO(),
    "directory_id",
    llamacloudprod.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"
}