POST/v2/projects/{projectId}/export

Export project data with a request body

Exports project data in a selected format using a request body, which is useful when export parameters would make a GET URL too long. Supply format, supportArrays, and zip; optionally filter the export by languages, keys, tags, states, namespaces, or branch. The response is a file or a ZIP archive containing multiple files, and conditional headers can avoid transferring unchanged data.

  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

1 parameter · 17 body fields
projectIdintegerrequired
The numeric identifier of the project to export.

Export options and optional filters. format, supportArrays, and zip are required.

escapeHtmlbooleanoptional
If true, HTML tags are escaped in the exported file. (Supported in the XLIFF format only). e.g. Key <b>hello</b> will be exported as &lt;b&gt;hello&lt;/b&gt;
fileStructureTemplatestringoptional
This is a template that defines the structure of the resulting .zip file content. The template is a string that can contain the following placeholders: {namespace}, {languageTag}, {androidLanguageTag}, {snakeLanguageTag}, {extension}. For example, when exporting to JSON with the template `{namespace}/{languageTag}.{extension}`, the English translations of the `home` namespace will be stored in `home/en.json`. The `{snakeLanguageTag}` placeholder is the same as `{languageTag}` but in snake case. (e.g., en_US). The Android specific `{androidLanguageTag}` placeholder is the same as `{languageTag}` but in Android format. (e.g., en-rUS)
filterBranchstringoptional
Filter translations with branch. By default, default branch is exported.
filterKeyIdarray<integer>optional
Filter key IDs to be contained in export
filterKeyIdNotarray<integer>optional
Filter key IDs not to be contained in export
filterKeyPrefixstringoptional
Filter keys with prefix
filterNamespacearray<string>optional
Filter translations with namespace. By default, all namespaces everything are exported. To export default namespace, use empty string.
filterStatearray<string>optional
Filter translations with state. By default, all states except untranslated is exported.
filterTagstringoptional
Filter keys tagged by. This filter works the same as `filterTagIn` but in this cases it accepts single tag only.
filterTagInarray<string>optional
Filter keys tagged by one of provided tags
filterTagNotInarray<string>optional
Filter keys not tagged by one of provided tags
formatstringrequired
Format to export to
Allowed:JSONJSON_TOLGEEXLIFFPOAPPLE_STRINGS_STRINGSDICTAPPLE_XLIFFANDROID_XMLCOMPOSE_XMLFLUTTER_ARBPROPERTIESYAML_RUBYYAML
languagesarray<string>optional
Languages to be contained in export. If null, all languages are exported
messageFormatstringoptional
Message format to be used for export. e.g. PHP_PO: Hello %s, ICU: Hello {name}. This property is honored only for generic formats like JSON or YAML. For specific formats like `YAML_RUBY` it's ignored.
Allowed:C_SPRINTFPHP_SPRINTFJAVA_STRING_FORMATAPPLE_SPRINTFRUBY_SPRINTFI18NEXTICUPYTHON_PERCENTPYTHON_BRACE
structureDelimiterstringoptional
Delimiter to structure file content. e.g. For key "home.header.title" would result in {"home": {"header": "title": {"Hello"}}} structure. When null, resulting file won't be structured. Works only for generic structured formats (e.g. JSON, YAML), specific formats like `YAML_RUBY` don't honor this parameter.
supportArraysbooleanrequired
If true, for structured formats (like JSON) arrays are supported. e.g. Key hello[0] will be exported as {"hello": ["..."]}
zipbooleanrequired
Whether to return the exported files as a ZIP archive.

5 status codes
200Returns the exported file directly when one file is produced, or a ZIP archive when multiple files are produced.
400Returned when the export request is invalid or a required field is missing.
codestringrequired
Allowed:unauthenticatedapi_access_forbiddenapi_key_not_foundinvalid_api_keyinvalid_project_api_keyproject_api_key_expiredbad_credentialsmfa_enabledinvalid_otp_codemfa_not_enabledcan_not_revoke_own_permissionsdata_corrupted
paramsarray<object>optional
401Returned when the request is unauthenticated.
codestringrequired
Allowed:unauthenticatedapi_access_forbiddenapi_key_not_foundinvalid_api_keyinvalid_project_api_keyproject_api_key_expiredbad_credentialsmfa_enabledinvalid_otp_codemfa_not_enabledcan_not_revoke_own_permissionsdata_corrupted
paramsarray<object>optional
403Returned when the authenticated user is not permitted to export the project.
codestringrequired
Allowed:unauthenticatedapi_access_forbiddenapi_key_not_foundinvalid_api_keyinvalid_project_api_keyproject_api_key_expiredbad_credentialsmfa_enabledinvalid_otp_codemfa_not_enabledcan_not_revoke_own_permissionsdata_corrupted
paramsarray<object>optional
404Returned when the project does not exist.
codestringrequired
Allowed:unauthenticatedapi_access_forbiddenapi_key_not_foundinvalid_api_keyinvalid_project_api_keyproject_api_key_expiredbad_credentialsmfa_enabledinvalid_otp_codemfa_not_enabledcan_not_revoke_own_permissionsdata_corrupted
paramsarray<object>optional

Error handling

A 400 is returned when the export request is invalid, a 401 when authentication is missing or invalid, a 403 when access is forbidden, and a 404 when the project is not found. format, supportArrays, and zip are required; filterState accepts UNTRANSLATED, TRANSLATED, REVIEWED, or DISABLED. The projectId path parameter must identify an existing project.