API

Public API

Read-only endpoints for fetching translations from your application using an API key.

Not verified yet

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.

On this page