class Anthropic::Resources::Beta::Files

def upload(params)

Other tags:
    See: Anthropic::Models::Beta::FileUploadParams -

Returns:
  • (Anthropic::Models::Beta::FileMetadata) -

Parameters:
  • request_options (Anthropic::RequestOptions, Hash{Symbol=>Object}, nil) --
  • betas (Array) -- Header param: Optional header to specify the beta version(s) you want to use.
  • file (Pathname, StringIO, IO, String, Anthropic::FilePart) -- Body param: The file to upload

Overloads:
  • upload(file:, betas: nil, request_options: {})
def upload(params)
  parsed, options = Anthropic::Beta::FileUploadParams.dump_request(params)
  header_params = {betas: "anthropic-beta"}
  @client.request(
    method: :post,
    path: "v1/files?beta=true",
    headers: {
      "content-type" => "multipart/form-data",
      **parsed.slice(*header_params.keys)
    }.transform_keys(
      header_params
    ),
    body: parsed.except(*header_params.keys),
    model: Anthropic::Beta::FileMetadata,
    options: {extra_headers: {"anthropic-beta" => "files-api-2025-04-14"}, **options}
  )
end