> This page is for version 2025-10-27.
> For other versions, use one of these documentation indexes:
> - 2026-09-29 (default): https://docs.withpersona.com/2026-09-29/llms.txt
> - 2025-12-08: https://docs.withpersona.com/2025-12-08/llms.txt
> - 2025-10-27: https://docs.withpersona.com/2025-10-27/llms.txt
> - 2023-01-05: https://docs.withpersona.com/2023-01-05/llms.txt
> - 2022-09-01: https://docs.withpersona.com/2022-09-01/llms.txt
> - 2021-07-05: https://docs.withpersona.com/2021-07-05/llms.txt
> - 2021-05-14: https://docs.withpersona.com/2021-05-14/llms.txt
> - 2020-05-18: https://docs.withpersona.com/2020-05-18/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.withpersona.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.withpersona.com/_mcp/server.

# Import Inquiry Template Translations

POST https://api.withpersona.com/api/v1/inquiry-templates/{inquiry-template-id}/translations
Content-Type: application/json

Imports translations for an Inquiry Template. Supports partial updates — translation rows not included in the request body are left unchanged.

If a draft version already exists, translations are applied to it. If no draft exists, a new draft is created from the latest published version before importing. The draft is never automatically published — publishing is always a manual step in the dashboard.

Note: You must use a production API key to access this endpoint. For security reasons, we do not expose organization-level resources like Inquiry Templates in Sandbox via API.

Reference: https://docs.withpersona.com/api-reference/inquiry-templates/import-inquiry-template-translations

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `inquiry-template-id` (string, required) — Inquiry Template ID

### Query parameters

