Features
Releases and Bundles
Releases let you publish a stable snapshot of translations for your app.
How It Works
- Import source content.
- Translate missing target-language values.
- Choose the locales for the release.
- Publish the release.
- Fetch the bundle from your app or build pipeline.
Publish a Release
POST /v1/i18n/projects/project_123/releases
Authorization: ApiKey lez_...
Content-Type: application/json
{
"environment": "production",
"version": "1.0.0",
"reviewedOnly": true,
"locales": ["en", "nl", "fr"]
}
Fetch a Bundle
GET /v1/i18n/bundles/project_123/production/nl
Apps can fetch bundles at startup, during a build, or from a server-side rendering layer.
Bundle responses use the same runtime shape as lezu-i18n:
{
"data": {
"projectId": "project_123",
"environment": "production",
"localeCode": "nl",
"releaseId": "release_123",
"artifactKey": "project_123/release_123/nl.json",
"messages": {
"home.title": "Welkom"
},
"content": {},
"generatedAt": "2026-04-29T00:00:00.000Z"
}
}
Short UI translations live in messages. Long-form project content lives in content.
Relevant Endpoints
| Method | Endpoint | Scope |
|---|---|---|
GET |
/v1/i18n/projects/:projectId/releases |
releases:read |
POST |
/v1/i18n/projects/:projectId/releases |
releases:write |
GET |
/v1/i18n/bundles/:projectId/:environment/:localeCode |
Public bundle route |