Method: fullHashes.find
Stay organized with collections
Save and categorize content based on your preferences.
Finds the full hashes that match the requested hash prefixes.
HTTP request
POST https://safebrowsing.googleapis.com/v4/fullHashes:find
The URL uses gRPC Transcoding
syntax.
Request body
The request body contains data with the following structure:
Fields |
client
|
object ( ClientInfo
)
The client metadata.
|
clientStates[]
|
string ( bytes
format)
The current client states for each of the client's local threat lists.
A base64-encoded string.
|
threatInfo
|
object ( ThreatInfo
)
The lists and hashes to be checked.
|
apiClient
|
object ( ClientInfo
)
Client metadata associated with callers of higher-level APIs built on top of the client's implementation.
|
Response body
If successful, the response body contains data with the following structure:
Fields |
matches[]
|
object ( ThreatMatch
)
The full hashes that matched the requested prefixes.
|
minimumWaitDuration
|
string ( Duration
format)
The minimum duration the client must wait before issuing any find hashes request. If this field is not set, clients can issue a request as soon as they want.
A duration in seconds with up to nine fractional digits, ending with ' s
'. Example: "3.5s"
.
|
negativeCacheDuration
|
string ( Duration
format)
For requested entities that did not match the threat list, how long to cache the response.
A duration in seconds with up to nine fractional digits, ending with ' s
'. Example: "3.5s"
.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-03-05 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-05 UTC."],[[["\u003cp\u003eThis API finds full hashes that match requested hash prefixes using a POST request to \u003ccode\u003ehttps://safebrowsing.googleapis.com/v4/fullHashes:find\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe request body includes client metadata, client states, threat information, and API client details, structured according to the provided JSON schema.\u003c/p\u003e\n"],["\u003cp\u003eThe response body provides matching full hashes, minimum wait duration before the next request, and negative cache duration for non-matching entities, all formatted as described in the schema.\u003c/p\u003e\n"]]],["This document details the process for finding full hashes matching requested hash prefixes via the `fullHashes:find` API. A `POST` request to the specified URL includes a JSON request body with client metadata (`client`, `apiClient`), client states (`clientStates`), and threat information (`threatInfo`). The response, if successful, contains matched full hashes (`matches`), a minimum wait duration (`minimumWaitDuration`) before the next request, and a negative cache duration (`negativeCacheDuration`).\n"],null,["# Method: fullHashes.find\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.FindFullHashesResponse.SCHEMA_REPRESENTATION)\n\nFinds the full hashes that match the requested hash prefixes.\n\n### HTTP request\n\n`POST https://safebrowsing.googleapis.com/v4/fullHashes:find`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"client\": { object (/safe-browsing/reference/rest/v4/ClientInfo) }, \"clientStates\": [ string ], \"threatInfo\": { object (/safe-browsing/reference/rest/v4/ThreatInfo) }, \"apiClient\": { object (/safe-browsing/reference/rest/v4/ClientInfo) } } ``` |\n\n| Fields ||\n|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `client` | `object (`[ClientInfo](/safe-browsing/reference/rest/v4/ClientInfo)`)` The client metadata. |\n| `clientStates[]` | `string (`[bytes](https://developers.google.com/discovery/v1/type-format)` format)` The current client states for each of the client's local threat lists. A base64-encoded string. |\n| `threatInfo` | `object (`[ThreatInfo](/safe-browsing/reference/rest/v4/ThreatInfo)`)` The lists and hashes to be checked. |\n| `apiClient` | `object (`[ClientInfo](/safe-browsing/reference/rest/v4/ClientInfo)`)` Client metadata associated with callers of higher-level APIs built on top of the client's implementation. |\n\n### Response body\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"matches\": [ { object (/safe-browsing/reference/rest/v4/ThreatMatch) } ], \"minimumWaitDuration\": string, \"negativeCacheDuration\": string } ``` |\n\n| Fields ||\n|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `matches[]` | `object (`[ThreatMatch](/safe-browsing/reference/rest/v4/ThreatMatch)`)` The full hashes that matched the requested prefixes. |\n| `minimumWaitDuration` | `string (`[Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration)` format)` The minimum duration the client must wait before issuing any find hashes request. If this field is not set, clients can issue a request as soon as they want. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `\"3.5s\"`. |\n| `negativeCacheDuration` | `string (`[Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration)` format)` For requested entities that did not match the threat list, how long to cache the response. A duration in seconds with up to nine fractional digits, ending with '`s`'. Example: `\"3.5s\"`. |"]]