- `include` (string, optional) — A comma-separated list of relationship paths. This can be used to customize which related resources will be fully serialized in the `included` key in the response. See [Serialization](https://docs.withpersona.com/serialization#inclusion-of-related-resources) for more details.
- `fields` (map from string to string, optional) — Comma-separated list(s) of attributes to include in the response. This can be used to customize which attributes will be serialized in the response. See [Serialization](https://docs.withpersona.com/serialization#sparse-fieldsets) for more details.

### Headers

- `Key-Inflection` (enum, optional) — Determines casing for the API response.
  - Allowed values: `camel`, `kebab`, `snake`
- `Idempotency-Key` (string, optional) — Ensures the request is idempotent.
- `Persona-Version` (enum, optional) — Server API version. More info on versioning can be found [here](https://docs.withpersona.com/versioning).
  - Allowed values: `2026-09-29`, `2025-12-08`, `2025-10-27`, `2023-01-05`, `2022-09-01`, `2021-08-18`, `2021-07-05`, `2021-02-21`, `2020-05-18`

### Body (application/json)

This endpoint expects an object.

- `data` (InquiryTemplatesInquiryTemplateIdTranslationsPostRequestBodyContentApplicationJsonSchemaData, required)

## Response

### 200

This endpoint returns the updated Inquiry Template Version object.

- `data` (inquiry-template-version, required) — An Inquiry Template Version object

## Errors

### 400 Bad Request Error

The request was unacceptable, often due to invalid parameters.

- `errors` (list of InquiryTemplatesInquiryTemplateIdTranslationsPostResponsesContentApplicationJsonSchemaErrorsItems, optional)

### 401 Unauthorized Error

An invalid API key was provided.

- `errors` (list of InquiryTemplatesInquiryTemplateIdTranslationsPostResponsesContentApplicationJsonSchemaErrorsItems, optional)

### 403 Forbidden Error

The given API key doesn’t have permissions to perform the request or a quota has been exceeded.

- `errors` (list of InquiryTemplatesInquiryTemplateIdTranslationsPostResponsesContentApplicationJsonSchemaErrorsItems, optional)

### 404 Not Found Error

The requested resource doesn’t exist.

- `errors` (list of InquiryTemplatesInquiryTemplateIdTranslationsPostResponsesContentApplicationJsonSchemaErrorsItems, optional)

### 409 Conflict Error

The request conflicts with another request, often due to attempting to create a duplicate resource.

- `errors` (list of InquiryTemplatesInquiryTemplateIdTranslationsPostResponsesContentApplicationJsonSchemaErrorsItems, optional)

### 422 Unprocessable Entity Error

The request modifies the resource in an unacceptable way, often due to an invalid action or parameter.

- `errors` (list of InquiryTemplatesInquiryTemplateIdTranslationsPostResponsesContentApplicationJsonSchemaErrorsItems, optional)

### 429 Too Many Requests Error

Your organization’s rate limit has been exceeded. We recommend an exponential backoff on requests.

- `errors` (list of InquiryTemplatesInquiryTemplateIdTranslationsPostResponsesContentApplicationJsonSchemaErrorsItems, optional)

## Types

### InquiryTemplatesInquiryTemplateIdTranslationsPostRequestBodyContentApplicationJsonSchemaData

- `attributes` (InquiryTemplatesInquiryTemplateIdTranslationsPostRequestBodyContentApplicationJsonSchemaDataAttributes, required)

### inquiry-template-version

An Inquiry Template Version object

- `id` (string, optional)
- `attributes` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributes, optional)
- `relationships` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionRelationships, optional)

### InquiryTemplatesInquiryTemplateIdTranslationsPostResponsesContentApplicationJsonSchemaErrorsItems

- `title` (string, optional)
- `details` (string, optional)

### InquiryTemplatesInquiryTemplateIdTranslationsPostRequestBodyContentApplicationJsonSchemaDataAttributes

- `translations` (list of InquiryTemplatesInquiryTemplateIdTranslationsPostRequestBodyContentApplicationJsonSchemaDataAttributesTranslationsItems, required)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributes

- `name-display` (string, optional, nullable)
- `description` (string, optional, nullable) — A description of the changes in this version.
- `status` (string, optional) — Possible values: - published - draft Do not assume this is a static enumeration; Persona may add new values in the future without a versioned update.
- `live` (boolean, optional) — Whether this version is deployed in at least one environment. Reflects organization-wide state, so the value is the same for Sandbox and Production API keys.
- `version-tag` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesVersionTag, optional, nullable) — The version's tag; null when the version is untagged. Omitted for Sandbox API keys and for API keys without `inquiry_template.read` on the parent Inquiry Template (for example, when this version is included in an Inquiry response).
- `deployments` (list of VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItems, optional) — Deployment routes currently sending traffic to this version, one per environment; rules carry the strategy (constant today, weighted/conditional for partial rollouts) and version references carry each referenced version's token and serialized deployment tag. Omitted under the same conditions as `version-tag`.
- `last-updater` (string, optional, nullable) — The email address of the User who last updated this version.
- `enabled-locales` (list of string, optional)
- `created-at` (datetime, optional)
- `updated-at` (datetime, optional, nullable)
- `published-at` (datetime, optional, nullable)
- `theme` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesTheme, optional)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionRelationships

- `inquiry-template` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionRelationshipsInquiryTemplate, optional)

### InquiryTemplatesInquiryTemplateIdTranslationsPostRequestBodyContentApplicationJsonSchemaDataAttributesTranslationsItems

- `step` (string, required)
- `component` (string, required)
- `attribute-name` (string, required)
- `locale-values` (list of InquiryTemplatesInquiryTemplateIdTranslationsPostRequestBodyContentApplicationJsonSchemaDataAttributesTranslationsItemsLocaleValuesItems, required)
- `step-display-name` (string, optional)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesVersionTag

The version's tag; null when the version is untagged. Omitted for Sandbox API keys and for API keys without `inquiry_template.read` on the parent Inquiry Template (for example, when this version is included in an Inquiry response).

- `name` (string, required)
- `description` (string, required, nullable)
- `created-at` (datetime, required)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItems

- `resource-type` (string, required) — The platform resource type the route targets. Possible values are `inquiry-template`, `workflow`, and `scheduled-run-config`.
- `template-id` (string, required) — The token of the resource template the route targets.
- `environment` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsEnvironment, required) — The environment the route applies to.
- `rules` (list of VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItems, required) — The routing rules evaluated for the environment. Each rule has a strategy and may have a criteria tree with `and`, `or`, and `!` operators over context or resource origins.

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesTheme

