This quick start gives you the minimum end-to-end plugin flow: authenticate, create project and jobs, monitor progress, and download translated output.Documentation Index
Fetch the complete documentation index at: https://developers.phrase.com/llms.txt
Use this file to discover all available pages before exploring further.
At a glance
You will implement this sequence:- Authenticate
- Create project and job
- Monitor progress
- Export and set
DELIVERED
Prerequisites
- Phrase account with TMS access.
- Phrase Platform API token.
- Platform base URL and TMS API base URL for your tenant/region.
- At least one TMS project template available in your org.
- A sample source file to upload.
- Basic REST API familiarity.
Do not hardcode EU endpoints unless your tenant is on EU infrastructure.
Step 1: Authenticate
Exchange your API token for a short-lived access token and send it asAuthorization: Bearer <token>.
401.
See Platform authentication and OAuth token endpoint.
Step 2: Create a project and job
- List project templates:
GET /api2/v1/projectTemplates - Create project from template:
POST /api2/v2/projects/applyTemplate/{templateUid} - Create job in project:
POST /api2/v1/projects/{projectUid}/jobs
Persist
projectUid, job.uid, and any returned asyncRequest.id. You need these IDs later.Step 3: Monitor progress
Use one of these methods:- Simple start: poll
GET /api2/v1/projects/{projectUid}/jobs/{jobUid}/parts - Async operation status: poll
GET /api2/v1/async/{asyncRequestId}when relevant - Production approach: webhook events with polling fallback
CANCELLED, REJECTED) as non-deliverable outcomes.
Step 4: Export and mark delivered
- Start async download:
PUT /api2/v3/projects/{projectUid}/jobs/{jobUid}/targetFile - Wait until async request is complete.
- Download target file:
GET /api2/v2/projects/{projectUid}/jobs/{jobUid}/downloadTargetFile/{asyncRequestId} - Mark delivered:
POST /api2/v1/projects/{projectUid}/jobs/{jobUid}/setStatuswithrequestedStatus: DELIVERED
Optional: implementation patterns (pseudocode)
Use these patterns when moving from sample calls to production code. You can skip this section for a first pass.Auth caching and one-time 401 retry
Async polling with bounded backoff
Export completion flow
Next steps
Full Integration Workflow
Add production-grade behaviors and resilience.
Live Preview
Add contextual preview support for translators.
Error Handling & Limits
Harden retries, limits, and failure behavior.