Translation API · Concept

Project Lifecycle

Create a translation project, track its progress, and retrieve completed results.

Create a project from uploaded files or inline JSON/text. The returned proj_... ID is the stable identifier for status checks, cancellation, and deliveries. API-created projects also appear in the Stepes client portal.

Create

For the shortest workflow, send one idempotent request:

Upload a file or prepare JSON/text
→ POST /projects
→ Save the returned proj_... ID

The API returns 201 when the project has been created. If project creation fails, a Problem Details response explains what must be corrected.

Tracking

Use GET /projects/{projectId} to retrieve status, progress, source files, target-language work, billing summary, and delivery_ready.

Use webhooks to reduce polling, but treat the project GET response as authoritative.

Cancellation

Call POST /projects/{projectId}/cancel to request cancellation. Cancellation can be rejected when the project state or completed work no longer permits it. Any completed deliveries remain available where applicable.

Deliveries

Call GET /projects/{projectId}/deliveries when delivery_ready is true. Download translated files from the delivery download endpoint. For inline JSON/text projects, retrieve the translated content from the delivery content endpoint.

Related Reference