- `border-radius` (string, optional, nullable)
- `border-radius-input` (string, optional, nullable)
- `border-radius-modal` (string, optional, nullable)
- `border-width` (string, optional, nullable)
- `border-width-input` (string, optional, nullable)
- `button-background-image` (string, optional, nullable)
- `button-font-weight` (string, optional, nullable)
- `button-position` (string, optional, nullable)
- `button-shadow-strength` (string, optional, nullable)
- `button-text-transform` (string, optional, nullable)
- `color-button-primary` (string, optional, nullable)
- `color-button-secondary` (string, optional, nullable)
- `color-button-secondary-fill` (string, optional, nullable)
- `color-button-primary-fill-disabled` (string, optional, nullable)
- `color-button-secondary-fill-disabled` (string, optional, nullable)
- `color-error` (string, optional, nullable)
- `color-font` (string, optional, nullable)
- `color-font-button-primary` (string, optional, nullable)
- `color-font-button-secondary` (string, optional, nullable)
- `color-font-small` (string, optional, nullable)
- `color-font-title` (string, optional, nullable)
- `color-icon-header` (string, optional, nullable)
- `color-input-background` (string, optional, nullable)
- `color-input-border` (string, optional, nullable)
- `color-link` (string, optional, nullable)
- `color-modal-background` (string, optional, nullable)
- `color-primary` (string, optional, nullable)
- `color-progress-bar` (string, optional, nullable)
- `color-success` (string, optional, nullable)
- `color-warning` (string, optional, nullable)
- `color-divider` (string, optional, nullable)
- `color-dropdown-background` (string, optional, nullable)
- `color-dropdown-option` (string, optional, nullable)
- `font-family` (string, optional, nullable)
- `font-family-title` (string, optional, nullable)
- `font-url` (string, optional, nullable)
- `font-size-body` (string, optional, nullable)
- `font-size-header` (string, optional, nullable)
- `font-size-small` (string, optional, nullable)
- `line-height-body` (string, optional, nullable)
- `line-height-header` (string, optional, nullable)
- `line-height-small` (string, optional, nullable)
- `header-font-weight` (string, optional, nullable)
- `header-margin-bottom` (string, optional, nullable)
- `icon-color-primary` (string, optional, nullable)
- `icon-color-highlight` (string, optional, nullable)
- `icon-color-stroke` (string, optional, nullable)
- `icon-color-background` (string, optional, nullable)
- `icon-color-government-id-type` (string, optional, nullable)
- `icon-style` (string, optional, nullable)
- `input-style` (string, optional, nullable)
- `page-transition` (string, optional, nullable)
- `text-align` (string, optional, nullable)
- `text-decoration-line-link` (string, optional, nullable)
- `us-state-input-method` (string, optional, nullable)
- `vertical-options-style` (string, optional, nullable)
- `government-id-pictograph-position` (string, optional, nullable)
- `id-back-pictograph-height` (string, optional, nullable)
- `id-back-pictograph-url` (string, optional, nullable)
- `id-front-pictograph-height` (string, optional, nullable)
- `id-front-pictograph-url` (string, optional, nullable)
- `passport-front-pictograph-height` (string, optional, nullable)
- `passport-front-pictograph-url` (string, optional, nullable)
- `passport-signature-pictograph-height` (string, optional, nullable)
- `passport-signature-pictograph-url` (string, optional, nullable)
- `government-id-select-pictograph-height` (string, optional, nullable)
- `government-id-select-pictograph-url` (string, optional, nullable)
- `device-handoff-terms-text-position` (string, optional, nullable)
- `selfie-pictograph-url` (string, optional, nullable)
- `selfie-pictograph-height` (string, optional, nullable)
- `selfie-center-pictograph-url` (string, optional, nullable)
- `selfie-center-pictograph-height` (string, optional, nullable)
- `selfie-left-pictograph-url` (string, optional, nullable)
- `selfie-left-pictograph-height` (string, optional, nullable)
- `selfie-right-pictograph-url` (string, optional, nullable)
- `selfie-right-pictograph-height` (string, optional, nullable)
- `document-pictograph-position` (string, optional, nullable)
- `document-pictograph-height` (string, optional, nullable)
- `document-pictograph-url` (string, optional, nullable)
- `camera-support-pictograph-height` (string, optional, nullable)
- `camera-support-pictograph-url` (string, optional, nullable)
- `loading-pictograph-height` (string, optional, nullable)
- `loading-pictograph-url` (string, optional, nullable)
- `navbar-logo-display` (string, optional, nullable)
- `logo-url` (string, optional, nullable)
- `logo` (string, optional, nullable)
- `logo-data` (string, optional, nullable)
- `logo-filename` (string, optional, nullable)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionRelationshipsInquiryTemplate

