{
  "service": "virustotal",
  "displayName": "VirusTotal",
  "categories": [
    "Security",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "VIRUSTOTAL_API_KEY",
      "description": "VirusTotal API key sent as the x-apikey header. Find it in your account user menu or at https://www.virustotal.com/gui/my-apikey, as documented at https://docs.virustotal.com/reference/authentication.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.virustotal.com",
  "actions": [
    {
      "id": "virustotal.add_comment",
      "service": "virustotal",
      "name": "add_comment",
      "description": "Add a community comment to a file, URL, domain, or IP address in VirusTotal.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "minLength": 1,
            "description": "File identifier such as a SHA-256 hash."
          },
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Raw URL string that will be converted into a VirusTotal URL identifier."
          },
          "urlId": {
            "type": "string",
            "minLength": 1,
            "description": "VirusTotal URL identifier encoded as unpadded base64url."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "Domain name to target."
          },
          "ipAddress": {
            "type": "string",
            "minLength": 1,
            "description": "IPv4 or IPv6 address to target."
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "description": "Comment text to submit for the resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "text"
        ],
        "description": "Input parameters for adding a comment to a VirusTotal resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier of the comment."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type for the comment."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The JSON object returned by VirusTotal."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal comment object."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned after creating a VirusTotal comment."
      }
    },
    {
      "id": "virustotal.add_vote",
      "service": "virustotal",
      "name": "add_vote",
      "description": "Submit a harmless or malicious vote for a VirusTotal file, URL, domain, or IP.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "minLength": 1,
            "description": "File identifier such as a SHA-256 hash."
          },
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Raw URL string that will be converted into a VirusTotal URL identifier."
          },
          "urlId": {
            "type": "string",
            "minLength": 1,
            "description": "VirusTotal URL identifier encoded as unpadded base64url."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "Domain name to target."
          },
          "ipAddress": {
            "type": "string",
            "minLength": 1,
            "description": "IPv4 or IPv6 address to target."
          },
          "verdict": {
            "type": "string",
            "enum": [
              "harmless",
              "malicious"
            ],
            "description": "Verdict to submit for the resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "verdict"
        ],
        "description": "Input parameters for adding a vote to a VirusTotal resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier of the vote."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type for the vote."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The JSON object returned by VirusTotal."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal vote object."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned after creating a VirusTotal vote."
      }
    },
    {
      "id": "virustotal.get_analysis",
      "service": "virustotal",
      "name": "get_analysis",
      "description": "Retrieve a VirusTotal analysis object by analysis ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "analysisId": {
            "type": "string",
            "minLength": 1,
            "description": "Identifier of the analysis to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving an analysis object."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier of the analysis."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type for the analysis."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "integer",
                    "description": "Unix timestamp when the analysis was created."
                  },
                  "status": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Current status of the analysis."
                  },
                  "stats": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer",
                      "description": "One verdict count."
                    },
                    "description": "Aggregated verdict counts from a VirusTotal analysis."
                  },
                  "results": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "Per-engine analysis result returned by VirusTotal."
                    },
                    "description": "Mapping of engine name to per-engine analysis result."
                  }
                },
                "additionalProperties": true,
                "description": "Attributes of the VirusTotal analysis object."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal analysis object."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by the VirusTotal analysis endpoint."
      }
    },
    {
      "id": "virustotal.get_comments",
      "service": "virustotal",
      "name": "get_comments",
      "description": "Retrieve community comments for a file, URL, domain, or IP address in VirusTotal.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "minLength": 1,
            "description": "File identifier such as a SHA-256 hash."
          },
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Raw URL string that will be converted into a VirusTotal URL identifier."
          },
          "urlId": {
            "type": "string",
            "minLength": 1,
            "description": "VirusTotal URL identifier encoded as unpadded base64url."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "Domain name to target."
          },
          "ipAddress": {
            "type": "string",
            "minLength": 1,
            "description": "IPv4 or IPv6 address to target."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40,
            "description": "Maximum number of results to return."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor returned by a previous response."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving comments on a VirusTotal resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique identifier of the comment."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "VirusTotal object type for the comment."
                },
                "links": {
                  "type": "object",
                  "properties": {
                    "self": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Canonical API URL for this resource or collection."
                    },
                    "next": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the next page of results."
                    },
                    "prev": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the previous page of results."
                    },
                    "related": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the related-resource view."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Links returned by the VirusTotal API."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The JSON object returned by VirusTotal."
                }
              },
              "additionalProperties": true,
              "description": "A VirusTotal comment object."
            },
            "description": "Items returned by the VirusTotal collection endpoint."
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "Number of items returned in the current response page."
              },
              "cursor": {
                "type": "string",
                "minLength": 1,
                "description": "Cursor to request the next page of results."
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by VirusTotal collections."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by a VirusTotal comments endpoint."
      }
    },
    {
      "id": "virustotal.get_domain_relationships",
      "service": "virustotal",
      "name": "get_domain_relationships",
      "description": "Retrieve related VirusTotal objects for a domain, with an option to request descriptors only.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "Domain name whose related objects should be retrieved."
          },
          "relationship": {
            "type": "string",
            "minLength": 1,
            "description": "Relationship name documented by VirusTotal for the target object type."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40,
            "description": "Maximum number of results to return."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor returned by a previous response."
          },
          "descriptorsOnly": {
            "type": "boolean",
            "description": "Whether to return relationship descriptors instead of complete related objects."
          }
        },
        "additionalProperties": false,
        "required": [
          "domain",
          "relationship"
        ],
        "description": "Input parameters for retrieving domain relationships."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique identifier of the related object."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "VirusTotal object type of the related object."
                },
                "links": {
                  "type": "object",
                  "properties": {
                    "self": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Canonical API URL for this resource or collection."
                    },
                    "next": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the next page of results."
                    },
                    "prev": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the previous page of results."
                    },
                    "related": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the related-resource view."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Links returned by the VirusTotal API."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The JSON object returned by VirusTotal."
                },
                "context_attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The JSON object returned by VirusTotal."
                },
                "error": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Error details when the related object is not present in the dataset."
                }
              },
              "additionalProperties": true,
              "description": "One item returned by a VirusTotal relationship collection."
            },
            "description": "Items returned by the VirusTotal collection endpoint."
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "Number of items returned in the current response page."
              },
              "cursor": {
                "type": "string",
                "minLength": 1,
                "description": "Cursor to request the next page of results."
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by VirusTotal collections."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by a VirusTotal domain-relationship endpoint."
      }
    },
    {
      "id": "virustotal.get_domain_report",
      "service": "virustotal",
      "name": "get_domain_report",
      "description": "Retrieve the latest VirusTotal report for a domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "Domain name to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a domain report."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Domain name used as the VirusTotal object identifier."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type for the domain."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "last_analysis_date": {
                    "type": "integer",
                    "description": "Unix timestamp of the latest VirusTotal analysis."
                  },
                  "last_analysis_stats": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer",
                      "description": "One verdict count."
                    },
                    "description": "Aggregated verdict counts from a VirusTotal analysis."
                  },
                  "last_analysis_results": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "Per-engine analysis result returned by VirusTotal."
                    },
                    "description": "Mapping of engine name to per-engine analysis result."
                  },
                  "reputation": {
                    "type": "integer",
                    "description": "Community reputation score for the object."
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": "Tags assigned to the object."
                  }
                },
                "additionalProperties": true,
                "description": "Common VirusTotal object attributes shared across reports."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal domain object."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by the VirusTotal domain-report endpoint."
      }
    },
    {
      "id": "virustotal.get_file_report",
      "service": "virustotal",
      "name": "get_file_report",
      "description": "Retrieve the latest VirusTotal report for a file identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "minLength": 1,
            "description": "File identifier such as a SHA-256, SHA-1, or MD5 hash."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a file report."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "SHA-256 or canonical identifier of the file."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type for the file."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "last_analysis_date": {
                    "type": "integer",
                    "description": "Unix timestamp of the latest VirusTotal analysis."
                  },
                  "last_analysis_stats": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer",
                      "description": "One verdict count."
                    },
                    "description": "Aggregated verdict counts from a VirusTotal analysis."
                  },
                  "last_analysis_results": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "Per-engine analysis result returned by VirusTotal."
                    },
                    "description": "Mapping of engine name to per-engine analysis result."
                  },
                  "reputation": {
                    "type": "integer",
                    "description": "Community reputation score for the object."
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": "Tags assigned to the object."
                  }
                },
                "additionalProperties": true,
                "description": "Common VirusTotal object attributes shared across reports."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal file object."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by the VirusTotal file-report endpoint."
      }
    },
    {
      "id": "virustotal.get_ip_address_relationships",
      "service": "virustotal",
      "name": "get_ip_address_relationships",
      "description": "Retrieve related VirusTotal objects for an IP address, with an option to request descriptors only.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ipAddress": {
            "type": "string",
            "minLength": 1,
            "description": "IPv4 or IPv6 address whose related objects should be retrieved."
          },
          "relationship": {
            "type": "string",
            "minLength": 1,
            "description": "Relationship name documented by VirusTotal for the target object type."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40,
            "description": "Maximum number of results to return."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor returned by a previous response."
          },
          "descriptorsOnly": {
            "type": "boolean",
            "description": "Whether to return relationship descriptors instead of complete related objects."
          }
        },
        "additionalProperties": false,
        "required": [
          "ipAddress",
          "relationship"
        ],
        "description": "Input parameters for retrieving ipAddress relationships."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique identifier of the related object."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "VirusTotal object type of the related object."
                },
                "links": {
                  "type": "object",
                  "properties": {
                    "self": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Canonical API URL for this resource or collection."
                    },
                    "next": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the next page of results."
                    },
                    "prev": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the previous page of results."
                    },
                    "related": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the related-resource view."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Links returned by the VirusTotal API."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The JSON object returned by VirusTotal."
                },
                "context_attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The JSON object returned by VirusTotal."
                },
                "error": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Error details when the related object is not present in the dataset."
                }
              },
              "additionalProperties": true,
              "description": "One item returned by a VirusTotal relationship collection."
            },
            "description": "Items returned by the VirusTotal collection endpoint."
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "Number of items returned in the current response page."
              },
              "cursor": {
                "type": "string",
                "minLength": 1,
                "description": "Cursor to request the next page of results."
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by VirusTotal collections."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by a VirusTotal IP-address relationship endpoint."
      }
    },
    {
      "id": "virustotal.get_ip_address_report",
      "service": "virustotal",
      "name": "get_ip_address_report",
      "description": "Retrieve the latest VirusTotal report for an IP address.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ipAddress": {
            "type": "string",
            "minLength": 1,
            "description": "IPv4 or IPv6 address to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving an IP address report."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "IP address used as the VirusTotal object identifier."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type for the IP address."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "last_analysis_date": {
                    "type": "integer",
                    "description": "Unix timestamp of the latest VirusTotal analysis."
                  },
                  "last_analysis_stats": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer",
                      "description": "One verdict count."
                    },
                    "description": "Aggregated verdict counts from a VirusTotal analysis."
                  },
                  "last_analysis_results": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "Per-engine analysis result returned by VirusTotal."
                    },
                    "description": "Mapping of engine name to per-engine analysis result."
                  },
                  "reputation": {
                    "type": "integer",
                    "description": "Community reputation score for the object."
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": "Tags assigned to the object."
                  }
                },
                "additionalProperties": true,
                "description": "Common VirusTotal object attributes shared across reports."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal IP address object."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by the VirusTotal IP-address report endpoint."
      }
    },
    {
      "id": "virustotal.get_metadata",
      "service": "virustotal",
      "name": "get_metadata",
      "description": "Retrieve VirusTotal metadata, including available privileges, engines, and relationship names.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for retrieving VirusTotal metadata."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "engines": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The JSON object returned by VirusTotal."
                },
                "description": "Mapping of engine name to engine metadata."
              },
              "privileges": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "description": "Privileges granted to the current API key."
              },
              "relationships": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The JSON object returned by VirusTotal."
                  },
                  "description": "Relationship definitions."
                },
                "description": "Available relationships grouped by object type."
              }
            },
            "additionalProperties": true,
            "description": "Payload returned by the VirusTotal metadata endpoint."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by the VirusTotal metadata endpoint."
      }
    },
    {
      "id": "virustotal.get_url_report",
      "service": "virustotal",
      "name": "get_url_report",
      "description": "Retrieve the latest VirusTotal report for a URL using either a raw URL or a VirusTotal URL identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Raw URL string that will be converted into a VirusTotal URL identifier."
          },
          "urlId": {
            "type": "string",
            "minLength": 1,
            "description": "VirusTotal URL identifier encoded as unpadded base64url."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a URL report."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal URL identifier."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type for the URL."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "last_analysis_date": {
                    "type": "integer",
                    "description": "Unix timestamp of the latest VirusTotal analysis."
                  },
                  "last_analysis_stats": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer",
                      "description": "One verdict count."
                    },
                    "description": "Aggregated verdict counts from a VirusTotal analysis."
                  },
                  "last_analysis_results": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "Per-engine analysis result returned by VirusTotal."
                    },
                    "description": "Mapping of engine name to per-engine analysis result."
                  },
                  "reputation": {
                    "type": "integer",
                    "description": "Community reputation score for the object."
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": "Tags assigned to the object."
                  }
                },
                "additionalProperties": true,
                "description": "Common VirusTotal object attributes shared across reports."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal URL object."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by the VirusTotal URL-report endpoint."
      }
    },
    {
      "id": "virustotal.get_votes",
      "service": "virustotal",
      "name": "get_votes",
      "description": "Retrieve community votes for a file, URL, domain, or IP address in VirusTotal.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "minLength": 1,
            "description": "File identifier such as a SHA-256 hash."
          },
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Raw URL string that will be converted into a VirusTotal URL identifier."
          },
          "urlId": {
            "type": "string",
            "minLength": 1,
            "description": "VirusTotal URL identifier encoded as unpadded base64url."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "Domain name to target."
          },
          "ipAddress": {
            "type": "string",
            "minLength": 1,
            "description": "IPv4 or IPv6 address to target."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40,
            "description": "Maximum number of results to return."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor returned by a previous response."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving votes on a VirusTotal resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique identifier of the vote."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "VirusTotal object type for the vote."
                },
                "links": {
                  "type": "object",
                  "properties": {
                    "self": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Canonical API URL for this resource or collection."
                    },
                    "next": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the next page of results."
                    },
                    "prev": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the previous page of results."
                    },
                    "related": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the related-resource view."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Links returned by the VirusTotal API."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The JSON object returned by VirusTotal."
                }
              },
              "additionalProperties": true,
              "description": "A VirusTotal vote object."
            },
            "description": "Items returned by the VirusTotal collection endpoint."
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "Number of items returned in the current response page."
              },
              "cursor": {
                "type": "string",
                "minLength": 1,
                "description": "Cursor to request the next page of results."
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by VirusTotal collections."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response returned by a VirusTotal votes endpoint."
      }
    },
    {
      "id": "virustotal.rescan_file",
      "service": "virustotal",
      "name": "rescan_file",
      "description": "Request a fresh VirusTotal analysis for a previously submitted file.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "minLength": 1,
            "description": "Identifier of the file to re-analyze."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for re-analyzing a previously submitted file."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier of the VirusTotal object."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal object descriptor."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response containing a VirusTotal object descriptor."
      }
    },
    {
      "id": "virustotal.scan_url",
      "service": "virustotal",
      "name": "scan_url",
      "description": "Submit a URL to VirusTotal for analysis.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "minLength": 1,
            "description": "Raw URL to submit for analysis."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for submitting a URL to VirusTotal."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier of the VirusTotal object."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal object descriptor."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response containing a VirusTotal object descriptor."
      }
    },
    {
      "id": "virustotal.search",
      "service": "virustotal",
      "name": "search",
      "description": "Search files, URLs, domains, IPs, and other objects in VirusTotal.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "Search query accepted by VirusTotal."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40,
            "description": "Maximum number of results to return."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor returned by a previous response."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "Input parameters for searching the VirusTotal dataset."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique identifier of the returned object."
                },
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "description": "VirusTotal object type."
                },
                "links": {
                  "type": "object",
                  "properties": {
                    "self": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Canonical API URL for this resource or collection."
                    },
                    "next": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the next page of results."
                    },
                    "prev": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the previous page of results."
                    },
                    "related": {
                      "type": "string",
                      "minLength": 1,
                      "description": "API URL for the related-resource view."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Links returned by the VirusTotal API."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The JSON object returned by VirusTotal."
                }
              },
              "additionalProperties": true,
              "description": "One VirusTotal object returned by the search endpoint."
            },
            "description": "Items returned by the VirusTotal collection endpoint."
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "Number of items returned in the current response page."
              },
              "cursor": {
                "type": "string",
                "minLength": 1,
                "description": "Cursor to request the next page of results."
              }
            },
            "additionalProperties": true,
            "description": "Pagination metadata returned by VirusTotal collections."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Search response returned by the VirusTotal search endpoint."
      }
    },
    {
      "id": "virustotal.upload_file",
      "service": "virustotal",
      "name": "upload_file",
      "description": "Upload a file to VirusTotal for analysis, automatically using the large-file upload URL when needed.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "contentBase64": {
            "type": "string",
            "minLength": 1,
            "description": "Base64-encoded file bytes to upload for analysis."
          },
          "fileName": {
            "type": "string",
            "minLength": 1,
            "description": "Filename to associate with the uploaded file."
          },
          "password": {
            "type": "string",
            "minLength": 1,
            "description": "Password used to unpack a protected ZIP before analysis."
          }
        },
        "additionalProperties": false,
        "required": [
          "contentBase64"
        ],
        "description": "Input parameters for uploading a file to VirusTotal."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Unique identifier of the VirusTotal object."
              },
              "type": {
                "type": "string",
                "minLength": 1,
                "description": "VirusTotal object type."
              },
              "links": {
                "type": "object",
                "properties": {
                  "self": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Canonical API URL for this resource or collection."
                  },
                  "next": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the next page of results."
                  },
                  "prev": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the previous page of results."
                  },
                  "related": {
                    "type": "string",
                    "minLength": 1,
                    "description": "API URL for the related-resource view."
                  }
                },
                "additionalProperties": true,
                "description": "Links returned by the VirusTotal API."
              }
            },
            "additionalProperties": true,
            "description": "A VirusTotal object descriptor."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The JSON object returned by VirusTotal."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "Canonical API URL for this resource or collection."
              },
              "next": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the next page of results."
              },
              "prev": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the previous page of results."
              },
              "related": {
                "type": "string",
                "minLength": 1,
                "description": "API URL for the related-resource view."
              }
            },
            "additionalProperties": true,
            "description": "Links returned by the VirusTotal API."
          }
        },
        "additionalProperties": false,
        "description": "Response containing a VirusTotal object descriptor."
      }
    }
  ]
}
