{ "uuid": "194cb340-d15c-4622-97e4-f688d4d81b47", "lastMigration": 29, "name": "Web Risk API", "endpointPrefix": "", "latency": 0, "port": 3000, "hostname": "", "routes": [ { "uuid": "85a233b5-bb66-456c-881d-5b9d488c7817", "documentation": "Gets the full hashes that match the requested hash prefix. This is used after a hash prefix is looked up in a threatList and there is a match. The client side threatList only holds partial hashes so the client must query this method to determine if there is a full hash match of a threat.", "method": "get", "endpoint": "v1/hashes:search", "responses": [ { "uuid": "f088d9da-589a-4cfc-8d40-bf180c8e7317", "body": "{\n \"negativeExpireTime\": \"\",\n \"threats\": [\n {\n \"expireTime\": \"\",\n \"hash\": \"\",\n \"threatTypes\": [\n \"{{oneOf (array 'THREAT_TYPE_UNSPECIFIED' 'MALWARE' 'SOCIAL_ENGINEERING' 'UNWANTED_SOFTWARE' 'SOCIAL_ENGINEERING_EXTENDED_COVERAGE')}}\"\n ]\n }\n ]\n}", "latency": 0, "statusCode": 200, "label": "Successful response", "headers": [{ "key": "Content-Type", "value": "application/json" }], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true, "crudKey": "id" } ], "enabled": true, "responseMode": null, "type": "http" }, { "uuid": "0cc8ba28-a6f9-4f99-b692-00d93fcc930b", "documentation": "Gets the most recent threat list diffs. These diffs should be applied to a local database of hashes to keep it up-to-date. If the local database is empty or excessively out-of-date, a complete snapshot of the database will be returned. This Method only updates a single ThreatList at a time. To update multiple ThreatList databases, this method needs to be called once for each list.", "method": "get", "endpoint": "v1/threatLists:computeDiff", "responses": [ { "uuid": "aa79f664-b9a9-4f3e-bf7f-fcdc6fdab029", "body": "{\n \"additions\": {\n \"rawHashes\": [\n {\n \"prefixSize\": {{faker 'number.int' max=99999}},\n \"rawHashes\": \"\"\n }\n ],\n \"riceHashes\": {\n \"encodedData\": \"\",\n \"entryCount\": {{faker 'number.int' max=99999}},\n \"firstValue\": \"\",\n \"riceParameter\": {{faker 'number.int' max=99999}}\n }\n },\n \"checksum\": {\n \"sha256\": \"\"\n },\n \"newVersionToken\": \"\",\n \"recommendedNextDiff\": \"\",\n \"removals\": {\n \"rawIndices\": {\n \"indices\": [\n {{faker 'number.int' max=99999}}\n ]\n },\n \"riceIndices\": {\n \"encodedData\": \"\",\n \"entryCount\": {{faker 'number.int' max=99999}},\n \"firstValue\": \"\",\n \"riceParameter\": {{faker 'number.int' max=99999}}\n }\n },\n \"responseType\": \"{{oneOf (array 'RESPONSE_TYPE_UNSPECIFIED' 'DIFF' 'RESET')}}\"\n}", "latency": 0, "statusCode": 200, "label": "Successful response", "headers": [{ "key": "Content-Type", "value": "application/json" }], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true, "crudKey": "id" } ], "enabled": true, "responseMode": null, "type": "http" }, { "uuid": "061791cc-5d3f-4d66-84f2-1013ac0f6cd4", "documentation": "This method is used to check whether a URI is on a given threatList. Multiple threatLists may be searched in a single query. The response will list all requested threatLists the URI was found to match. If the URI is not found on any of the requested ThreatList an empty response will be returned.", "method": "get", "endpoint": "v1/uris:search", "responses": [ { "uuid": "8199a5d5-bb42-43a1-82c5-377d4a24bed5", "body": "{\n \"threat\": {\n \"expireTime\": \"\",\n \"threatTypes\": [\n \"{{oneOf (array 'THREAT_TYPE_UNSPECIFIED' 'MALWARE' 'SOCIAL_ENGINEERING' 'UNWANTED_SOFTWARE' 'SOCIAL_ENGINEERING_EXTENDED_COVERAGE')}}\"\n ]\n }\n}", "latency": 0, "statusCode": 200, "label": "Successful response", "headers": [{ "key": "Content-Type", "value": "application/json" }], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true, "crudKey": "id" } ], "enabled": true, "responseMode": null, "type": "http" }, { "uuid": "e2e7dc9e-b864-4ebd-9e50-3c30a7b757ba", "documentation": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", "method": "delete", "endpoint": "v1/:name", "responses": [ { "uuid": "95c0f4e4-4ea6-4211-ae6d-19b0844be39e", "body": "{}", "latency": 0, "statusCode": 200, "label": "Successful response", "headers": [{ "key": "Content-Type", "value": "application/json" }], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true, "crudKey": "id" } ], "enabled": true, "responseMode": null, "type": "http" }, { "uuid": "ecd8b7b4-f560-4dd2-ace3-ba7cd1fc16a5", "documentation": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", "method": "get", "endpoint": "v1/:name", "responses": [ { "uuid": "d415f2c5-2166-4e6d-8bb4-c12a5c66bb75", "body": "{\n \"done\": {{faker 'datatype.boolean'}},\n \"error\": {\n \"code\": {{faker 'number.int' max=99999}},\n \"details\": [\n {}\n ],\n \"message\": \"\"\n },\n \"metadata\": {},\n \"name\": \"\",\n \"response\": {}\n}", "latency": 0, "statusCode": 200, "label": "Successful response", "headers": [{ "key": "Content-Type", "value": "application/json" }], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true, "crudKey": "id" } ], "enabled": true, "responseMode": null, "type": "http" }, { "uuid": "457f2f6e-31a5-4fbb-a4fd-425027644927", "documentation": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", "method": "get", "endpoint": "v1/:name/operations", "responses": [ { "uuid": "6909bee0-6380-4221-a130-4922b8988d58", "body": "{\n \"nextPageToken\": \"\",\n \"operations\": [\n {\n \"done\": {{faker 'datatype.boolean'}},\n \"error\": {\n \"code\": {{faker 'number.int' max=99999}},\n \"details\": [\n {}\n ],\n \"message\": \"\"\n },\n \"metadata\": {},\n \"name\": \"\",\n \"response\": {}\n }\n ]\n}", "latency": 0, "statusCode": 200, "label": "Successful response", "headers": [{ "key": "Content-Type", "value": "application/json" }], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true, "crudKey": "id" } ], "enabled": true, "responseMode": null, "type": "http" }, { "uuid": "1fc5bdba-8f52-40ef-837f-e1b81f8b76c5", "documentation": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "method": "post", "endpoint": "v1/:name:cancel", "responses": [ { "uuid": "580ab51d-d90b-481b-9b9a-b6fefe5704db", "body": "{}", "latency": 0, "statusCode": 200, "label": "Successful response", "headers": [{ "key": "Content-Type", "value": "application/json" }], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true, "crudKey": "id" } ], "enabled": true, "responseMode": null, "type": "http" }, { "uuid": "d82e90cb-6654-46b6-bb8b-fc73236b9dd2", "documentation": "Creates a Submission of a URI suspected of containing phishing content to be reviewed. If the result verifies the existence of malicious phishing content, the site will be added to the [Google's Social Engineering lists](https://support.google.com/webmasters/answer/6350487/) in order to protect users that could get exposed to this threat in the future. Only allowlisted projects can use this method during Early Access. Please reach out to Sales or your customer engineer to obtain access.", "method": "post", "endpoint": "v1/:parent/submissions", "responses": [ { "uuid": "47e6138c-6af7-4639-b295-1015186a182d", "body": "{\n \"threatTypes\": [\n \"{{oneOf (array 'THREAT_TYPE_UNSPECIFIED' 'MALWARE' 'SOCIAL_ENGINEERING' 'UNWANTED_SOFTWARE' 'SOCIAL_ENGINEERING_EXTENDED_COVERAGE')}}\"\n ],\n \"uri\": \"\"\n}", "latency": 0, "statusCode": 200, "label": "Successful response", "headers": [{ "key": "Content-Type", "value": "application/json" }], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true, "crudKey": "id" } ], "enabled": true, "responseMode": null, "type": "http" }, { "uuid": "06ca2b39-9c5f-4f47-8502-05a5779e8312", "documentation": "Submits a URI suspected of containing malicious content to be reviewed. Returns a google.longrunning.Operation which, once the review is complete, is updated with its result. You can use the [Pub/Sub API] (https://cloud.google.com/pubsub) to receive notifications for the returned Operation. If the result verifies the existence of malicious content, the site will be added to the [Google's Social Engineering lists] (https://support.google.com/webmasters/answer/6350487/) in order to protect users that could get exposed to this threat in the future. Only allowlisted projects can use this method during Early Access. Please reach out to Sales or your customer engineer to obtain access.", "method": "post", "endpoint": "v1/:parent/uris:submit", "responses": [ { "uuid": "0fc6dc46-a352-4c52-bb41-e1ad14d0a48d", "body": "{\n \"done\": {{faker 'datatype.boolean'}},\n \"error\": {\n \"code\": {{faker 'number.int' max=99999}},\n \"details\": [\n {}\n ],\n \"message\": \"\"\n },\n \"metadata\": {},\n \"name\": \"\",\n \"response\": {}\n}", "latency": 0, "statusCode": 200, "label": "Successful response", "headers": [{ "key": "Content-Type", "value": "application/json" }], "bodyType": "INLINE", "filePath": "", "databucketID": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false, "default": true, "crudKey": "id" } ], "enabled": true, "responseMode": null, "type": "http" } ], "proxyMode": false, "proxyHost": "", "proxyRemovePrefix": false, "tlsOptions": { "enabled": false, "type": "CERT", "pfxPath": "", "certPath": "", "keyPath": "", "caPath": "", "passphrase": "" }, "cors": true, "headers": [], "proxyReqHeaders": [{ "key": "", "value": "" }], "proxyResHeaders": [{ "key": "", "value": "" }], "data": [], "folders": [], "rootChildren": [ { "type": "route", "uuid": "85a233b5-bb66-456c-881d-5b9d488c7817" }, { "type": "route", "uuid": "0cc8ba28-a6f9-4f99-b692-00d93fcc930b" }, { "type": "route", "uuid": "061791cc-5d3f-4d66-84f2-1013ac0f6cd4" }, { "type": "route", "uuid": "e2e7dc9e-b864-4ebd-9e50-3c30a7b757ba" }, { "type": "route", "uuid": "ecd8b7b4-f560-4dd2-ace3-ba7cd1fc16a5" }, { "type": "route", "uuid": "457f2f6e-31a5-4fbb-a4fd-425027644927" }, { "type": "route", "uuid": "1fc5bdba-8f52-40ef-837f-e1b81f8b76c5" }, { "type": "route", "uuid": "d82e90cb-6654-46b6-bb8b-fc73236b9dd2" }, { "type": "route", "uuid": "06ca2b39-9c5f-4f47-8502-05a5779e8312" } ] }