**Source URL:** https://general.veevavault.dev/safety/vault-api/api-reference/26.1/bulk-translation/import-bulk-translation-file.md

# Import Bulk Translation Files



Import bulk translation files into Vault.

While an exported bulk translation file can contain only one (1) language, your import file may include multiple languages.
Vault reads the language value separately for each row and applies any new translations immediately. Vault ignores any rows without changes.
Learn more about the [translation file schema in Vault Help](https://platform.veevavault.help/en/gr/13309/#field-labels-and-system-messages-translation-file).

You must have the *Admin: Language: Edit* permission to import a bulk translation file to Vault.

Upload the CSV file to your Vault’s [file staging](/vault-api/guides/file-staging/) before making this request.

* The maximum CSV input file size is 1GB.

* The values in the input must be UTF-16 encoded and tab-delimited.

<Endpoint path="/api/{version}/messages/{message_type}/actions/import" method="POST"></Endpoint>

## Headers {#headers}

<FieldTable>
| Name | Description |
| --- | --- |
| `Accept` | `application/json` (default) or `application/xml` |
| `Content-Type` | `application/x-www-form-urlencoded` |
</FieldTable>

## URI Path Parameters {#uri-path-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `{message_type}` | The message type name: `field_labels__sys`, `system_messages__sys`, `notification_template_messages__sys`, or `user_account_messages__sys`. |
</FieldTable>

## Body Parameters {#body-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `file_paths` | A comma-separated list of the file paths of the CSV files on [file staging](/vault-api/guides/file-staging/). Cannot contain `../` or any other path traversal directives. If any of the provided filenames are invalid, the entire request fails to send. |
</FieldTable>

## Request {#request}

<CodeExample title="">
```
curl --location 'https://myvault.veevavault.com/api/v26.1/messages/field_labels__sys/actions/import' \
--header 'Authorization: {SESSION_ID}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'file_paths=PromoMats_French_Field-Labels.csv, PromoMats_English_Field-Labels.csv'

```
</CodeExample>

## Response {#response}

<CodeExample title="">
```
{
    "responseStatus": "SUCCESS",
    "data": {
        "url": "/api/v26.1/services/jobs/902601",
        "jobId": "902601"
    }
}

```
</CodeExample>

## Response Details {#response-details}

On `SUCCESS`, the response includes the `job_id` which allows you to:

* [Retrieve the job status](/vault-api/api-reference/26.1/jobs/retrieve-job-status), which specifies if the import job has completed with `SUCCESS`

* [Retrieve the job summary](/vault-api/api-reference/26.1/bulk-translation/retrieve-import-bulk-translation-file-job-summary), which provides details of a successful job

* [Retrieve the job errors](/vault-api/api-reference/26.1/bulk-translation/retrieve-import-bulk-translation-file-job-errors), which provides details about the errors encountered in the job (if any)



---

**Previous:** [Export Bulk Translation File](/safety/vault-api/api-reference/26.1/bulk-translation/export-bulk-translation-file)  
**Next:** [Retrieve Import Bulk Translation File Job Summary](/safety/vault-api/api-reference/26.1/bulk-translation/retrieve-import-bulk-translation-file-job-summary)