|
Knowledgebase
EnterprisePlatform
PlatformAPI
React (MCP)React (Lingo Compiler)
Alpha
CLIIntegrations
GuidesChangelog

Synchronous

  • How it works
  • Localize
  • Recognize
  • ProvisionEnterprise

AsynchronousEnterprise

  • How it works
  • Queue
  • Webhooks
  • WebSocket

Async Localization API

Max PrilutskiyMax Prilutskiy·Updated 1 day ago·2 min read

The async localization API translates content to multiple languages in a single request. One POST with your content and target locales returns a 202 in milliseconds. Each language processes independently through your localization engine, and results arrive via webhook or real-time WebSocket stream the moment each one completes.

Enterprise feature

The async localization API is available on Enterprise plans. Contact us to enable it for your organization.

The problem#

Training platforms, content management systems, and e-learning tools often need to translate content into dozens of languages the moment it's created or updated. The synchronous localization API works, but creates friction at scale.

Consider a training module authored in English that needs to reach learners in 14 languages. With the synchronous API, you have two options:

  1. Parallel calls - Fire 14 requests simultaneously, one per target language. Each carries the same source payload. You can display each language as it arrives, but you're making 14 network round-trips with redundant data.

  2. Single request - Translate all languages in one synchronous call. Fewer network round-trips, but you wait for all 14 to finish before displaying any of them.

Both approaches tie up your application while translations process. If your server restarts, translations in flight are lost. If one language fails, you need retry logic for partial failures. And neither gives your end users a clean way to see that translations are in progress.

The async localization API eliminates these tradeoffs. One request creates a job group with one job per target locale. Each job processes independently through your localization engine, and results arrive via webhook the moment each language completes. For real-time progress in your UI, connect a WebSocket to the job group. Your application stays responsive. Your users see translations appearing in real time. The platform handles retries, delivery guarantees, and failure isolation.

How it works#

1

Submit a request

POST to /jobs/localization with your content and target locales. The API validates the request, creates a job group with one job per locale, and returns 202 with the group ID and job summaries. Your application is free to continue immediately.

2

Background processing

The platform processes each job independently through your localization engine via durable background workflows. Each job applies the same model selection, glossary rules, brand voice, and instructions as the synchronous API. Jobs move from queued to processing to completed or failed.

3

Receive results

As each language completes, the platform delivers the result to your webhook URL. If you submitted 14 languages, you receive 14 webhook callbacks as each one finishes. For real-time progress, connect a WebSocket to the job group and receive status events as they happen.

Authentication#

Same as the synchronous localization API. Pass your API key in the X-API-Key header. API keys are scoped to an organization and have access to all localization engines within it. See API Keys for details.

Next Steps#

Queue
Create localization jobs, poll status, and retrieve results
Webhooks
Receive translation results via webhook callbacks
WebSocket
Stream real-time progress updates to your UI
API Keys
Generate and manage API keys for your organization

Was this page helpful?