<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="safebrowsing_v4.html">Safe Browsing APIs</a> . <a href="safebrowsing_v4.threatMatches.html">threatMatches</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#find">find(body, x__xgafv=None)</a></code></p>
<p class="firstline">Finds the threat entries that match the Safe Browsing lists.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="find">find(body, x__xgafv=None)</code>
  <pre>Finds the threat entries that match the Safe Browsing lists.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # Request to check entries against lists.
    "client": { # The client metadata associated with Safe Browsing API requests. # The client metadata.
      "clientVersion": "A String", # The version of the client implementation.
      "clientId": "A String", # A client ID that (hopefully) uniquely identifies the client implementation of the Safe Browsing API.
    },
    "threatInfo": { # The information regarding one or more threats that a client submits when checking for matches in threat lists. # The lists and entries to be checked for matches.
      "threatTypes": [ # The threat types to be checked.
        "A String",
      ],
      "threatEntries": [ # The threat entries to be checked.
        { # An individual threat; for example, a malicious URL or its hash representation. Only one of these fields should be set.
          "url": "A String", # A URL.
          "hash": "A String", # A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 hash. This field is in binary format.
          "digest": "A String", # The digest of an executable in SHA256 format. The API supports both binary and hex digests.
        },
      ],
      "platformTypes": [ # The platform types to be checked.
        "A String",
      ],
      "threatEntryTypes": [ # The entry types to be checked.
        "A String",
      ],
    },
  }

  x__xgafv: string, V1 error format.

Returns:
  An object of the form:

    {
    "matches": [ # The threat list matches.
      { # A match when checking a threat entry in the Safe Browsing threat lists.
        "threatType": "A String", # The threat type matching this threat.
        "threatEntryMetadata": { # The metadata associated with a specific threat entry. The client is expected to know the metadata key/value pairs associated with each threat type. # Optional metadata associated with this threat.
          "entries": [ # The metadata entries.
            { # A single metadata entry.
              "value": "A String", # The metadata entry value.
              "key": "A String", # The metadata entry key.
            },
          ],
        },
        "threatEntryType": "A String", # The threat entry type matching this threat.
        "cacheDuration": "A String", # The cache lifetime for the returned match. Clients must not cache this response for more than this duration to avoid false positives.
        "threat": { # An individual threat; for example, a malicious URL or its hash representation. Only one of these fields should be set. # The threat matching this threat.
          "url": "A String", # A URL.
          "hash": "A String", # A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 hash. This field is in binary format.
          "digest": "A String", # The digest of an executable in SHA256 format. The API supports both binary and hex digests.
        },
        "platformType": "A String", # The platform type matching this threat.
      },
    ],
  }</pre>
</div>

</body></html>