Claude Platform Docs

Upload File

POST/v1/files

Upload File

Headers
"anthropic-workspace-id": optional string
Body (form-data)
file: string

The file to upload. Only the final path component of the part's filename is kept; an absent or empty filename is replaced with unnamed plus the extension for the file's stored mime_type, when known.

formatbinary
expires_in_seconds: optional 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 object{ type: "file", id, created_at, 5 more }
type: "file"

Object type.

For files, this is always "file".

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
downloadable: optional boolean

Whether the file can be downloaded.

defaultfalse
expires_at: optional string or 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
curl https://api.anthropic.com/v1/files \
    -H 'Content-Type: multipart/form-data' \
    -H 'anthropic-version: 2023-06-01' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY" \
    -F 'file=@/path/to/file'
Returns Examples
Response 200
{
  "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"
}