class Hachi::Clients::Artifact

Public Instance Methods

create(case_id, data:, data_type:, message: nil, tlp: nil, tags: nil) click to toggle source

Create an artifact

@param [String] case_id Artifact ID @param [String] data @param [String] data_type @param [String, nil] message @param [Integer, nil] tlp @param [Array<String>, nil] tags

@return [Hash]

# File lib/hachi/clients/artifact.rb, line 18
def create(case_id, data:, data_type:, message: nil, tlp: nil, tags: nil)
  artifact = Models::Artifact.new(
    data: data,
    data_type: data_type,
    message: message,
    tlp: tlp,
    tags: tags,
  )

  post("/api/case/#{case_id}/artifact", json: artifact.payload) { |json| json }
end
delete_by_id(id) click to toggle source

Delete an artifact

@param [String] id Artifact ID

@return [String]

# File lib/hachi/clients/artifact.rb, line 48
def delete_by_id(id)
  delete("/api/case/artifact/#{id}") { |json| json }
end
get_by_id(id) click to toggle source

Get an artifact

@param [String] id Artifact ID

@return [Hash]

# File lib/hachi/clients/artifact.rb, line 37
def get_by_id(id)
  get("/api/case/artifact/#{id}") { |json| json }
end
similar(id) click to toggle source

Get list of similar observables

@param [String] id Artifact ID

@return [Array]

# File lib/hachi/clients/artifact.rb, line 71
def similar(id)
  get("/api/case/artifact/#{id}/similar") { |json| json }
end