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_... IDThe 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.