List Translations
Request
- Base URL: https://api.sonenta.dev
- URL: https://api.sonenta.dev/v1/projects/{project_id}/translations
- Auth: none declared
Path parameters
Query parameters
language uuid (required)
Filter by version uuid. Omitted = production version.
Filter by last-writer kind. Orthogonal to status; only matches rows that have a translation.
Shortcut for status=translated AND author=ai (AI translations awaiting human review).
Filter by the AGENT's stated confidence on the value (high|medium|low). Only matches rows carrying one (agent-proposed, not yet human-edited).
Restrict to the exact keys a task points at (its payload.key_uuids), addressed by the task's uuid or #number. Scopes the editor to that task's work.
substring match on key name
filter by key type(s) (repeatable)
Which overlay to list (task 1482). 'base' (default) = the normal translation value (unchanged behaviour). An a11y surface (aria_label|alt_text|screen_reader|plain_language) lists that surface's VALUE per target language for keys where the surface is type-relevant AND a source value exists; status=missing => target untranslated, otherwise the override status. a11y MODERATION stays in the a11y review queue.
Overlay locales only: keep only keys whose OWN value differs from the resolved parent (parity with coverage override_count). Ignored for base languages (no fallback).
Attach source_value (the source-language value, joined by key_uuid) to each item — aligned to the filtered set in one call.
Filter by SOURCE-language value presence (orthogonal to status, which is the TARGET status). has_source=false keeps only source-missing keys (empty/absent source value); true keeps only keys with a present source. Applied server-side so total + cursor stay correct across pages.
Code-occurrences ORPHAN filter. true = ONLY orphan keys (the scan FOUND them and they then DISAPPEARED from the code — a gone occurrence and NO present one), false = only non-orphans, absent = all. A key never seen by a scan (manual add) is NOT an orphan. Server-side (injected into the key query) so total + cursor stay correct. Meaningful only when the response's measured is true (else nothing is an orphan).
Attach the end-user 5-star aggregate (avg_rating + rating_count) per key+language. Requires the feedback module to be active (else 403).
Keep only items whose avg_rating >= this (implies include_ratings).
Keep only items whose avg_rating <= this (implies include_ratings).
Include keys in the recycle bin (soft-deleted, task 781). Default FALSE excludes trashed keys — aligned with GET /keys + coverage, so the editor never lists a trashed key (which would 404 on /variants). The founder override-matrix 404 bug (client-admin propose).
Attach overlays (device surfaces + a11y treatments present) per key, joined by key_uuid in ONE aggregation (no per-key N+1). Lets the 2-line row render overlay icons without calling /variants + /a11y-signals per key. Scope via overlays_scope.
Scope of overlays presence (only when include_overlays). 'all' (default, founder/master UX) = the key carries the overlay in ANY language; 'language' = only overlays in the requested language_id. Both are one indexed aggregation.
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.