KAERIS i18n / Developer API

Developer API

Integrate KAERIS translation into your CI/CD pipeline. Upload a JSON file, poll for status, download ZIP — all via simple REST calls.

Get your free API key

API keys unlock 50,000 characters per request (vs 3,000 on the web UI). Free, no account required.

Quick start

1

Upload file → get job_id

# POST /api/translate
curl -X POST https://kaeris.dev/api/translate \
  -H "X-API-Key: kaeris_your_key_here" \
  -F "[email protected]" \
  -F "languages=ru,de,fr,es,zh,ja"

# Response:
{ "job_id": "3f8a2c1d-..." }
2

Poll until done

# GET /api/status/{job_id}
curl https://kaeris.dev/api/status/3f8a2c1d-...

# Response when done:
{ "status": "done", "progress": 6, "total": 6, "error": "" }
3

Download ZIP

# GET /api/download/{job_id}
curl -O https://kaeris.dev/api/download/3f8a2c1d-...

# Saves translations.zip with ru.json, de.json, fr.json ...

Python example

import requests, time

API_KEY = "kaeris_your_key_here"
HEADERS = {"X-API-Key": API_KEY}

# 1. Upload
with open("en.json", "rb") as f:
    r = requests.post(
        "https://kaeris.dev/api/translate",
        headers=HEADERS,
        files={"file": f},
        data={"languages": "ru,de,fr,es,zh,ja"},
    )
job_id = r.json()["job_id"]

# 2. Poll
while True:
    status = requests.get(f"https://kaeris.dev/api/status/{job_id}").json()
    if status["status"] == "done": break
    time.sleep(2)

# 3. Download
zip_bytes = requests.get(f"https://kaeris.dev/api/download/{job_id}").content
open("translations.zip", "wb").write(zip_bytes)

API Reference

POST /api/translate

Start a translation job. Returns job_id.

X-API-KeyHeader — optional. Raises limit to 50k chars.
filemultipart — JSON file to translate
languagesform field — comma-separated codes: ru,de,fr
GET /api/status/{job_id}

Poll job progress. Status: pending | running | done | error.

progressbatches completed so far
totaltotal batches
GET /api/download/{job_id}

Download ZIP with ru.json, de.json etc. Available for 1 hour after completion.

POST /api/v1/keys/request

Generate a new API key. No auth required.

Supported languages

🇬🇧 en English
🇷🇺 ru Russian
🇺🇦 uk Ukrainian
🇩🇪 de German
🇫🇷 fr French
🇪🇸 es Spanish
🇧🇷 pt Portuguese
🇮🇹 it Italian
🇨🇳 zh Chinese
🇯🇵 ja Japanese
🇰🇷 ko Korean
🇸🇦 ar Arabic
🇵🇱 pl Polish
🇳🇱 nl Dutch
🇹🇷 tr Turkish