Claude Platform Docs

Upload File

client.Files.Upload(ctx, body) (*FileMetadata, error)
POST/v1/files

Upload File

Parameters
body FileUploadParams
File param.Field[Reader]

The file to upload

formatbinary
ExpiresInSeconds param.Field[int64] Optional

Seconds from upload until the file expires and its bytes become permanently unavailable. Must be between 3600 (one hour) and 7776000 (ninety days).

minimum3600
maximum7776000
Returns
type FileMetadata struct{…}
ID string

Unique object identifier.

The format and length of IDs may change over time.

CreatedAt Time

RFC 3339 datetime string representing when the file was created.

formatdate-time
Filename string

Original filename of the uploaded file.

maxLength500
minLength1
MimeType string

MIME type of the file.

maxLength255
minLength1
SizeBytes int64

Size of the file in bytes.

minimum0
Type File

Object type.

For files, this is always "file".

Downloadable bool Optional

Whether the file can be downloaded.

defaultfalse
ExpiresAt Time Optional

RFC 3339 datetime string representing when the file will expire and become unavailable for download. Null if the file does not expire. For files uploaded with expires_in_seconds, this is the upload time plus that value.

formatdate-time

Upload File

package main

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

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	fileMetadata, err := client.Files.Upload(context.TODO(), anthropic.FileUploadParams{
		File: io.Reader(bytes.NewBuffer([]byte("Example data"))),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", fileMetadata.ID)
}
{
  "id": "file_011CNha8iCJcU1wXNR6q4V8w",
  "created_at": "2025-04-15T18:37:24.100435Z",
  "filename": "document.pdf",
  "mime_type": "application/pdf",
  "size_bytes": 102400,
  "type": "file",
  "downloadable": false,
  "expires_at": "2025-05-15T18:37:24.100435Z"
}
Returns Examples
{
  "id": "file_011CNha8iCJcU1wXNR6q4V8w",
  "created_at": "2025-04-15T18:37:24.100435Z",
  "filename": "document.pdf",
  "mime_type": "application/pdf",
  "size_bytes": 102400,
  "type": "file",
  "downloadable": false,
  "expires_at": "2025-05-15T18:37:24.100435Z"
}