Upload File
api/files/upload
Nearest release: v2.1.245, published 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 Changed · +33 / -14 lines
# Upload File ## Body parameters (form-data) ## Returns ## Example ### Response (200) ## Upload File ### Returns ### Example #### Response
---- -title: Upload File -url: https://platform.claude.com/docs/en/api/files/upload ---- +# Upload File -## Upload File +**POST** `/v1/files` -**post** `/v1/files` - Upload File -### Returns +## Body parameters (form-data) -- `FileMetadata object { id, created_at, filename, 5 more }` +- `file: string` + The file to upload + + format: binary + +- `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). + + minimum: 3600, maximum: 7776000 + +## Returns + +- `FileMetadata object` + - `id: string` Unique object identifier.
RFC 3339 datetime string representing when the file was created. + format: date-time + - `filename: string` Original filename of the uploaded file. + maxLength: 500, minLength: 1 + - `mime_type: string` MIME type of the file. + maxLength: 255, minLength: 1 + - `size_bytes: number` Size of the file in bytes. + minimum: 0 + - `type: "file"` Object type.
For files, this is always `"file"`. - - `"file"` - - `downloadable: optional boolean` Whether the file can be downloaded. + default: false + - `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 + format: date-time -```http +## Example + +```bash curl https://api.anthropic.com/v1/files \ -H 'Content-Type: multipart/form-data' \ -H 'anthropic-version: 2023-06-01' \
-F 'file=@/path/to/file' ``` -#### Response +### Response (200) ```json {