## Upload File `client.Files.New(ctx, params) (*FileNewResponse, error)` **post** `/api/v1/beta/files` Upload a file using multipart/form-data. Set `purpose` to indicate how the file will be used: `user_data`, `parse`, `extract`, `classify`, `split`, `sheet`, or `agent_app`. Returns the created file metadata including its ID for use in subsequent parse, extract, or classify operations. ### Parameters - `params FileNewParams` - `File param.Field[Reader]` Body param: The file to upload - `Purpose param.Field[string]` Body param: The intended purpose of the file. Valid values: 'user_data', 'parse', 'extract', 'split', 'classify', 'sheet', 'agent_app'. This determines the storage and retention policy for the file. - `OrganizationID param.Field[string]` Query param - `ProjectID param.Field[string]` Query param - `ExternalFileID param.Field[string]` Body param: The ID of the file in the external system ### Returns - `type FileNewResponse struct{…}` An uploaded file. - `ID string` Unique file identifier - `Name string` File name including extension - `ProjectID string` Project this file belongs to - `ExpiresAt Time` When the file expires and may be automatically removed. Null means no expiration. - `ExternalFileID string` Optional ID for correlating with an external system - `FileType string` File extension (pdf, docx, png, etc.) - `LastModifiedAt Time` When the file was last modified (ISO 8601) - `Purpose string` How the file will be used: user_data, parse, extract, classify, split, sheet, or agent_app ### Example ```go 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"), ) file, err := client.Files.New(context.TODO(), llamacloudprod.FileNewParams{ File: io.Reader(bytes.NewBuffer([]byte("Example data"))), Purpose: "purpose", }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", file.ID) } ``` #### Response ```json { "id": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "name": "invoice.pdf", "project_id": "123e4567-e89b-12d3-a456-426614174000", "expires_at": "2019-12-27T18:11:19.117Z", "external_file_id": "ext-12345", "file_type": "pdf", "last_modified_at": "2019-12-27T18:11:19.117Z", "purpose": "parse" } ```