# Safe Browsing APIs . threatListUpdates

## Instance Methods

Fetches the most recent threat list updates. A client can request updates for multiple lists at once.

### Method Details

`fetch(body, x__xgafv=None)`

    Fetches the most recent threat list updates. A client can request updates for multiple lists at once.

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

    { # Describes a Safe Browsing API update request. Clients can request updates for multiple lists in a single request. NOTE: Field index 2 is unused. NEXT: 4
        "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.
        },
        "listUpdateRequests": [ # The requested threat list updates.
          { # A single list update request.
            "threatType": "A String", # The type of threat posed by entries present in the list.
            "threatEntryType": "A String", # The types of entries present in the list.
            "platformType": "A String", # The type of platform at risk by entries present in the list.
            "constraints": { # The constraints for this update. # The constraints associated with this request.
              "maxDatabaseEntries": 42, # Sets the maximum number of entries that the client is willing to have in the local database. This should be a power of 2 between 2**10 and 2**20. If zero, no database size limit is set.
              "region": "A String", # Requests the list for a specific geographic location. If not set the server may pick that value based on the user's IP address. Expects ISO 3166-1 alpha-2 format.
              "supportedCompressions": [ # The compression types supported by the client.
                "A String",
              ],
              "maxUpdateEntries": 42, # The maximum size in number of entries. The update will not contain more entries than this value. This should be a power of 2 between 2**10 and 2**20. If zero, no update size limit is set.
            },
            "state": "A String", # The current state of the client for the requested list (the encrypted client state that was received from the last successful list update).
          },
        ],
      }

      x__xgafv: string, V1 error format.

    Returns:
      An object of the form:

        {
        "listUpdateResponses": [ # The list updates requested by the clients.
          { # An update to an individual list.
            "responseType": "A String", # The type of response. This may indicate that an action is required by the client when the response is received.
            "threatType": "A String", # The threat type for which data is returned.
            "removals": [ # A set of entries to remove from a local threat type's list. Repeated for the same reason as above.
              { # A set of threats that should be added or removed from a client's local database.
                "compressionType": "A String", # The compression type for the entries in this set.
                "riceIndices": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or compressed removal indices. # The encoded local, lexicographically-sorted list indices, using a Golomb-Rice encoding. Used for sending compressed removal indices.
                  "encodedData": "A String", # The encoded deltas that are encoded using the Golomb-Rice coder.
                  "numEntries": 42, # The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`.
                  "riceParameter": 42, # The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero.
                  "firstValue": "A String", # The offset of the first entry in the encoded data, or, if only a single integer was encoded, that single integer's value.
                },
                "rawIndices": { # A set of raw indices to remove from a local list. # The raw removal indices for a local list.
                  "indices": [ # The indices to remove from a lexicographically-sorted local list.
                    42,
                  ],
                },
                "riceHashes": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or compressed removal indices. # The encoded 4-byte prefixes of SHA256-formatted entries, using a Golomb-Rice encoding.
                  "encodedData": "A String", # The encoded deltas that are encoded using the Golomb-Rice coder.
                  "numEntries": 42, # The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`.
                  "riceParameter": 42, # The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero.
                  "firstValue": "A String", # The offset of the first entry in the encoded data, or, if only a single integer was encoded, that single integer's value.
                },
                "rawHashes": { # The uncompressed threat entries in hash format of a particular prefix length. Hashes can be anywhere from 4 to 32 bytes in size. A large majority are 4 bytes, but some hashes are lengthened if they collide with the hash of a popular URL. Used for sending ThreatEntrySet to clients that do not support compression, or when sending non-4-byte hashes to clients that do support compression. # The raw SHA256-formatted entries.
                  "prefixSize": 42, # The number of bytes for each prefix encoded below. This field can be anywhere from 4 (shortest prefix) to 32 (full SHA256 hash).
                  "rawHashes": "A String", # The hashes, all concatenated into one long string. Each hash has a prefix size of |prefix_size| above. Hashes are sorted in lexicographic order.
                },
              },
            ],
            "newClientState": "A String", # The new client state, in encrypted format. Opaque to clients.
            "checksum": { # The expected state of a client's local database. # The expected SHA256 hash of the client state; that is, of the sorted list of all hashes present in the database after applying the provided update. If the client state doesn't match the expected state, the client must disregard this update and retry later.
              "sha256": "A String", # The SHA256 hash of the client state; that is, of the sorted list of all hashes present in the database.
            },
            "threatEntryType": "A String", # The format of the threats.
            "additions": [ # A set of entries to add to a local threat type's list. Repeated to allow for a combination of compressed and raw data to be sent in a single response.
              { # A set of threats that should be added or removed from a client's local database.
                "compressionType": "A String", # The compression type for the entries in this set.
                "riceIndices": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or compressed removal indices. # The encoded local, lexicographically-sorted list indices, using a Golomb-Rice encoding. Used for sending compressed removal indices.
                  "encodedData": "A String", # The encoded deltas that are encoded using the Golomb-Rice coder.
                  "numEntries": 42, # The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`.
                  "riceParameter": 42, # The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero.
                  "firstValue": "A String", # The offset of the first entry in the encoded data, or, if only a single integer was encoded, that single integer's value.
                },
                "rawIndices": { # A set of raw indices to remove from a local list. # The raw removal indices for a local list.
                  "indices": [ # The indices to remove from a lexicographically-sorted local list.
                    42,
                  ],
                },
                "riceHashes": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or compressed removal indices. # The encoded 4-byte prefixes of SHA256-formatted entries, using a Golomb-Rice encoding.
                  "encodedData": "A String", # The encoded deltas that are encoded using the Golomb-Rice coder.
                  "numEntries": 42, # The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`.
                  "riceParameter": 42, # The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero.
                  "firstValue": "A String", # The offset of the first entry in the encoded data, or, if only a single integer was encoded, that single integer's value.
                },
                "rawHashes": { # The uncompressed threat entries in hash format of a particular prefix length. Hashes can be anywhere from 4 to 32 bytes in size. A large majority are 4 bytes, but some hashes are lengthened if they collide with the hash of a popular URL. Used for sending ThreatEntrySet to clients that do not support compression, or when sending non-4-byte hashes to clients that do support compression. # The raw SHA256-formatted entries.
                  "prefixSize": 42, # The number of bytes for each prefix encoded below. This field can be anywhere from 4 (shortest prefix) to 32 (full SHA256 hash).
                  "rawHashes": "A String", # The hashes, all concatenated into one long string. Each hash has a prefix size of |prefix_size| above. Hashes are sorted in lexicographic order.
                },
              },
            ],
            "platformType": "A String", # The platform type for which data is returned.
          },
        ],
        "minimumWaitDuration": "A String", # The minimum duration the client must wait before issuing any update request. If this field is not set clients may update as soon as they want.
      }