Claude Platform Docs

Upload File

client.files.upload(FileUploadParamsbody, RequestOptionsoptions?): FileMetadata
POST/v1/files

Upload File

Parameters
body: FileUploadParams { file, expires_in_seconds }

The file to upload

formatbinary
expires_in_seconds?: number

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
FileMetadata { id, created_at, filename, 5 more }
id: string

Unique object identifier.

The format and length of IDs may change over time.

created_at: string

RFC 3339 datetime string representing when the file was created.

formatdate-time
filename: string

Original filename of the uploaded file.

maxLength500
minLength1
mime_type: string

MIME type of the file.

maxLength255
minLength1
size_bytes: number

Size of the file in bytes.

minimum0
type: "file"

Object type.

For files, this is always "file".

downloadable?: boolean

Whether the file can be downloaded.

defaultfalse
expires_at?: string | null

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

import fs from "fs";
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted
});

const fileMetadata = await client.files.upload({ file: fs.createReadStream("path/to/file") });

console.log(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"
}