---
title: LILT API Integration on Truto
slug: lilt
category: Default
canonical: "https://truto.one/integrations/detail/lilt/"
---

# LILT API Integration on Truto



**Category:** Default  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 75 tools for LILT that AI agents can call directly.

- **delete_a_lilt_create_content_by_id** — Delete a piece of Lilt Create content by id. Returns an empty 204 response on success.
- **list_all_lilt_create_content** — List all content generated by Lilt Create. Returns a collection of content items; each item includes id and language.
- **get_single_lilt_create_content_by_id** — Get a single piece of Lilt Create content by id. Returns: id, language.
- **update_a_lilt_create_content_by_id** — Update a piece of Lilt Create content by id. Returns: id, language.
- **create_a_lilt_create_content** — Create a new piece of Lilt Create content. Returns: id, language.
- **create_a_lilt_create** — Generate new Lilt Create content from a specified template and language parameters. Returns the generated content object including id and template-specific attributes. Accepts language, template, templateParams (contentLength, summary, sections), and preferences.
- **get_single_lilt_create_content_by_id** — Get a Lilt Create content item by id. Returns: id.
- **get_single_lilt_create_preference_by_id** — Get the stored Lilt Create preferences. Returns: tone, styleguide.
- **update_a_lilt_create_preference_by_id** — Update the stored Lilt Create preferences. Returns the updated preferences including tone and styleguide.
- **create_a_lilt_create_terms_and_condition** — Sign the Lilt Create terms and conditions, which must be accepted before using Lilt Create features. Returns an empty 204 response on success. Required: signedAgreement.
- **get_single_lilt_document_by_id** — Download a Lilt document as a binary file in XLIFF 1.2 format (default) or its original uploaded format. Returns a binary file stream — not a JSON object; write the response body directly to disk. Set is_xliff=false to retrieve the file in its original format instead of XLIFF 1.2. This call will fail if an export or pre-translation operation is currently in progress. Required: id.
- **create_a_lilt_document** — Upload a file to Lilt to create a new Document in any supported format. Returns the created document object including id, name, project_id, and status. File names must contain only US-ASCII characters; URI-encode or transliterate names with non-ASCII characters before sending. Required: name, project_id.
- **list_all_lilt_domains** — List Domains in lilt associated with the Organization's API key. Returns each Domain record including its models, filterConfigs, and domainMetadata arrays representing the models, filter configurations, and domain-specific options configured for each domain.
- **create_a_lilt_file_label** — Add a label to a file in Lilt. Returns the updated file object including id, name, labels, detected_lang, file_hash, category, created_at, and updated_at. Required: id (file ID) and name (label name).
- **delete_a_lilt_file_label_by_id** — Remove a label from a file in Lilt. Returns the updated file object including id, name, labels, detected_lang, file_hash, category, created_at, and updated_at.
- **delete_a_lilt_file_by_id** — Delete a Lilt file by id. Returns an empty 204 response on success. Required: id.
- **get_single_lilt_file_by_id** — Get a Lilt file by id, including asynchronous language detection results. Returns: id, name, detected_lang, detected_lang_confidence. Required: id.
- **create_a_lilt_file** — Upload a file to Lilt in any supported format. Language detection runs asynchronously; poll GET /v2/files to monitor results. Returns: id, name, detected_lang, detected_lang_confidence. Required: name.
- **list_all_lilt_files** — List files in Lilt, including language detection results for each file. Returns: id, name, detected_lang, detected_lang_confidence.
- **update_a_lilt_job_by_id** — Update a lilt job by id. Returns: id, name, due, srcLang, srcLocale, jobInstructions, languagePairs, enablePostProcessing, status. Required: id.
- **create_a_lilt_job** — Create a new lilt job as a collection of projects targeting multiple language pairs. Returns: id, name, due, srcLang, srcLocale, languagePairs, enablePostProcessing, customProperties, status. Required: name.
- **delete_a_lilt_job_by_id** — Delete a lilt job by id, permanently removing all associated projects, documents, and translation memory segments. Returns an empty 204 response on success. Required: id.
- **get_single_lilt_job_by_id** — Get a single lilt job by id. Returns: id, name, due, srcLang, srcLocale, jobInstructions, languagePairs, enablePostProcessing, customProperties, status. Required: id.
- **list_all_lilt_jobs** — List all lilt jobs. Returns: id, name, due, srcLang, srcLocale, languagePairs, enablePostProcessing, customProperties, status. Optionally filter by isArchived.
- **list_all_lilt_languages** — List all supported languages in lilt. Returns a collection of language objects representing the languages available for use in translation projects. No parameters required.
- **create_a_lilt_memory** — Create a new Lilt Memory — a private container for source/target sentence pairs for a specific language pair, used to train the MT system, populate TM, and update the lexicon. Returns: id, name, srclang, trglang. Required: name, srclang, trglang.
- **delete_a_lilt_memory_by_id** — Delete a Lilt Memory by id. Returns an empty 204 response on success. Required: id.
- **list_all_lilt_memories** — List all Lilt Memories accessible to your account. Returns id, name, srclang, and trglang for each Memory in the collection.
- **get_single_lilt_memory_by_id** — Retrieve a specific Lilt Memory by id. Returns: id, name, srclang, trglang. Required: id. If you receive a 401 error, verify the Memory has been shared with your account.
- **update_a_lilt_memory_by_id** — Update the name of a Lilt Memory. Returns: id, name, srclang, trglang. Required: id, name.
- **lilt_memories_search** — Query a Lilt Memory for translation segments matching a source string. Returns: source, target, score, metadata. Segments scoring below 75 are automatically discarded. Required: id, query.
- **delete_a_lilt_memory_segment_by_id** — Delete a segment from a lilt memory. Returns an empty 204 response on success. Required: id, segment_id.
- **create_a_lilt_project** — Create a new lilt project — a collection of Documents associated with exactly one Memory. Projects appear in the lilt dashboard. Returns: id, srclang, trglang. Required: memory_id.
- **delete_a_lilt_project_by_id** — Delete a lilt project by id. Returns an empty 204 response on success. Required: id.
- **list_all_lilt_projects** — List lilt projects including their associated documents. Optionally filter by one or more project ids (comma-separated), source language, or target language. Returns: id, srclang, trglang.
- **create_a_lilt_segment** — Create a Segment in Lilt and add it to a Memory or Document. A Segment is a source/target pair used to train the machine translation system and populate the translation memory. Returns: id, source, target. Required: source. Max source length is 5,000 characters.
- **delete_a_lilt_segment_by_id** — Delete a Segment from memory in Lilt by id. Note: this does not delete the segment from a document. Returns an empty 204 response on success. Required: id.
- **get_single_lilt_segment_by_id** — Retrieve a single Segment in Lilt by id. Returns: id, source, target. Required: id.
- **update_a_lilt_segment_by_id** — Update a Segment in Lilt. Returns: id, source, target. Required: id.
- **list_all_lilt_segments** — List Segments in Lilt. Returns: id, source, target per segment.
- **get_single_lilt_translated_file_by_id** — Download a translated file from lilt by its id. Returns the raw translated file content as a binary stream rather than a structured JSON payload. Required: id.
- **create_a_lilt_translation** — Translate a source string in lilt, returning an array of translation candidates. TM fuzzy matches are ranked first, followed by machine translation results. Returns: target (translated text), score (model confidence), and align (word alignments). Required: source. Maximum source length is 5,000 characters.
- **delete_a_lilt_upload_by_id** — Cancel a multipart S3 upload in Lilt by id, aborting the operation and cleaning up any uploaded parts. Returns an empty 204 response on success. Required: id.
- **create_a_lilt_upload** — Request S3 upload parameters in Lilt to initiate a file upload, supplying the filename and content type. Returns: uploadId, key. Required: filename, type.
- **list_all_lilt_uploads** — List all pending uploads in Lilt for the current user and organization, optionally filtered by upload IDs or statuses. Returns: id, status, filename, type.
- **get_single_lilt_upload_by_id** — Get a specific upload record in Lilt by id. Returns: id, status, filename, type. Required: id.
- **create_a_lilt_webhook_configuration** — Create a new webhook configuration for your Lilt organization. Returns: id, url, events. Required: url.
- **delete_a_lilt_webhook_configuration_by_id** — Delete a specific Lilt webhook configuration by id. Returns an empty 204 response on success. Required: id.
- **list_all_lilt_webhook_configurations** — List all webhook configurations available to your Lilt organization. Returns: id, url, events.
- **get_single_lilt_webhook_configuration_by_id** — Get a specific Lilt webhook configuration by id. Deleted configurations are not returned. Returns: id, url, events. Required: id.
- **update_a_lilt_webhook_configuration_by_id** — Update a specific Lilt webhook configuration by id. Only fields provided in the request body are modified. Returns: id, url, events. Required: id.
- **list_all_lilt_workflow_templates** — List all workflow templates available to the team in lilt. Returns each template's id, which can be passed to subsequent requests such as creating a new Job with a specific Workflow.
- **list_all_lilt_activities** — List lilt audit logs for your organization. Returns: timestamp, userName, userId, teamId, type, requestResult, correlationId, and additional action-type-specific fields (resourceType, action, urlSlug, loginType, etc.). Required: organizationId, userId.
- **get_single_lilt_create_content_regeneration_by_id** — Get content regenerations for a specific lilt Create content item. Returns: id. Required: content_id.
- **get_single_lilt_file_download_by_id** — Download a file from lilt via the /v2/files/download endpoint. Returns the raw file content as a binary stream whose format depends on the content-type of the file being downloaded.
- **list_all_lilt_file_translations** — List file translation requests in lilt. Returns: id, attributes (translation-specific fields whose shape depends on the source file and translation configuration). No required parameters.
- **create_a_lilt_file_translation** — Create a file translation request in lilt using a previously uploaded file. A File ID must be obtained from the lilt file upload process before submitting. Returns: id, attributes (translation-specific fields).
- **create_a_lilt_job_archive** — Archive a job in lilt by submitting a request to the archive endpoint for the specified job. Returns an empty 204 response on success. Required: job_id.
- **create_a_lilt_job_unarchive** — Unarchive a job in Lilt, restoring it from an archived state. Returns the unarchived job object including its id, name, and due date. Required: job_id.
- **create_a_lilt_job_delivery** — Deliver a Lilt job, marking it as delivered and triggering the JOB_DELIVER webhook event. Returns an empty 204 response on success. Required: job_id.
- **create_a_lilt_job_reactivation** — Reactivate a closed or archived lilt job. Required: job_id. Returns an empty 204 response on success.
- **get_single_lilt_job_export_by_id** — Download the exported translation file for a lilt job. Returns the raw file content as an opaque binary download whose format and content type depend on the job's source file type (e.g. XLIFF, DOCX). Required: job_id.
- **get_single_lilt_job_download_by_id** — Download the translated output files for a lilt job. Returns a binary file download containing the job's translated content — the response is a file stream rather than a JSON object. Required: job_id.
- **create_a_lilt_job_stat** — Retrieve TM leverage statistics for a lilt job. Returns new, exact, and fuzzy match statistics representing translation memory coverage across the job's segments. Required: job_id.
- **create_a_lilt_memory_import** — Import a translation memory or termbase file into a specific LILT memory. Supports TMX, SDLTM, SDLXLIFF (with optional custom filters), XLIFF, TMQ, CSV, and TBX formats. Returns an empty 204 response on success. Required: name, memory_id.
- **create_a_lilt_memory_termbase_export** — Export termbase entries for a lilt memory to a CSV file, initiating a background process. Poll `GET /2/memories` and check that `is_processing` equals 0 before downloading the result via `POST /2/memories/termbase/download`. Returns an empty 204 response on success. Required: id.
- **get_single_lilt_memory_termbase_download_by_id** — Download the termbase export for a lilt memory as a CSV file. Returns a CSV file download; you must first call the termbase export endpoint (`/v2/memories/termbase/export`) to initiate the background export process before downloading. Required: id.
- **get_single_lilt_segment_tag_by_id** — Get segment tags in Lilt. Returns: id. No required parameters. Note: per-endpoint source documentation was not found; consult the Lilt API reference for the full response shape.
- **create_a_lilt_segment_review_unlock** — Unaccept and unlock segments in lilt by setting their "Review Done" status to false. Confirmed segments remain confirmed. Returns an empty 204 response on success. Required: segmentIds.
- **get_single_lilt_upload_s_3_param_by_id** — Get S3 upload parameters for a single file upload in Lilt. Returns: url, headers — a presigned S3 URL and the additional headers needed to PUT the file directly to S3.
- **create_a_lilt_upload_s_3_param** — Initiate a single file upload in Lilt and retrieve the S3 presigned upload parameters. Returns: url, headers — a presigned S3 URL and supplemental headers to use when PUTting the file directly to S3. Required: filename, type.
- **create_a_lilt_upload_multipart** — Initiate a multipart upload in lilt for a large file, returning the identifiers needed to upload individual parts and complete the upload. Returns: uploadId, key. Required: filename, type.
- **get_single_lilt_upload_multipart_part_by_id** — Get a presigned S3 URL for uploading a specific part in a Lilt multipart upload workflow. Returns: url (presigned S3 URL to PUT the chunk to). Required: upload_id, part_number, s3Key.
- **create_a_lilt_upload_multipart_completion** — Complete a multipart upload in Lilt by assembling all previously uploaded parts into the final file on S3. Required: upload_id (the multipart upload identifier), parts (array of objects each containing ETag and PartNumber for every uploaded part), and s3Key (the S3 path for the file). Returns an empty 204 response on success.
- **delete_a_lilt_upload_multipart_cancellation_by_id** — Cancel and abort an in-progress multipart upload in Lilt, cleaning up any parts that were already uploaded to S3. Returns an empty 204 response on success. Required: id, key.

