title: List i18n Translation Jobs description: Retrieve a list of all i18n translation jobs for the authenticated user
List i18n Translation Jobs
Retrieve a list of all i18n translation jobs for the authenticated user.
Endpoint
GET /v2/translate/i18n/jobs
Description
Retrieve a list of all i18n translation jobs for the authenticated user. This endpoint returns all jobs regardless of their status.
Headers
X-API-KEY string (required)
: Your API key for authentication
Example Request
curl -X GET "https://api.translateplus.io/v2/translate/i18n/jobs" \
-H "X-API-KEY: your_api_key"
import requests
url = "https://api.translateplus.io/v2/translate/i18n/jobs"
headers = {
"X-API-KEY": "your_api_key"
}
response = requests.get(url, headers=headers)
jobs = response.json()
for job in jobs:
print(f"Job {job['job_id']}: {job['status']}")
fetch('https://api.translateplus.io/v2/translate/i18n/jobs', {
headers: {
'X-API-KEY': 'your_api_key'
}
})
.then(response => response.json())
.then(jobs => {
jobs.forEach(job => {
console.log(`Job ${job.job_id}: ${job.status}`);
});
})
.catch(error => console.error('Error:', error));
const https = require('https');
const options = {
hostname: new URL('https://api.translateplus.io').hostname,
path: '/v2/translate/i18n/jobs',
method: 'GET',
headers: {
'X-API-KEY': 'your_api_key'
}
};
const req = https.request(options, (res) => {
let responseData = '';
res.on('data', (chunk) => {
responseData += chunk;
});
res.on('end', () => {
const jobs = JSON.parse(responseData);
jobs.forEach(job => {
console.log(`Job ${job.job_id}: ${job.status}`);
});
});
});
req.on('error', (error) => {
console.error('Error:', error);
});
req.end();
<?php
$url = 'https://api.translateplus.io/v2/translate/i18n/jobs';
$apiKey = 'your_api_key';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-KEY: ' . $apiKey
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
$jobs = json_decode($response, true);
foreach ($jobs as $job) {
echo "Job {$job['job_id']}: {$job['status']}\n";
}
} else {
echo 'Error: ' . $response;
}
Success Response (200 OK)
[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"original_filename": "translations.json",
"file_type": "json",
"source_language": "en",
"target_languages": ["fr", "es", "de"],
"total_keys": 150,
"translated_keys": 150,
"failed_keys": 0,
"error_message": null,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:32:15Z",
"completed_at": "2025-01-15T10:32:15Z"
},
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"job_id": "660e8400-e29b-41d4-a716-446655440001",
"status": "processing",
"original_filename": "messages.yaml",
"file_type": "yaml",
"source_language": "en",
"target_languages": ["fr"],
"total_keys": 75,
"translated_keys": 45,
"failed_keys": 0,
"error_message": null,
"created_at": "2025-01-15T11:00:00Z",
"updated_at": "2025-01-15T11:01:30Z",
"completed_at": null
}
]
Response Fields
| Field | Type | Description |
|-------|------|-------------|
| id | string (UUID) | Job unique identifier |
| job_id | string (UUID) | Job unique identifier (same as id) |
| status | string | Current job status: "pending", "processing", "completed", "partial", or "failed" |
| original_filename | string | Name of the uploaded file |
| file_type | string | File format: "json", "yaml", "po", "properties", "strings", or "xml" |
| source_language | string | Source language code |
| target_languages | array[string] | List of target language codes |
| total_keys | integer | Total number of translatable keys in the file |
| translated_keys | integer | Number of successfully translated keys |
| failed_keys | integer | Number of keys that failed to translate |
| error_message | string | null | Error message if the job failed |
| created_at | string (ISO 8601) | Timestamp when the job was created |
| updated_at | string (ISO 8601) | Timestamp when the job was last updated |
| completed_at | string (ISO 8601) | null | Timestamp when the job was completed, or null if still processing |
Notes
- Jobs are returned in reverse chronological order (newest first)
- Only jobs belonging to the authenticated user are returned
- Use the job_id to check detailed status or download translated files
- Jobs remain in the list even after completion or failure
Error Responses
401 Unauthorized / 403 Forbidden
Invalid or missing API key:
{
"detail": "Invalid API key. Please verify your API key is valid."
}