QUICKSTART
Make your first API request in a few minutes.
Use your account, a private API key, one supported output locale, and one of the two language modes.
{
"text": "Complex source content in the selected language.",
"locale": "en",
"mode": "simple-language"
}SDK and cURL examples available
Prerequisites
- A free or paid Simple8 account with a verified email address
- An active API key created in the application
- cURL or one of the example runtimes
- Public, non-confidential test content
Step 1: Set the key
export SIMPLE8_API_KEY="replace-with-your-sandbox-key"
export SIMPLE8_API_BASE_URL="https://api.simple8.de"Step 2: Send the request
The public Version 2 API provides:
- POST /api/v2/translate
- POST /api/v2/translate/stream
- POST /api/v2/jobs
- GET /api/v2/jobs/{id}
- POST /api/v2/batches
- GET /api/v2/batches/{id}
Use https://api.simple8.de in production. Send the API key as a Bearer token from your server.
curl --request POST \
--url "$SIMPLE8_API_BASE_URL/api/v2/translate" \
--header "Authorization: Bearer $SIMPLE8_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"text": "To complete the application, submit a valid identity document.",
"locale": "en",
"mode": "simple-language"
}'const response = await fetch(`${process.env.SIMPLE8_API_BASE_URL}/api/v2/translate`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLE8_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
text: "To complete the application, submit a valid identity document.",
locale: "en",
mode: "simple-language"
})
});
const result = await response.json();
if (!response.ok) {
throw new Error(`${result.error.code}: ${result.error.message}`);
}
console.log(result.output);<?php
$payload = json_encode([
"text" => "To complete the application, submit a valid identity document.",
"locale" => "en",
"mode" => "simple-language"
]);
$baseUrl = rtrim(getenv("SIMPLE8_API_BASE_URL"), "/");
$request = curl_init($baseUrl . "/api/v2/translate");
curl_setopt_array($request, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("SIMPLE8_API_KEY"),
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => $payload
]);
$response = curl_exec($request);
$status = curl_getinfo($request, CURLINFO_HTTP_CODE);
curl_close($request);
if ($status < 200 || $status >= 300) {
throw new RuntimeException($response);
}
$result = json_decode($response, true);
echo $result["output"];import os
import requests
base_url = os.environ["SIMPLE8_API_BASE_URL"].rstrip("/")
response = requests.post(
f"{base_url}/api/v2/translate",
headers={
"Authorization": f"Bearer {os.environ['SIMPLE8_API_KEY']}",
"Content-Type": "application/json",
},
json={
"text": "To complete the application, submit a valid identity document.",
"locale": "en",
"mode": "simple-language",
},
timeout=30,
)
response.raise_for_status()
print(response.json()["output"])Step 3: Inspect the response
{
"requestId": "req_sync_001",
"locale": "en",
"mode": "simple-language",
"output": "Send a valid identity document with your application.",
"usage": {
"inputCharacters": 67,
"cacheHit": false
}
}Step 4: Try the second mode
Plain Language and Easy Language are different product modes. Choose the mode that fits the people you want to reach.
{
"mode": "easy-language"
}Next steps
- View all supported locale codes
- Compare delivery patterns
- Read authentication guidance
- Create jobs and batches for larger workflows
- Configure a webhook endpoint in the application
- Review cache, usage, and billing behavior