R/post_domain_votes.R

Defines functions post_domain_votes

Documented in post_domain_votes

#' Add a vote for a hostname or domain
#'
#' @param domain domain name. Required.
#' @param vote vote. Required.
#' @param \dots Additional arguments passed to \code{\link{virustotal_POST}}.
#'
#' @return named list
#'
#' @export
#'
#' @references \url{https://docs.virustotal.com/reference}
#'
#' @seealso \code{\link{set_key}} for setting the API key
#'
#' @examples \dontrun{
#'
#' # Before calling the function, set the API key using set_key('api_key_here')
#'
#' post_domain_votes("http://google.com", vote = "malicious")
#' }
post_domain_votes <- function(domain = NULL, vote = NULL, ...) {
  assert_character(domain, len = 1, any.missing = FALSE, min.chars = 1)
  assert_character(vote, len = 1, any.missing = FALSE, min.chars = 1)

  domain <- gsub("^http://|^https://", "", domain)

  vote_body <- list(
    data = list(
      type = "vote",
      attributes = list(verdict = vote)
    )
  )

  res <- virustotal_POST(
    path = paste0("domains/", domain, "/votes"),
    body = vote_body, ...
  )

  res
}

Try the virustotal package in your browser

Any scripts or data that you put into this service are public.

virustotal documentation built on Aug. 20, 2026, 5:07 p.m.