- `data` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionRelationshipsInquiryTemplateData, optional)

### InquiryTemplatesInquiryTemplateIdTranslationsPostRequestBodyContentApplicationJsonSchemaDataAttributesTranslationsItemsLocaleValuesItems

- `locale` (string, required)
- `value` (string, required, nullable)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsEnvironment

The environment the route applies to.

- `token` (string, required) — The environment's token.
- `name` (string, required) — The environment's display name.

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItems

- `strategy` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategy, required)
- `criteria` (deployment-route-criteria, optional) — An `and`/`or`/`!` tree whose `origin` leaves are either `{ context }` or `{ resource-type, template-id, version }`.

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionRelationshipsInquiryTemplateData

- `type` ("inquiry-template", optional)
- `id` (string, optional)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategy

- VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategy0
- VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategy1

### deployment-route-criteria

A deployment route criteria node: an `and`/`or`/`!` operator tree whose `origin` leaves are either `{ context }` or `{ resource-type, template-id, version }`. Version references carry the version token and its serialized deployment tag (null when the version is untagged). Each operator's operand may be a single node or a non-empty array of nodes.

- DeploymentRouteCriteria0
- DeploymentRouteCriteria1
- DeploymentRouteCriteria2
- DeploymentRouteCriteria3

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategy0

- `type` ("constant", required)
- `version` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf0Version, required)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategy1

- `type` ("weighted-random", required)
- `version-refs` (list of VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf1VersionRefsItems, required)

### DeploymentRouteCriteria0

- `and` (DeploymentRouteCriteriaOneOf0And, required)

### DeploymentRouteCriteria1

- `or` (DeploymentRouteCriteriaOneOf1Or, required)

### DeploymentRouteCriteria2

- `!` (DeploymentRouteCriteriaOneOf2, required)

### DeploymentRouteCriteria3

- `origin` (DeploymentRouteCriteriaOneOf3Origin, required)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf0Version

- `token` (string, required)
- `tag` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf0VersionTag, required, nullable) — The version's serialized deployment tag, when one was minted.

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf1VersionRefsItems

- `version` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf1VersionRefsItemsVersion, required)
- `weight` (integer, required) — Relative share of traffic (0–100). Weights across all version-refs in the strategy must sum to 100.

### DeploymentRouteCriteriaOneOf0And

- deployment-route-criteria: deployment-route-criteria
- list of deployment-route-criteria

### DeploymentRouteCriteriaOneOf1Or

- deployment-route-criteria: deployment-route-criteria
- list of deployment-route-criteria

### DeploymentRouteCriteriaOneOf2

- deployment-route-criteria: deployment-route-criteria
- list of deployment-route-criteria

### DeploymentRouteCriteriaOneOf3Origin

- DeploymentRouteCriteriaOneOf3Origin0
- DeploymentRouteCriteriaOneOf3Origin1

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf0VersionTag

The version's serialized deployment tag, when one was minted.

- `name` (string, required)
- `description` (string, required, nullable)
- `created-at` (datetime, required)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf1VersionRefsItemsVersion

- `token` (string, required)
- `tag` (VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf1VersionRefsItemsVersionTag, required, nullable) — The version's serialized deployment tag, when one was minted.

### DeploymentRouteCriteriaOneOf3Origin0

- `context` (string, required) — The request context the route matches on.

