---
title: "Read cached call translations"
method: GET
path: "/v1/calls/{call_id}/transcript/translations"
---

# Read cached call translations

`GET /v1/calls/{call_id}/transcript/translations`

## Request

- Base URL: `https://api.skysay.ai`
- URL: `https://api.skysay.ai/v1/calls/{call_id}/transcript/translations`
- Auth: none declared

Pure read: target selection, original/translation/both display, and polling never invoke a provider or create paid work. Artifacts are fenced to the current source revision. Single-source reads can calculate a bounded price estimate for retained older text without saving it or creating work.

## Path parameters

- `call_id` string, required

## Query parameters

- `target_language` 'ar' | 'bn' | 'bg' | 'ca' | 'zh' | 'hr' | 'cs' | 'da' | 'nl' | 'en' | 'et' | 'fi' | 'fr' | 'de' | 'el' | 'gu' | 'he' | 'hi' | 'hu' | 'id' | 'it' | 'ja' | 'kn' | 'ko' | 'lv' | 'lt' | 'ms' | 'ml' | 'mr' | 'no' | 'fa' | 'pl' | 'pt' | 'ro' | 'ru' | 'sr' | 'si' | 'sk' | 'sl' | 'es' | 'sw' | 'sv' | 'ta' | 'te' | 'th' | 'tr' | 'uk' | 'ur' | 'vi'
- `limit` integer
- `cursor` string

## Response `200`

Canonical cached translation state. Originals remain readable on every failure.

- CommunicationTranslation
  - `catalog` object, required
    - `max_targets` 6, required
    - `supported_target_languages` string[], required
    - `tariff` object, required
      - `currency` 'USD'
      - `minimum_per_source_target` 0.01
      - `rate_per_1000_words` 0.02
      - `word_count_rule` string
  - `eligible` boolean, required
  - `pagination` object: Selected call translation units follow the original transcript timeline's pages.
    - `has_more` boolean
    - `limit` integer
    - `next_cursor` string, nullable
    - `returned` integer
  - `quote` object: Pre-inference upper bound using all original words. Language detection can reduce the settled price. Absent for unavailable or unquoted summary sources.
    - `currency` string
    - `max_eligible_words` integer
    - `maximum_amount_minor` integer
  - `quote_pending` boolean: The settled source is waiting for its current-revision word-count summary. Poll this pure read; quote is absent until ready.
  - `source_completeness` 'complete' | 'partial' | 'unavailable': Partial indicates interrupted artifact delivery or unsettled source data; any available original text remains readable.
  - `source_id` string, required
  - `source_kind` 'call' | 'message', required
  - `source_revision` integer, required
  - `source_status` 'not_settled' | 'unavailable' | 'empty' | 'unit_too_large' | 'too_large' | 'available', required
  - `translations` object[], required
    - `amount_minor` integer
    - `currency` string
    - `eligible_words` integer
    - `id` string
    - `reason` string
    - `source_revision` integer
    - `status` 'not_requested' | 'queued' | 'running' | 'ready' | 'waiting_funds' | 'failed' | 'stale'
    - `target_language` string
    - `units` object[]
      - `id` string, required: The immutable original turn or message id.
      - `text` string, required

## Other responses

- `400`: Invalid target, limit, or cursor.
- `404`: Source absent from the credential's own workspace, including for operator credentials.
- `409`: Source changed; restart from the first page.

---

[API](https://skmtc.dev/skysay/apis/skysay-api.md) · [All operations](https://skmtc.dev/skysay/apis/skysay-api/llms.txt) · [OpenAPI document](https://skmtc.dev/skysay/apis/skysay-api/revisions/95b8c66f99aa?raw)
