One change
upload
api/files/upload
Nearest release: v2.1.238, published under an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
api/files/upload New page · 77 lines, new page
## Upload File ### Returns ### Example #### Response
A whole new page. There's nothing to diff it against, so here is what it says.
---
title: Upload File
url: https://platform.claude.com/docs/en/api/files/upload
---
## Upload File
**post** `/v1/files`
Upload File
### Returns
- `FileMetadata object { 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.
- `filename: string`
Original filename of the uploaded file.
- `mime_type: string`
MIME type of the file.
- `size_bytes: number`
Size of the file in bytes.
- `type: "file"`
Object type.
For files, this is always `"file"`.
- `"file"`
- `downloadable: optional boolean`
Whether the file can be downloaded.
- `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.
### Example
```http
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'
```
#### Response
```json
{
"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"
}
```