LDX hubLDX hub
  • Pricing
  • Documentation
  • API Reference
Information
Files
    List uploaded filesgetUpload a filepostGet file infogetDownload file contentget
Uploads
    Create an upload sessionpostAppend a chunk to an uploadput
StructFlow Models
    List available modelsget
StructFlow Jobs
    List StructFlow job historygetCreate a StructFlow jobpostGet StructFlow job status and resultsget
RefineLoop Models
    List available modelsget
RefineLoop Jobs
    List RefineLoop job historygetCreate a RefineLoop jobpostGet RefineLoop job status and resultsget
RenderOCR Engines
    List available enginesget
RenderOCR Jobs
    List RenderOCR job historygetCreate a RenderOCR jobpostGet RenderOCR job status and resultsget
CastDoc Engines
    List available enginesget
CastDoc Jobs
    List CastDoc job historygetCreate a CastDoc jobpostGet CastDoc job status and resultsget
ExtractDoc Engines
    List available enginesget
ExtractDoc Jobs
    List ExtractDoc job historygetCreate an ExtractDoc jobpostGet ExtractDoc job status and resultsget
MCP
    MCP Serverpost
Schemas
powered by Zuplo
LDX hub API
LDX hub API

RefineLoop Jobs

Create and manage RefineLoop XLIFF translation refinement jobs


List RefineLoop job history

GET
https://gw.ldxhub.io
/refineloop/jobs

Returns a list of jobs for the authenticated user, ordered by creation date descending. Use GET /refineloop/jobs/{job_id} to retrieve full details for a specific job.

List RefineLoop job history › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

List RefineLoop job history › Responses

A list of jobs

​RefineLoopJobSummary[]
GET/refineloop/jobs
curl https://gw.ldxhub.io/refineloop/jobs \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "job_id": "akobiov2sxoqs8nzylqm52202q7skw81", "file_id": "ako5rgx309ehwlbqprs8s2xxnsp0y85q", "model": "google/gemini-3.5-flash", "status": "completed", "progress": 100, "created_at": "2026-04-13T11:21:23Z", "updated_at": "2026-04-13T11:21:51Z", "completed_at": "2026-04-13T11:21:51Z", "expires_at": "2026-04-14T11:21:51Z", "usage": { "total_input_characters": 18412, "processed_input_characters": 18382, "skipped_characters": 30, "output_characters": 19647, "vector_bytes": 0 } } ] }
json
application/json

Create a RefineLoop job

POST
https://gw.ldxhub.io
/refineloop/jobs

Enqueues an asynchronous XLIFF translation refinement job. Upload your XLIFF file via POST /files first, then submit the file_id here. Returns 202 Accepted immediately with a job_id. Poll GET /refineloop/jobs/{job_id} to check completion. When completed, download the refined XLIFF via GET /files/{output_file_id}/content.

Create a RefineLoop job › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Create a RefineLoop job › Request Body

RefineLoopCreateJobRequest
model
​string · required

Model ID obtained from GET /refineloop/models

file_id
​string · required

File ID of the XLIFF file to process, obtained from POST /files

exclude_numeric_segments
​boolean

If true, segments containing only numbers are skipped

Default: false
remove_hyphenation
​boolean

If true, hyphenation in source text is removed before processing

Default: true
max_revisions
​integer · min: 1 · max: 10

Maximum number of revision iterations per segment (1-10)

Default: 6
domain
​string

Subject domain to guide translation review (e.g. "IR", "medical", "legal")

note_language
​string

Language code for revision notes written by the AI (e.g. "ja", "en", "ko"). Defaults to the source language of the XLIFF file if not specified.

output_mode
​string · enum

Controls what is included in the output XLIFF

Enum values:
full
translations
none
Default: full
custom_instructions
​string

Additional instructions appended to the AI's base prompt

Create a RefineLoop job › Responses

Job accepted

Response returned immediately after job submission
JobCreateResponse
job_id
​string

Unique job identifier. Use this to poll for results.

model
​string
status
​string · enum
Enum values:
queued
progress
​number · float
created_at
​string · date-time
updated_at
​string · date-time
expires_at
​string · date-time
POST/refineloop/jobs
curl https://gw.ldxhub.io/refineloop/jobs \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "model": "google/gemini-3.5-flash", "file_id": "ako5rgx309ehwlbqprs8s2xxnsp0y85q", "max_revisions": 3, "domain": "IR", "note_language": "ja", "output_mode": "full", "custom_instructions": "専門用語は原文のまま残してください" }'
Example Request Body
{ "model": "google/gemini-3.5-flash", "file_id": "ako5rgx309ehwlbqprs8s2xxnsp0y85q", "max_revisions": 3, "domain": "IR", "note_language": "ja", "output_mode": "full", "custom_instructions": "専門用語は原文のまま残してください" }
json
application/json
Example Responses
{ "job_id": "akobiov2sxoqs8nzylqm52202q7skw81", "model": "google/gemini-3.5-flash", "status": "queued", "progress": 0, "created_at": "2026-04-13T11:21:23Z", "updated_at": "2026-04-13T11:21:23Z", "expires_at": "2026-04-14T11:21:23Z" }
json
application/json

Get RefineLoop job status and results

GET
https://gw.ldxhub.io
/refineloop/jobs/{job_id}

Returns the current status of a RefineLoop job. Poll this endpoint until status is completed or failed. Recommended polling interval: 1-5 seconds. When status is completed, use output_file_id to download the refined XLIFF via GET /files/{output_file_id}/content. Results are retained for a limited period after completion (expires_at).

Get RefineLoop job status and results › path Parameters

job_id
​string · required

The unique identifier of the job

Get RefineLoop job status and results › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Get RefineLoop job status and results › Responses

Job details

Full job details. Returned by GET /refineloop/jobs/{job_id}.
RefineLoopJobDetail
job_id
​string
file_id
​string

Input file ID

model
​string
status
​string · enum
Enum values:
queued
processing
completed
failed
progress
​number · float
output_file_id
​string

File ID of the refined XLIFF output. Present only when status is completed. Download via GET /files/{output_file_id}/content.

​JobError

Job-level error. Present only when job status is failed.

created_at
​string · date-time
updated_at
​string · date-time
completed_at
​string · date-time
expires_at
​string · date-time
​Usage
GET/refineloop/jobs/{job_id}
curl https://gw.ldxhub.io/refineloop/jobs/:job_id \ --header 'Authorization: Bearer <token>'
Example Responses
{ "job_id": "akobiov2sxoqs8nzylqm52202q7skw81", "file_id": "ako5rgx309ehwlbqprs8s2xxnsp0y85q", "model": "google/gemini-3.5-flash", "status": "processing", "progress": 56.5, "created_at": "2026-04-13T11:21:23Z", "updated_at": "2026-04-13T11:21:33Z", "expires_at": "2026-04-14T11:21:23Z" }
json
application/json

RefineLoop ModelsRenderOCR Engines