Claude Platform Docs

Upload File

FileMetadata files().upload(FileUploadParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/v1/files

Upload File

Parameters
FileUploadParams params
String file

The file to upload

formatbinary
Optional<Long> expiresInSeconds

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
class FileMetadata:
String id

Unique object identifier.

The format and length of IDs may change over time.

LocalDateTime createdAt

RFC 3339 datetime string representing when the file was created.

formatdate-time
String filename

Original filename of the uploaded file.

maxLength500
minLength1
String mimeType

MIME type of the file.

maxLength255
minLength1
long sizeBytes

Size of the file in bytes.

minimum0
JsonValue type "file"constant

Object type.

For files, this is always "file".

Optional<Boolean> downloadable

Whether the file can be downloaded.

Optional<LocalDateTime> expiresAt

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

package com.anthropic.example;

import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.files.FileMetadata;
import com.anthropic.models.files.FileUploadParams;
import java.io.ByteArrayInputStream;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        AnthropicClient client = AnthropicOkHttpClient.fromEnv();

        FileUploadParams params = FileUploadParams.builder()
            .file(new ByteArrayInputStream("Example data".getBytes()))
            .build();
        FileMetadata fileMetadata = client.files().upload(params);
    }
}
{
  "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"
}