Files
api/files
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 Changed · +90 / -39 lines
### Body parameters (form-data) #### Response (200) ### Query parameters #### Response (200) ### Path parameters ### Path parameters #### Response (200) ### Path parameters #### Response (200) ## Domain types #### Response ### Query Parameters #### Response ### Path Parameters ### Path Parameters #### Response ### Path Parameters #### Response ## Domain Types
---- -title: Files -url: https://platform.claude.com/docs/en/api/files ---- - # Files ## Upload File -**post** `/v1/files` +**POST** `/v1/files` Upload File +### Body parameters (form-data) + +- `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, created_at, filename, 5 more }` +- `FileMetadata object` - `id: string`
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. + format: date-time + ### Example -```http +```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 {
## List Files -**get** `/v1/files` +**GET** `/v1/files` List Files -### Query Parameters +### Query parameters - `ids: optional array of string`
Defaults to `20`. Ranges from `1` to `1000`. + default: 20, maximum: 1000, minimum: 1 + - `page: optional string` Opaque page cursor returned in a prior list response's `next_page`. Prefixed `page_`.
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. + format: date-time + - `next_page: optional string or null` Opaque cursor for the next page. Supply as `?page=` to fetch the next page; null when there are no more results.
### Example -```http +```bash curl https://api.anthropic.com/v1/files \ -H 'anthropic-version: 2023-06-01' \ -H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +#### Response (200) ```json {
## Download File -**get** `/v1/files/{file_id}/content` +**GET** `/v1/files/{file_id}/content` Download File -### Path Parameters +### Path parameters - `file_id: string`
### Example -```http +```bash curl https://api.anthropic.com/v1/files/$FILE_ID/content \ -H 'anthropic-version: 2023-06-01' \ -H "X-Api-Key: $ANTHROPIC_API_KEY"
## Get File Metadata -**get** `/v1/files/{file_id}` +**GET** `/v1/files/{file_id}` Get File Metadata -### Path Parameters +### Path parameters - `file_id: string`
### Returns -- `FileMetadata object { id, created_at, filename, 5 more }` +- `FileMetadata object` - `id: string`
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. + format: date-time + ### Example -```http +```bash curl https://api.anthropic.com/v1/files/$FILE_ID \ -H 'anthropic-version: 2023-06-01' \ -H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +#### Response (200) ```json {
## Delete File -**delete** `/v1/files/{file_id}` +**DELETE** `/v1/files/{file_id}` Delete File -### Path Parameters +### Path parameters - `file_id: string`
### Returns -- `DeletedFile object { id, type }` +- `DeletedFile object` - `id: string`
For file deletion, this is always `"file_deleted"`. - - `"file_deleted"` + default: file_deleted ### Example -```http +```bash curl https://api.anthropic.com/v1/files/$FILE_ID \ -X DELETE \ -H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +#### Response (200) ```json {
} ``` -## Domain Types +## Domain types ### Deleted File -- `DeletedFile object { id, type }` +- `DeletedFile object` - `id: string`
For file deletion, this is always `"file_deleted"`. - - `"file_deleted"` + default: file_deleted ### File Metadata -- `FileMetadata object { id, created_at, filename, 5 more }` +- `FileMetadata object` - `id: string`
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. + + format: date-time