Skip to main content
POST
Push translations (import)

Authorizations

Authorization
string
header
required

Enter your API key in the format: Bearer <api_key>

Body

application/json

Bulk import request

content
string
required

Raw JSON file content. Nested objects are flattened into dot-separated keys (e.g. {"auth":{"title":"Sign in"}} becomes the key "auth.title"). A null value imports as the literal string "null"; array values are flattened into index-suffixed keys (e.g. "key.0", "key.1") rather than being rejected.

Example:

"{\"welcome.message\": \"Welcome to our app\"}"

language
string
required

Target language code for the imported values

Example:

"de"

projectId
string<uuid>
required

Project UUID

dryRun
boolean
default:false

Validate and preview changes without starting an import

format
enum<string>
default:json

Only JSON is supported in v1

Available options:
json
importMode
enum<string>
default:merge

Whether to merge with or replace existing translations

Available options:
merge,
replace
status
enum<string>
default:approved

Status to assign to imported translation rows

Available options:
draft,
pending,
approved,
needs_review

Response

Dry-run preview — only returned when dryRun: true. No data is written.

dryRun
boolean
Example:

true

importMode
enum<string>
Available options:
merge,
replace
language
string
rowCount
integer
toCreate
integer
toUpdate
integer