> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Translate Push Copy

> Translate a push title and message into your other languages without saving

Translates a push title and message with AI into the languages in **Settings >
Localization** and returns the versions. Nothing is saved. Use the result as a
sequence push step's `localizations` (send the whole list in
`nodeUpdates[].changes.localizations` on [Update
Sequence](https://docs.sequenzy.com/api-reference/sequences/update.md), or on a push step in [Create
Sequence](https://docs.sequenzy.com/api-reference/sequences/create.md)) or a push campaign's.

Pass the versions you already have in `localizations`: by default only
languages with no version, and AI versions written from older copy, are
translated, and versions a person wrote are kept unless `overwrite` is `true`.
The response lists every version, old and new. Merge tags are kept exactly and
their fallback text is translated. Requires the `templates:write` scope, like
the other content generation endpoints.

## Request

**title** `string`

Main-language title, up to 120 characters. A title or a body is required.

**body** `string`

Main-language message, up to 500 characters.

**localizations** `object[]`

Versions you already have, in the [push `localizations`
shape](https://docs.sequenzy.com/api-reference/push/update-campaign).

**locales** `string[]`

Languages to translate into. Omit for every language except the main one.

**overwrite** `boolean` (default: false)

Retranslate versions a person wrote too.

```bash theme={null}
curl -X POST "https://api.sequenzy.com/api/v1/push/translate" \
  --header "Authorization: Bearer $SEQUENZY_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"title":"Your order shipped","body":"Track it in the app"}'
```

## Response fields

**localizations** `object[]`

Every version: the ones you passed plus the new translations.

**translated** `string[]`

Languages translated by this request.

**skipped** `object[]`

Languages left as they were: `{ locale, reason }` with `reason`
`up_to_date` or `edited`.

**failed** `object[]`

Languages that could not be translated: `{ locale, error }`.

**message** `string`

A one-line summary.

## Responses

```json 200 theme={null}
{
  "success": true,
  "localizations": [
    {
      "locale": "de",
      "title": "Deine Bestellung ist unterwegs",
      "body": "Verfolge sie in der App",
      "sourceHash": "9b03c1de",
      "origin": "ai"
    }
  ],
  "translated": ["de"],
  "skipped": [],
  "failed": [],
  "message": "Translated into de."
}
```

```json 400 theme={null}
{
  "error": "Add a second language in Settings > Localization to translate pushes."
}
```

```json 401 theme={null}
{
  "error": "Invalid API key"
}
```

```json 403 theme={null}
{
  "error": "API key is missing required scope: templates:write"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.