Public API
Read-only endpoints for fetching translations from your application using an API key.
The Public API is the small, stable surface your application calls at runtime (or at build time) to fetch translations. It's authenticated with API keys, never with user-session tokens, and lives at a separate base path from the full LangSync API.
Where to find it
Endpoints live under the LangSync service host – the same host as the
main API, under the /api/v1/... prefix. See
the Swagger UI on your LangSync service for exact paths.
Authentication
Authorization: Apikey <your-api-key>Bearer is also accepted with the same key value, for clients that
hard-code the scheme. Anything else returns 401 Unauthorized.
What's exposed
-
List languages for a namespace. Get the languages attached to a namespace, with their IDs, BCP 47 codes, and display names.
-
Fetch translations for one language. Returns a flat map from term mark to translated value:
{ "translations": { "welcome.title": "Willkommen", "welcome.subtitle": "Schön, dass Sie hier sind", "button.submit": "Absenden" } }Empty translations are returned as empty strings – your i18n library should treat them as missing and fall back to the default language.
What's not exposed
The Public API is intentionally minimal. It does not include:
- Mutating endpoints – use the main API with a session JWT for writes.
- AI translation calls – those run from the dashboard, the CLI, or a sync job.
Caching
Translations change infrequently. Cache aggressively in your CDN or
in-process. The endpoint sets Last-Modified so conditional requests
with If-Modified-Since return 304 Not Modified when nothing has
changed. See Fetch translations
for usage patterns.
Limits and errors
Rate-limited like every other LangSync endpoint – see Limits and errors.