---
title: "Update translations in bulk"
method: PATCH
path: "/api/v2/translations/bulk"
tags: ["Translations"]
---

# Update translations in bulk

`PATCH /api/v2/translations/bulk`

## Request

- Base URL: `https://api.simplelocalize.io`
- URL: `https://api.simplelocalize.io/api/v2/translations/bulk`
- Auth: API key in header `X-SimpleLocalize-Token`
- TypeScript: <https://skmtc.dev/simplelocalize/apis/simplelocalize-api/docs/api/v2/translations/bulk/patch.ts> (a function with typed inputs; its response is checked against the schema)

Updates translations in bulk with a single request.

It returns a list of failed translation updates with error messages.

You can update up to 100 translations at once.

## Request body

- UpdateTranslationBulkRequestV2
  - `translations` UpdateTranslationRequestV2[]
    - `key` string, required
    - `language` string, required
    - `text` string, required
    - `customerId` string
    - `namespace` string
    - `reviewStatus` 'REVIEWED' | 'NOT_REVIEWED' | ''

## Response `200`

OK

- object
  - `msg` string
  - `status` integer
  - `data` UpdateTranslationBulkResponseV2
    - `failures` Failure[]
      - `entry` UpdateTranslationRequestV2
        - `key` string, required
        - `language` string, required
        - `text` string, required
        - `customerId` string
        - `namespace` string
        - `reviewStatus` 'REVIEWED' | 'NOT_REVIEWED' | ''
      - `message` string

## Other responses

- `400`: Bad Request
- `402`: Payment Required
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

- **2026-11-07** `67a25a25863a`: 1 breaking
  - the `translations/items/text` request property's maxLength was decreased to `30000`
- **2025-11-12** `0329534cd557`: 4 breaking, 1 warning, 17 info
  - the `translations/items/key` request property's minLength was increased from `0` to `1`
  - the `translations/items/language` request property's minLength was increased from `0` to `1`
  - the `translations/items/reviewStatus` request property type changed from `object` to `string`
  - the `data/failures/items/entry/reviewStatus` response's property type changed from `object` to `string` for status `200`
  - …18 more
- **2025-04-19** `5475c7163be9`: 2 breaking, 2 warning, 11 info
  - the `data/failures/items/entry/key` response property's maxLength was unset from `500` for the response status `200`
  - the `data/failures/items/entry/namespace` response property's maxLength was unset from `64` for the response status `200`
  - removed the optional property `data/failures/items/entry/codeDescription` from the response with the `200` status
  - removed the optional property `data/failures/items/entry/description` from the response with the `200` status
  - …11 more
- **2024-09-18** `ad5c27b926e9`: 1 warning
  - the `translations/items/text` request property's maxLength was set to `65535`
- **2023-11-30** `18bfbf87af44`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/simplelocalize/apis/simplelocalize-api/changes/api/v2/translations/bulk/patch.md)

---

[API](https://skmtc.dev/simplelocalize/apis/simplelocalize-api.md) - [All operations](https://skmtc.dev/simplelocalize/apis/simplelocalize-api/llms.txt) - [OpenAPI document](https://skmtc.dev/simplelocalize/apis/simplelocalize-api/revisions/67a25a25863a?raw)
