Every pattern uses the same core fields: text, locale, and mode.
Choose how your system receives the result.
{
"text": "Complex source content in the selected language.",
"locale": "en",
"mode": "simple-language"
}SDK and cURL examples available
Synchronous HTTP
Endpoint
POST /api/v2/translate
Best for
Short content and direct backend actions.
Success
200 OK
Streaming
The response uses Content-Type: text/event-stream.
Endpoint
POST /api/v2/translate/stream
Best for
Progressive interfaces and longer content.
{
"text": "Source content in the selected language.",
"locale": "en",
"mode": "easy-language"
}event: meta
data: {"requestId":"req_stream_001","locale":"en","mode":"easy-language"}
event: delta
data: {"delta":"Complete result."}
event: done
data: {"usage":{"inputCharacters":42,"cacheHit":false}}The stream emits one meta event, one or more delta events, and a final done event.
The meta event contains the request identifier, locale, and mode.
Each delta contains a part of the result, and done contains the usage information.
After done, the connection closes.
Async job with polling
Send a unique Idempotency-Key header when creating a job.
Create endpoint
POST /api/v2/jobs
Status endpoint
GET /api/v2/jobs/{id}
{
"text": "Source content in the selected language.",
"locale": "fr",
"mode": "simple-language",
"delivery": {
"type": "polling"
}
}{
"jobId": "job_poll_001",
"status": "queued"
}{
"jobId": "job_poll_001",
"status": "completed",
"locale": "fr",
"mode": "simple-language",
"output": {
"text": "Simplified content in French."
}
}Jobs remain available for seven days.
Poll at a reasonable interval until the status is completed or failed.
Async job with webhook
Create and verify a webhook endpoint in the Simple8 application first. Then reference its endpoint ID in the job.
Create endpoint
POST /api/v2/jobs
{
"text": "Source content in the selected language.",
"locale": "de",
"mode": "easy-language",
"delivery": {
"type": "webhook",
"endpointId": "00000000-0000-4000-8000-000000000000"
}
}{
"id": "evt_01",
"type": "job.completed",
"createdAt": "2026-08-06T12:00:00.000Z",
"data": {
"jobId": "job_hook_001",
"status": "completed"
}
}Simple8 sends a Simple8-Signature header with a timestamp and an HMAC SHA-256 signature.
Verify the signature against the raw request body with the signing secret shown once when the endpoint is created.
Return any 2xx status after accepting the event.
Failed deliveries are retried up to 50 times over seven days, and recent attempts are visible in the application.
Receivers must tolerate duplicate delivery because retries can deliver the same event more than once.
Batch processing
Send between 1 and 50 items with a combined maximum of 500,000 characters.
Create endpoint
POST /api/v2/batches
Status endpoint
GET /api/v2/batches/{id}
Each item uses the same text, locale, and mode fields as a synchronous request.
Choose polling or a verified webhook endpoint for delivery and send a unique Idempotency-Key header.