## Write multiple key-value pairs `kv.namespaces.bulk_update(strnamespace_id, NamespaceBulkUpdateParams**kwargs) -> NamespaceBulkUpdateResponse` **put** `/accounts/{account_id}/storage/kv/namespaces/{namespace_id}/bulk` Write multiple keys and values at once. Body should be an array of up to 10,000 key-value pairs to be stored, along with optional expiration information. Existing values and expirations will be overwritten. If neither `expiration` nor `expiration_ttl` is specified, the key-value pair will never expire. If both are set, `expiration_ttl` is used and `expiration` is ignored. The entire request size must be 100 megabytes or less. ### Parameters - `account_id: str` Identifier. - `namespace_id: str` Namespace identifier tag. - `body: Iterable[Body]` - `key: str` A key's name. The name may be at most 512 bytes. All printable, non-whitespace characters are valid. - `value: str` A UTF-8 encoded string to be stored, up to 25 MiB in length. - `base64: Optional[bool]` Indicates whether or not the server should base64 decode the value before storing it. Useful for writing values that wouldn't otherwise be valid JSON strings, such as images. - `expiration: Optional[float]` Expires the key at a certain time, measured in number of seconds since the UNIX epoch. - `expiration_ttl: Optional[float]` Expires the key after a number of seconds. Must be at least 60. - `metadata: Optional[object]` Arbitrary JSON that is associated with a key. ### Returns - `class NamespaceBulkUpdateResponse: …` - `successful_key_count: Optional[float]` Number of keys successfully updated. - `unsuccessful_keys: Optional[List[str]]` Name of the keys that failed to be fully updated. They should be retried. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.kv.namespaces.bulk_update( namespace_id="0f2ac74b498b48028cb68387c421e279", account_id="023e105f4ecef8ad9ca31a8372d0c353", body=[{ "key": "My-Key", "value": "Some string", }], ) print(response.successful_key_count) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "successful_key_count": 100, "unsuccessful_keys": [ "string" ] } } ```