> ## Documentation Index
> Fetch the complete documentation index at: https://novu-c5de82d9-docs-homepage-redesign.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Import master translations JSON

> Import master translations JSON using the Novu REST API. Requires your environment secret key in the Authorization header.



## OpenAPI

````yaml POST /v2/translations/master-json
openapi: 3.0.0
info:
  title: Novu API
  description: >-
    Novu REST API. Please see https://docs.novu.co/api-reference for more
    details.
  version: 3.15.0
  contact:
    name: Novu Support
    url: https://discord.gg/novu
    email: support@novu.co
  termsOfService: https://novu.co/terms
  license:
    name: MIT
    url: https://opensource.org/license/mit
servers:
  - url: https://api.novu.co
  - url: https://eu.api.novu.co
security:
  - secretKey: []
tags:
  - name: Events
    description: >-
      Events represent a change in state of a subscriber. They are used to
      trigger workflows, and enable you to send notifications to subscribers
      based on their actions.
    externalDocs:
      url: https://docs.novu.co/workflows
  - name: Subscribers
    description: >-
      A subscriber in Novu represents someone who should receive a message. A
      subscriber's profile information contains important attributes about the
      subscriber that will be used in messages (name, email). The subscriber
      object can contain other key-value pairs that can be used to further
      personalize your messages.
    externalDocs:
      url: https://docs.novu.co/subscribers/subscribers
  - name: Topics
    description: >-
      Topics are a way to group subscribers together so that they can be
      notified of events at once. A topic is identified by a custom key. This
      can be helpful for things like sending out marketing emails or notifying
      users of new features. Topics can also be used to send notifications to
      the subscribers who have been grouped together based on their interests,
      location, activities and much more.
    externalDocs:
      url: https://docs.novu.co/subscribers/topics
  - name: Integrations
    description: >-
      With the help of the Integration Store, you can easily integrate your
      favorite delivery provider. During the runtime of the API, the
      Integrations Store is responsible for storing the configurations of all
      the providers.
    externalDocs:
      url: https://docs.novu.co/platform/integrations/overview
  - name: Workflows
    description: >-
      All notifications are sent via a workflow. Each workflow acts as a
      container for the logic and blueprint that are associated with a type of
      notification in your system.
    externalDocs:
      url: https://docs.novu.co/workflows
  - name: Messages
    description: >-
      A message in Novu represents a notification delivered to a recipient on a
      particular channel. Messages contain information about the request that
      triggered its delivery, a view of the data sent to the recipient, and a
      timeline of its lifecycle events. Learn more about messages.
    externalDocs:
      url: https://docs.novu.co/workflows/messages
  - name: Environments
    description: >-
      Environments allow you to manage different stages of your application
      development lifecycle. Each environment has its own set of API keys and
      configurations, enabling you to separate development, staging, and
      production workflows.
    externalDocs:
      url: https://docs.novu.co/platform/environments
  - name: Layouts
    description: Layouts are reusable wrappers for your email notifications.
    externalDocs:
      url: https://docs.novu.co/platform/workflow/layouts
  - name: Translations
    description: Used to localize your notifications to different languages.
    externalDocs:
      url: https://docs.novu.co/platform/workflow/advanced-features/translations
  - name: Domains
    description: Used to manage your inbound email domains.
    externalDocs:
      url: https://docs.novu.co/platform/domains
externalDocs:
  description: Novu Documentation
  url: https://docs.novu.co
