# Product BATCH update This endpoint allows you to update multiple products at once. Batch update is processed asynchronously in same way as for example products snapshot, but it does not have with products to download in response. Instead, you can check attribute which contains successfully updated products and errors. See how [Asynchronous requests](https://developers.shoptet.com/asynchronous-requests/) work on our developer's portal. File with data for update must be in JSONL (jsonlines) format. Each line must contain one product in JSON format. Maximum size of file is 100MB. Structure of JSON row is same as structure of JSON for single product update above. You can add one extra optional attribute "language" which defines language of updating product, so you are able to update multiple language attributes (i.e. "name", "description" etc.) of one product in one batch file. If language is not defined, default language of shop is used. Asynchronous job process jsonl file row by row and try to validate and save data. If there is any error, row is skipped and error is logged, but it does not stop processing of other rows. In Log, every product is identified by its position in file (starting from 1). Endpoint: PATCH /api/products/batch Version: 1.0.0 Security: shoptetAccessToken, shoptetPrivateApiToken ## Header parameters: - `Content-Type` (string, required) ## Request fields (application/json): - `batchFileUrlPath` (string, required) Url to batch file with products data. File must be in JSONL format. ## Response 202 fields (application/json): - `data` (object, required) - `data.jobId` (string, required) token of job - `errors` (array,null, required) - `errors.errorCode` (string, required) Short text error identification - `errors.message` (string, required) Descriptive error message - `errors.instance` (string, required) Identification of the entity referenced