class Anthropic::Resources::Beta::Files

def delete(file_id, params = {})

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

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

Parameters:
  • request_options (Anthropic::RequestOptions, Hash{Symbol=>Object}, nil) --
  • betas (Array) -- Optional header to specify the beta version(s) you want to use.
  • file_id (String) -- ID of the File.

Overloads:
  • delete(file_id, betas: nil, request_options: {})
def delete(file_id, params = {})
  parsed, options = Anthropic::Beta::FileDeleteParams.dump_request(params)
  @client.request(
    method: :delete,
    path: ["v1/files/%1$s?beta=true", file_id],
    headers: parsed.transform_keys(betas: "anthropic-beta"),
    model: Anthropic::Beta::DeletedFile,
    options: {extra_headers: {"anthropic-beta" => "files-api-2025-04-14"}, **options}
  )
end

def download(file_id, params = {})

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

Returns:
  • (StringIO) -

Parameters:
  • request_options (Anthropic::RequestOptions, Hash{Symbol=>Object}, nil) --
  • betas (Array) -- Optional header to specify the beta version(s) you want to use.
  • file_id (String) -- ID of the File.

Overloads:
  • download(file_id, betas: nil, request_options: {})
def download(file_id, params = {})
  parsed, options = Anthropic::Beta::FileDownloadParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["v1/files/%1$s/content?beta=true", file_id],
    headers: {"accept" => "application/binary", **parsed}.transform_keys(betas: "anthropic-beta"),
    model: StringIO,
    options: {extra_headers: {"anthropic-beta" => "files-api-2025-04-14"}, **options}
  )
end

def initialize(client:)

Parameters:
  • client (Anthropic::Client) --

Other tags:
    Api: - private
def initialize(client:)
  @client = client
end

def list(params = {})

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

Returns:
  • (Anthropic::Internal::Page) -

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.
  • limit (Integer) -- Query param: Number of items to return per page.
  • before_id (String) -- Query param: ID of the object to use as a cursor for pagination. When provided,
  • after_id (String) -- Query param: ID of the object to use as a cursor for pagination. When provided,

Overloads:
  • list(after_id: nil, before_id: nil, limit: nil, betas: nil, request_options: {})
def list(params = {})
  parsed, options = Anthropic::Beta::FileListParams.dump_request(params)
  query_params = [:after_id, :before_id, :limit]
  @client.request(
    method: :get,
    path: "v1/files?beta=true",
    query: parsed.slice(*query_params),
    headers: parsed.except(*query_params).transform_keys(betas: "anthropic-beta"),
    page: Anthropic::Internal::Page,
    model: Anthropic::Beta::FileMetadata,
    options: {extra_headers: {"anthropic-beta" => "files-api-2025-04-14"}, **options}
  )
end

def retrieve_metadata(file_id, params = {})

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

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

Parameters:
  • request_options (Anthropic::RequestOptions, Hash{Symbol=>Object}, nil) --
  • betas (Array) -- Optional header to specify the beta version(s) you want to use.
  • file_id (String) -- ID of the File.

Overloads:
  • retrieve_metadata(file_id, betas: nil, request_options: {})
def retrieve_metadata(file_id, params = {})
  parsed, options = Anthropic::Beta::FileRetrieveMetadataParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["v1/files/%1$s?beta=true", file_id],
    headers: parsed.transform_keys(betas: "anthropic-beta"),
    model: Anthropic::Beta::FileMetadata,
    options: {extra_headers: {"anthropic-beta" => "files-api-2025-04-14"}, **options}
  )
end

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