Safe Browsing API . threatListUpdates

Instance Methods

fetch(body=None, x__xgafv=None)

Fetches the most recent threat list updates. A client can request updates

Method Details

fetch(body=None, 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.
    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: 5
    "client": { # The client metadata associated with Safe Browsing API requests. # The client metadata.
      "clientId": "A String", # A client ID that (hopefully) uniquely identifies the client implementation
          # of the Safe Browsing API.
      "clientVersion": "A String", # The version of the client implementation.
    },
    "listUpdateRequests": [ # The requested threat list updates.
      { # A single list update request.
        "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).
        "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.
          "language": "A String", # Requests the lists for a specific language. Expects ISO 639 alpha-2
              # format.
          "maxDatabaseEntries": 42, # Sets the maximum number of entries that the client is willing to have
              # in the local database for the specified list. 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.
          "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.
          "supportedCompressions": [ # The compression types supported by the client.
            "A String",
          ],
          "deviceLocation": "A String", # A client's physical location, expressed as a ISO 31166-1 alpha-2
              # region code.
        },
      },
    ],
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 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. In practice,
            # this field is empty or contains exactly one ThreatEntrySet.
          { # A set of threats that should be added or removed from a client's local
              # database.
            "riceHashes": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or # The encoded 4-byte prefixes of SHA256-formatted entries, using a
                # Golomb-Rice encoding. The hashes are converted to uint32, sorted in
                # ascending order, then delta encoded and stored as encoded_data.
                # 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. If the field is empty or
                  # missing, assume zero.
            },
            "compressionType": "A String", # The compression type for the entries in this set.
            "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,
              ],
            },
            "riceIndices": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or # The encoded local, lexicographically-sorted list indices, using a
                # Golomb-Rice encoding. Used for sending compressed removal indices. The
                # removal indices (uint32) are sorted in ascending order, then delta encoded
                # and stored as encoded_data.
                # 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. If the field is empty or
                  # missing, assume zero.
            },
            "rawHashes": { # The uncompressed threat entries in hash format of a particular prefix length. # The raw SHA256-formatted entries.
                # 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.
              "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, in binary format, concatenated into one long string. Hashes are
                  # sorted in lexicographic order. For JSON API users, hashes are
                  # base64-encoded.
            },
          },
        ],
        "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.
            "riceHashes": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or # The encoded 4-byte prefixes of SHA256-formatted entries, using a
                # Golomb-Rice encoding. The hashes are converted to uint32, sorted in
                # ascending order, then delta encoded and stored as encoded_data.
                # 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. If the field is empty or
                  # missing, assume zero.
            },
            "compressionType": "A String", # The compression type for the entries in this set.
            "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,
              ],
            },
            "riceIndices": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or # The encoded local, lexicographically-sorted list indices, using a
                # Golomb-Rice encoding. Used for sending compressed removal indices. The
                # removal indices (uint32) are sorted in ascending order, then delta encoded
                # and stored as encoded_data.
                # 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. If the field is empty or
                  # missing, assume zero.
            },
            "rawHashes": { # The uncompressed threat entries in hash format of a particular prefix length. # The raw SHA256-formatted entries.
                # 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.
              "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, in binary format, concatenated into one long string. Hashes are
                  # sorted in lexicographic order. For JSON API users, hashes are
                  # base64-encoded.
            },
          },
        ],
        "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.
  }