paths:
  /v2/translations/master-json:
    post:
      tags:
        - Translations
      summary: Import master translations JSON
      description: >-
        Import translations for multiple workflows from master JSON format for a
        specific locale
      operationId: TranslationController_importMasterJsonEndpoint
      parameters:
        - name: idempotency-key
          in: header
          description: A header for idempotency purposes
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportMasterJsonRequestDto'
      responses:
        '200':
          description: Master translations imported successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportMasterJsonResponseDto'
      security:
        - secretKey: []
        - secretKey: []
      x-codeSamples:
        - lang: php
          label: PHP
          source: >-
            declare(strict_types=1);


            require 'vendor/autoload.php';


            use novu;

            use novu\Models\Components;


            $sdk = novu\Novu::builder()
                ->setSecurity(
                    'YOUR_SECRET_KEY_HERE'
                )
                ->build();

            $importMasterJsonRequestDto = new
            Components\ImportMasterJsonRequestDto(
                locale: 'en_US',
                masterJson: [
                    'workflows' => [
                        'welcome-email' => [
                            'welcome.title' => 'Welcome to our platform',
                            'welcome.message' => 'Hello there!',
                        ],
                        'password-reset' => [
                            'reset.title' => 'Reset your password',
                            'reset.message' => 'Click the link to reset',
                        ],
                    ],
                ],
            );


            $response = $sdk->translations->master->import(
                importMasterJsonRequestDto: $importMasterJsonRequestDto
            );


            if ($response->importMasterJsonResponseDto !== null) {
                // handle response
            }
        - lang: python
          label: Python
          source: |-
            from novu_py import Novu


            with Novu(
                secret_key="YOUR_SECRET_KEY_HERE",
            ) as novu:

                res = novu.translations.master.import_master_json(import_master_json_request_dto={
                    "locale": "en_US",
                    "master_json": {
                        "workflows": {
                            "welcome-email": {
                                "welcome.title": "Welcome to our platform",
                                "welcome.message": "Hello there!",
                            },
                            "password-reset": {
                                "reset.title": "Reset your password",
                                "reset.message": "Click the link to reset",
                            },
                        },
                    },
                })

                # Handle response
                print(res)
        - lang: go
          label: Go
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/novuhq/novu-go/v3\"\n\t\"github.com/novuhq/novu-go/v3/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := v3.New(\n        v3.WithSecurity(\"YOUR_SECRET_KEY_HERE\"),\n    )\n\n    res, err := s.Translations.Master.Import(ctx, components.ImportMasterJSONRequestDto{\n        Locale: \"en_US\",\n        MasterJSON: map[string]any{\n            \"workflows\": map[string]any{\n                \"welcome-email\": map[string]any{\n                    \"welcome.title\": \"Welcome to our platform\",\n                    \"welcome.message\": \"Hello there!\",\n                },\n                \"password-reset\": map[string]any{\n                    \"reset.title\": \"Reset your password\",\n                    \"reset.message\": \"Click the link to reset\",\n                },\n            },\n        },\n    }, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.ImportMasterJSONResponseDto != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: TypeScript
          source: |-
            import { Novu } from "@novu/api";

            const novu = new Novu({
              secretKey: "YOUR_SECRET_KEY_HERE",
            });

            async function run() {
              const result = await novu.translations.master.import({
                locale: "en_US",
                masterJson: {
                  "workflows": {
                    "welcome-email": {
                      "welcome.title": "Welcome to our platform",
                      "welcome.message": "Hello there!",
                    },
                    "password-reset": {
                      "reset.title": "Reset your password",
                      "reset.message": "Click the link to reset",
                    },
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: csharp
          label: Csharp (SDK)
          source: >-
            using Novu;

            using Novu.Models.Components;

            using System.Collections.Generic;


            var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");


            var res = await
            sdk.Translations.Master.ImportAsync(importMasterJsonRequestDto: new
            ImportMasterJsonRequestDto() {
                Locale = "en_US",
                MasterJson = new Dictionary<string, object>() {
                    { "workflows", new Dictionary<string, object>() {
                        { "welcome-email", new Dictionary<string, object>() {
                            { "welcome.title", "Welcome to our platform" },
                            { "welcome.message", "Hello there!" },
                        } },
                        { "password-reset", new Dictionary<string, object>() {
                            { "reset.title", "Reset your password" },
                            { "reset.message", "Click the link to reset" },
                        } },
                    } },
                },
            });


            // handle response
components:
  schemas:
    ImportMasterJsonRequestDto:
      type: object
      properties:
        locale:
          type: string
          description: The locale for which translations are being imported
          example: en_US
        masterJson:
          type: object
          description: >-
            Master JSON object containing all translations organized by workflow
            identifier
          example:
            workflows:
              welcome-email:
                welcome.title: Welcome to our platform
                welcome.message: Hello there!
              password-reset:
                reset.title: Reset your password
                reset.message: Click the link to reset
          additionalProperties: true
      required:
        - locale
        - masterJson
    ImportMasterJsonResponseDto:
      type: object
      properties:
        success:
          type: boolean
          description: Overall success status of the import operation
          example: true
        message:
          type: string
          description: Human-readable message describing the import result
          example: >-
            Successfully imported translations for 2 resources: welcome-email,
            password-reset
        successful:
          description: List of resource IDs that were successfully imported
          example:
            - welcome-email
            - password-reset
          type: array
          items:
            type: string
        failed:
          description: List of resource IDs that failed to import
          example:
            - missing-workflow
          type: array
          items:
            type: string
      required:
        - success
        - message
  securitySchemes:
    secretKey:
      type: apiKey
      name: Authorization
      in: header
      description: >-
        API key authentication. Allowed headers-- "Authorization: ApiKey
        <novu_secret_key>".
      x-speakeasy-example: YOUR_SECRET_KEY_HERE

````