Docs
Translations

Import a translation file

POST/translations/importNeedscontent.edit

Send the file's text. With dryRun (the default) nothing is written and you get the plan; dryRun: false writes every new or changed cell in one transaction. Empty cells are skipped — an import never deletes a translation.

Authorization

secretKey
headerAuthorizationBearer <sk_…>

A secret API key from Settings → API keys. It acts with its creator's role.

Request Body

application/json
  1. body
format*string
Value in"csv""xliff"
content*string
Length1 <= length <= 5242880
dryRun?boolean
Defaulttrue

Response Body

The plan (and what was applied)

application/json
  1. response
dryRun*boolean
format*string
Value in"csv""xliff"
languages*array<string>
ignoredColumns*array<string>
summary*
errors*array<>
changes*array<>
changesTruncated*boolean
applied?
Shell
curl -X POST 'https://app.cueston.com/api/translations/import' \
  -H 'Content-Type: application/json' \
  -d '{
  "format": "csv",
  "content": "Export any report as CSV from here."
}'
Example Response
JSON
{
  "dryRun": true,
  "format": "csv",
  "languages": [
    "string"
  ],
  "ignoredColumns": [
    "string"
  ],
  "summary": {
    "rows": 0,
    "new": 0,
    "changed": 0,
    "unchanged": 0,
    "invalid": 0,
    "skipped": 0
  },
  "errors": [
    {
      "row": 0,
      "key": "string",
      "language": "string",
      "message": "string"
    }
  ],
  "changes": [
    {}
  ],
  "changesTruncated": true,
  "applied": {
    "translations": 0,
    "items": 0
  }
}