### DeploymentRouteCriteriaOneOf3Origin1

- `resource-type` (string, required) — The platform resource type the origin targets.
- `template-id` (string, required) — The token of the resource template the origin targets.
- `version` (DeploymentRouteCriteriaOneOf3OriginOneOf1Version, optional, nullable)

### VerificationIncludedObjectsItemsDiscriminatorMappingInquiryTemplateVersionAttributesDeploymentsItemsRulesItemsStrategyOneOf1VersionRefsItemsVersionTag

The version's serialized deployment tag, when one was minted.

- `name` (string, required)
- `description` (string, required, nullable)
- `created-at` (datetime, required)

### DeploymentRouteCriteriaOneOf3OriginOneOf1Version

- `token` (string, required)
- `tag` (DeploymentRouteCriteriaOneOf3OriginOneOf1VersionTag, required, nullable) — The version's serialized deployment tag, when one was minted.

### DeploymentRouteCriteriaOneOf3OriginOneOf1VersionTag

The version's serialized deployment tag, when one was minted.

- `name` (string, required)
- `description` (string, required, nullable)
- `created-at` (datetime, required)

## Examples

### Success

**Response**

```json
{
  "data": {
    "id": "itmplv_HAVumeSgCxWxhVb8tTRjaiUB",
    "attributes": {
      "name-display": "Collect Government ID",
      "description": "Add Spanish translations",
      "status": "draft",
      "live": false,
      "last-updater": "taylor@example.com",
      "enabled-locales": [
        "en-US"
      ],
      "created-at": "2023-01-05T00:00:00.000Z",
      "updated-at": "2023-01-05T00:00:00.000Z",
      "published-at": null,
      "theme": {}
    },
    "relationships": {
      "inquiry-template": {
        "data": {
          "type": "inquiry-template",
          "id": "itmpl_srQQ2Ui2gvNY353u65vD61gr"
        }
      }
    },
    "type": "inquiry-template-version"
  }
}
```

**SDK Code**

```python Success
import requests

url = "https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations"

headers = {"Authorization": "Bearer <token>"}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript Success
const url = 'https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations';
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Success
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Success
require 'uri'
require 'net/http'

url = URI("https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Success
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Success
using RestSharp;

var client = new RestClient("https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Success
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Import translations

**Request**

```json
{
  "data": {
    "attributes": {
      "translations": [
        {
          "step": "start",
          "component": "title",
          "attribute-name": "text",
          "locale-values": [
            {
              "locale": "en-US",
              "value": "Getting started"
            },
            {
              "locale": "fr",
              "value": "Commencer"
            },
            {
              "locale": "es-MX",
              "value": "Empezar"
            }
          ],
          "step-display-name": "Start"
        }
      ]
    }
  }
}
```

**Response**

```json
{
  "data": {
    "id": "itmplv_HAVumeSgCxWxhVb8tTRjaiUB",
    "attributes": {
      "name-display": "Collect Government ID",
      "description": "Add Spanish translations",
      "status": "draft",
      "live": false,
      "last-updater": "taylor@example.com",
      "enabled-locales": [
        "en-US"
      ],
      "created-at": "2023-01-05T00:00:00.000Z",
      "updated-at": "2023-01-05T00:00:00.000Z",
      "published-at": null,
      "theme": {}
    },
    "relationships": {
      "inquiry-template": {
        "data": {
          "type": "inquiry-template",
          "id": "itmpl_srQQ2Ui2gvNY353u65vD61gr"
        }
      }
    },
    "type": "inquiry-template-version"
  }
}
```

**SDK Code**

```python Import translations
import requests

url = "https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations"

