Resolve a Whole Job
Source and target — or one source across many targets — in one request.
Goal: a translation job needs a source and a target code. A project fans one source across every target. Do it in one round trip.
curl -X POST https://languages.service.custom.mt/v1/resolve/batch \
-H 'Content-Type: application/json' \
-d '{"pairs":[
{"provider":"deepl_api","language":"en"},
{"provider":"deepl_api","language":"pt_BR"},
{"provider":"deepl_api","language":"de-CH"}
]}'
{ "items": [
{ "provider": "deepl_api", "language": "en",
"result": { "code": "en", "match": "canonical", … }, "error": null },
{ "provider": "deepl_api", "language": "pt_BR",
"result": { "code": "PT-BR", "match": "exact", … }, "error": null },
{ "provider": "deepl_api", "language": "de-CH",
"result": { "code": "de", "match": "base_language", … }, "error": null }
] }
Order is preserved. Item n answers pair n.
Failures are isolated. Each item carries either result or error, never both, and the response is always 200. One unknown language among fifty must not cost you the other forty-nine.
Up to 500 pairs per request.
Python
def resolve_job(provider: str, source: str, targets: list[str]) -> tuple[str, dict[str, str]]:
pairs = [{"provider": provider, "language": code} for code in [source, *targets]]
items = (
httpx.post(f"{BASE}/v1/resolve/batch", json={"pairs": pairs}, timeout=10.0)
.raise_for_status()
.json()["items"]
)
head, *rest = items
if head["result"] is None:
raise ValueError(f"source language {source!r}: {head['error']['message']}")
resolved = {}
for target, item in zip(targets, rest, strict=True):
if item["result"] and item["result"]["supported"]:
resolved[target] = item["result"]["code"]
else:
log.warning("target dropped", extra={"language": target, "provider": provider})
return head["result"]["code"], resolved
Note strict=True on the zip: order is a guarantee, and asserting it turns a contract violation into an exception instead of a silently misaligned result.
Comparing providers for one language pair
Same endpoint, several providers — useful when picking an engine:
{"pairs": [
{"provider": "deepl_api", "language": "zh-TW"},
{"provider": "google_translate", "language": "zh-TW"},
{"provider": "openai_api", "language": "zh-TW"}
]}
Every result.match of exact is a provider someone has verified for that language.