## How it works

1. **Link your customer's LILT account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach LILT.** The Proxy API is a 1-to-1 mapping of the LILT API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed AI Localization in Marketing Platforms** — Let your users localize email templates, landing pages, and campaigns into multiple languages without leaving your platform. LILT's contextual AI applies their brand voice and terminology automatically.
- **Automate Knowledge Base Translation in Helpdesks** — Trigger translation jobs whenever your users publish a new support article, then sync the verified localized versions back via webhooks. Eliminates manual handoffs to localization vendors.
- **Add Native Multilingual Content Generation to CMS Tools** — Use LILT Create to generate net-new content directly in target languages from prompts and preferences, rather than translating from a source. Lets your CMS users author region-specific content in one step.
- **Localize Course Materials in LMS Platforms** — Upload subtitle files, quiz strings, and course metadata to LILT and deliver multilingual training to global learners. Course creators get parallel-language delivery without managing separate localization workflows.
- **Real-time Translation for Support and Chat** — Translate agent replies and customer messages on the fly using your users' Translation Memory for brand-consistent phrasing. Enables global support teams to work in their native language.

## What you can build

- **One-click File Translation Jobs** — Upload XLIFF, HTML, or SRT files and kick off multi-language translation jobs in a single flow, with status tracked through job webhooks.
- **Webhook-driven Translation Delivery** — Subscribe to LILT job delivery events so your platform automatically pulls down completed translations and updates user content without polling.
- **In-app Translation Memory Editor** — Let users search, add, and remove segments from their LILT memories directly inside your UI so brand terminology stays current.
- **LILT Create Content Studio** — Expose LILT Create preferences and content generation so users can produce on-brand multilingual articles, product descriptions, or marketing copy from structured prompts.
- **Large Asset Multipart Uploads** — Handle large video transcripts or document bundles using LILT's S3 multipart upload flow, with chunked upload and completion managed end-to-end.
- **Project & Job Lifecycle Dashboard** — Show your users a live view of their LILT projects, jobs, activities, and downloadable deliveries with archive, reactivate, and delete controls built in.

