Exports

Request asynchronous resource file exports and poll for their completion status and download URLs.

All endpoints are served under /v1/{workspaceUrl}/projects/{projectUrl}/exports and return application/json responses.
Authentication is required. Both endpoints are guarded by the resourcesView team permission.


Workflow

The export process is asynchronous and follows a two-step pattern:

  1. Request an export via POST — returns an export id with status PROCESSING
  2. Poll for completion via GET — once status is SUCCESS, the downloadUrl field contains a pre-signed S3 URL for the ZIP file
POST  .../exports          -->  { "id": "reg_...", "status": "PROCESSING" }
GET   .../exports/{id}     -->  { "id": "reg_...", "status": "SUCCESS", "downloadUrl": "https://..." }

Endpoints

POST /v1/{workspaceUrl}/projects/{projectUrl}/exports -- Request a resource export

Initiates the creation of a resource export that is assembled asynchronously in the background. Once completed, the export produces a downloadable ZIP file containing the project's resource files.

Request Body — ResourceExportRequest (optional)

All fields are optional filters. When omitted, all files and all languages are exported.

FieldTypeDescription
filePathsstring[]Export only specific files. Paths as shown in the Resources view, including locale placeholder (e.g. "config/locales/%{locale}/messages.yml")
iso2Slugsstring[]Export only specific locales — ISO 639-1 codes (e.g. "en", "de", "fr")
exportFormatstringOverride the export format. Allowed: "strings.ios", "xml.android.resources", "properties", etc.

Example Request Body

{
  "filePaths": ["config/locales/%{locale}/messages.yml"],
  "iso2Slugs": ["en", "de"],
  "exportFormat": "json.standard"
}
DetailValue
AuthresourcesView permission on the project
Response200ResourceExportResponse with status: "PROCESSING" and an export id

GET /v1/{workspaceUrl}/projects/{projectUrl}/exports/{id} -- Get export status

Retrieves the current status and details of a previously requested export. Poll this endpoint until the status changes from PROCESSING to SUCCESS or ERROR.

Path Parameters

ParameterTypeDescription
idstringThe export identifier returned by the POST endpoint (e.g. "reg_3163-0556-1428-5087674")

Response — ResourceExportResponse

FieldTypeDescription
idstringUnique export identifier
statusstring"PROCESSING", "SUCCESS", or "ERROR"
resourceExportsarrayIndividual file entries with filePath, iso2Slug, status, and downloadUrl
errorDetailsstring | nullError message if the export failed
filePathstring | nullName of the ZIP file (e.g. "files.zip") once complete
downloadUrlstring | nullPre-signed S3 download URL — available only when status is SUCCESS
triggerTypestringHow the export was triggered (e.g. "API_V1")
createdAttimestampWhen the export was requested
DetailValue
AuthresourcesView permission on the project
Response200ResourceExportResponse with current status and download information

Common Error Responses

StatusMeaning
401Unauthorized — authentication credentials are missing or invalid
403Forbidden — insufficient resourcesView permission on the project
404Not Found — workspace, project, export ID, or filtered file path does not exist