API Changelog
An API that changes without breaking you
We evolve /api/v1 additively. New response fields and new endpoints are always backward-compatible — a breaking change would ship under a new version prefix, never in place. Pin nothing; upgrade fearlessly.
OTA runtime delivery — an edge-cacheable CDN endpoint
v1 · 2026-07-08July 8, 2026- AddedA public, edge-cacheable `GET /api/v1/cdn/{project}/{locale}` serves your published strings so you can fix a prod typo without shipping a build. It returns an ETag + short-lived cache and honours `If-None-Match` (→ 304); the immutable `…/v{n}` sibling is content-addressed and cached for a year.
- AddedPublishing promotes the current translations to a new immutable version. Set the per-project freshness policy to `manual` (default) or `auto` (publish on every push), and trigger it in CI with `POST /api/v1/cdn/publish`. Authorize reads with a dedicated read-only `taicdn_` key in the `X-Taicdn-Key` header (or `?key=`) — safe to put behind Cloudflare/Fastly.
Per-token usage & the API playground
v1 · 2026-07-08July 8, 2026- AddedEvery authenticated `/api/v1` call is now counted per token per day, surfaced as sparklines on the deploy hub. No request bodies are stored — just a count.
- ImprovedThe deploy hub gained an API playground that executes read-only endpoints (project, pull, batches, glossary export) live against your project. No request or response shapes changed.
Eight new typed webhook events
v1 · 2026-06-30June 30, 2026- AddedSigned webhooks now emit `key.created/updated/deleted`, `translation.updated`, `translation.reviewed`, `language.added`, `glossary.updated`, and `qa.completed` in addition to the original `batch.completed/failed`. Subscribe per endpoint.
- ImprovedHigh-frequency `translation.updated` events are debounced per key so a bulk edit never floods your endpoint. Delivery logs record every attempt with the next-retry time.
Glossary resource + agentic QA trigger
v1 · 2026-06-12June 12, 2026- Added`GET/POST/PUT/DELETE /v1/glossary`, plus `/v1/glossary/import`, `/v1/glossary/export`, and `/v1/glossary/extract` — full term-base CRUD and CSV/TBX interchange over the API.
- Added`POST /v1/qa/run` triggers an agentic quality pass and returns the run handle; findings land on the translation rows you already pull.
In-context editing pipeline
v1 · 2026-05-20May 20, 2026- Added`POST /v1/incontext/session` exchanges a publishable key (+ Origin) for a scoped session token; `/v1/incontext/translations`, `/v1/incontext/screenshots`, and `/v1/incontext/suggest` power the visual editor with CORS scoped to that prefix only.
- ImprovedThe `X-Skipped-Keys` and `X-Missing-Source-Keys` response headers were added to `GET /v1/pull` so bilingual exports report honestly instead of silently substituting text. Existing fields are unchanged.
The core deploy API
v1 · initialApril 2, 2026- AddedThe token-authenticated `/api/v1` surface: `GET /project`, `GET /pull`, `POST /push`, `POST /translate`, and `GET /batches` — the deploy-key model where the bearer token IS the project. Powers the CLI and the GitHub Action.