## FAQs

### How does authentication work when my users connect their LILT accounts?

Truto handles LILT credential collection, secure storage, and token management for each of your end users. Your application calls Truto with a tenant identifier and we attach the correct LILT credentials per request.

### Can I avoid polling for translation job status?

Yes. Use create_a_lilt_webhook_configuration to subscribe to job lifecycle events like JOB_DELIVER, and Truto will normalize delivery so your platform reacts to completed translations in near real time.

### Does the integration support large file uploads?

Yes. In addition to standard create_a_lilt_file uploads, the multipart suite (create_a_lilt_upload_multipart, get_single_lilt_upload_multipart_part_by_id, create_a_lilt_upload_multipart_completion) lets you chunk large assets through S3-backed uploads with cancellation support.

### Can my users update their Translation Memory from inside my product?

Yes. The memory endpoints (list_all_lilt_memories, lilt_memories_search, create_a_lilt_memory, create_a_lilt_segment, delete_a_lilt_memory_segment_by_id) let you build UI for managing memories, segments, and termbases without sending users back to LILT.

### Does this support multilingual content generation, not just translation?

Yes. The LILT Create endpoints (create_a_lilt_create, create_a_lilt_create_content, get_single_lilt_create_preference_by_id, update_a_lilt_create_preference_by_id) let you generate net-new content in a target language using user-defined tone and style preferences.

