---
title: "Translate a PDF document and stream translated pages as SSE"
method: POST
path: "/text"
---

# Translate a PDF document and stream translated pages as SSE

`POST /text`

## Response `200`

Server-Sent Events stream. Emits `page` events with TranslationPageEvent payload, then a `complete` event with TranslationCompleteEvent payload. Emits `error` with a message payload if processing fails mid-stream.

## Other responses

- `400` — Bad request — missing file, empty file, unsupported format, missing targetLanguage, or unknown strategy value

## Changes

- **2026-07-17** `81f7e55a3813` — 1 info
  - added the new optional request property `strategy`
- **2026-05-08** `9dd64596e70a` — 2 info
  - the request property `file` became optional
  - the request property `targetLanguage` became optional
- **2026-05-07** `b4ea0b09dfe9` — 1 breaking, 3 info
  - removed the media type `application/json` for the response with the status `200`
  - added the media type `text/event-stream` for the response with the status `200`
  - removed the non-success response with the status `422`
  - removed the non-success response with the status `500`

[Change history](https://skmtc.dev/cdc/apis/zia-translation-service/changes/text/post.md)

---

[API](https://skmtc.dev/cdc/apis/zia-translation-service.md) · [All operations](https://skmtc.dev/cdc/apis/zia-translation-service/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cdc/zia-translation-service/revisions/81f7e55a3813/schema)
