---
title: "Create a translation"
method: POST
path: "/v2/translations"
tags: ["Translations"]
---

# Create a translation

`POST /v2/translations`

Create a translation for a specific workflow and locale, if the translation already exists, it will be updated

## Request body

- CreateTranslationRequestDto
  - `resourceId` string, required — The resource ID to associate translation with. Accepts identifier or slug format
  - `resourceType` 'workflow' | 'layout', required — The resource type to associate translation with
  - `locale` string, required — Locale code (e.g., en_US, es_ES)
  - `content` object, required — Translation content as JSON object

## Response `200`

Translation created or updated successfully

- TranslationResponseDto
  - `resourceId` string, required — Resource identifier
  - `resourceType` 'workflow' | 'layout', required — Resource type
  - `locale` string, required — Locale code
  - `content` object, required — Translation content as JSON object
  - `createdAt` string, required — Creation timestamp
  - `updatedAt` string, required — Last update timestamp

---

[API](https://skmtc.net/novu/apis/deprecated-novu-api-use-openapi-json-yaml-instead.md) · [All operations](https://skmtc.net/novu/apis/deprecated-novu-api-use-openapi-json-yaml-instead/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/novu/deprecated-novu-api-use-openapi-json-yaml-instead/revisions/0aeabb0041fd/schema)