payload = { "data": { "attributes": { "translations": [
                {
                    "step": "start",
                    "component": "title",
                    "attribute-name": "text",
                    "locale-values": [
                        {
                            "locale": "en-US",
                            "value": "Getting started"
                        },
                        {
                            "locale": "fr",
                            "value": "Commencer"
                        },
                        {
                            "locale": "es-MX",
                            "value": "Empezar"
                        }
                    ],
                    "step-display-name": "Start"
                }
            ] } } }
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Import translations
const url = 'https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"data":{"attributes":{"translations":[{"step":"start","component":"title","attribute-name":"text","locale-values":[{"locale":"en-US","value":"Getting started"},{"locale":"fr","value":"Commencer"},{"locale":"es-MX","value":"Empezar"}],"step-display-name":"Start"}]}}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Import translations
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations"

	payload := strings.NewReader("{\n  \"data\": {\n    \"attributes\": {\n      \"translations\": [\n        {\n          \"step\": \"start\",\n          \"component\": \"title\",\n          \"attribute-name\": \"text\",\n          \"locale-values\": [\n            {\n              \"locale\": \"en-US\",\n              \"value\": \"Getting started\"\n            },\n            {\n              \"locale\": \"fr\",\n              \"value\": \"Commencer\"\n            },\n            {\n              \"locale\": \"es-MX\",\n              \"value\": \"Empezar\"\n            }\n          ],\n          \"step-display-name\": \"Start\"\n        }\n      ]\n    }\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Import translations
require 'uri'
require 'net/http'

url = URI("https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"data\": {\n    \"attributes\": {\n      \"translations\": [\n        {\n          \"step\": \"start\",\n          \"component\": \"title\",\n          \"attribute-name\": \"text\",\n          \"locale-values\": [\n            {\n              \"locale\": \"en-US\",\n              \"value\": \"Getting started\"\n            },\n            {\n              \"locale\": \"fr\",\n              \"value\": \"Commencer\"\n            },\n            {\n              \"locale\": \"es-MX\",\n              \"value\": \"Empezar\"\n            }\n          ],\n          \"step-display-name\": \"Start\"\n        }\n      ]\n    }\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Import translations
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"data\": {\n    \"attributes\": {\n      \"translations\": [\n        {\n          \"step\": \"start\",\n          \"component\": \"title\",\n          \"attribute-name\": \"text\",\n          \"locale-values\": [\n            {\n              \"locale\": \"en-US\",\n              \"value\": \"Getting started\"\n            },\n            {\n              \"locale\": \"fr\",\n              \"value\": \"Commencer\"\n            },\n            {\n              \"locale\": \"es-MX\",\n              \"value\": \"Empezar\"\n            }\n          ],\n          \"step-display-name\": \"Start\"\n        }\n      ]\n    }\n  }\n}")
  .asString();
```

```php Import translations
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations', [
  'body' => '{
  "data": {
    "attributes": {
      "translations": [
        {
          "step": "start",
          "component": "title",
          "attribute-name": "text",
          "locale-values": [
            {
              "locale": "en-US",
              "value": "Getting started"
            },
            {
              "locale": "fr",
              "value": "Commencer"
            },
            {
              "locale": "es-MX",
              "value": "Empezar"
            }
          ],
          "step-display-name": "Start"
        }
      ]
    }
  }
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Import translations
using RestSharp;

var client = new RestClient("https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"data\": {\n    \"attributes\": {\n      \"translations\": [\n        {\n          \"step\": \"start\",\n          \"component\": \"title\",\n          \"attribute-name\": \"text\",\n          \"locale-values\": [\n            {\n              \"locale\": \"en-US\",\n              \"value\": \"Getting started\"\n            },\n            {\n              \"locale\": \"fr\",\n              \"value\": \"Commencer\"\n            },\n            {\n              \"locale\": \"es-MX\",\n              \"value\": \"Empezar\"\n            }\n          ],\n          \"step-display-name\": \"Start\"\n        }\n      ]\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Import translations
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = ["data": ["attributes": ["translations": [
        [
          "step": "start",
          "component": "title",
          "attribute-name": "text",
          "locale-values": [
            [
              "locale": "en-US",
              "value": "Getting started"
            ],
            [
              "locale": "fr",
              "value": "Commencer"
            ],
            [
              "locale": "es-MX",
              "value": "Empezar"
            ]
          ],
          "step-display-name": "Start"
        ]
      ]]]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.withpersona.com/api/v1/inquiry-templates/inquiry-template-id/translations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```