### What file formats and language metadata are exposed?

You can list supported languages and domains via list_all_lilt_languages and list_all_lilt_domains, retrieve XLIFF documents via get_single_lilt_document_by_id, and download translated assets via get_single_lilt_translated_file_by_id and get_single_lilt_job_download_by_id.

### Can I manage the full job lifecycle programmatically?

Yes. Beyond create, read, update, and delete on jobs, you can call create_a_lilt_job_archive, create_a_lilt_job_unarchive, create_a_lilt_job_delivery, create_a_lilt_job_reactivation, and create_a_lilt_job_stat to drive end-to-end workflow automation.

## Related reading

- [Connect LILT to ChatGPT: Automate Translation & AI Content Creation](https://truto.one/blog/connect-lilt-to-chatgpt-automate-translation-ai-content-creation/) — Learn how to connect LILT to ChatGPT using Truto's managed MCP server. Automate translation memory queries, XLIFF handling, and AI content generation workflows.
- [Connect LILT to Claude: Manage Global Projects & Document Assets](https://truto.one/blog/connect-lilt-to-claude-manage-global-projects-document-assets/) — A definitive engineering guide to connecting LILT to Claude via MCP. Automate document translations, project management, and translation memory updates.
- [Connect LILT to AI Agents: Sync Translation Memory & Job Workflows](https://truto.one/blog/connect-lilt-to-ai-agents-sync-translation-memory-job-workflows/) — Learn how to connect LILT to AI agents using Truto's /tools endpoint. Build autonomous translation workflows handling jobs, segments, and binary XLIFF files.
