Claude Platform Docs

Upload File

FileMetadata Files.Upload(parameters, cancellationToken = default)
POST/v1/files

Upload File

Parameters
FileUploadParams parameters
required string file

Body param: 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
long expiresInSeconds

Body param: 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
string workspaceID

Header param: Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns
class FileMetadata { Type = "file"; ID; CreatedAt; /* 5 more */ }
JsonElement Type = "file"

Object type.

For files, this is always "file".

required string ID

Unique object identifier.

The format and length of IDs may change over time.

required DateTimeOffset CreatedAt

RFC 3339 datetime string representing when the file was created.

formatdate-time
required string Filename

Original filename of the uploaded file.

maxLength500
minLength1
required string MimeType

MIME type of the file.

maxLength255
minLength1
required long SizeBytes

Size of the file in bytes.

minimum0
bool Downloadable

Whether the file can be downloaded.

DateTimeOffset? 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
FileUploadParams parameters = new()
{
    File = Encoding.UTF8.GetBytes("Example data")
};

var fileMetadata = await client.Files.Upload(parameters);

Console.WriteLine(fileMetadata);
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"
}