Welcome to Translations API Service

The following links show the documentation and some examples illustrating the flow of translation project management.

API Documentation


Public OpenAPI Documentation for TAPI

Open Public Docs

Internal API Documentation


Internal OpenAPI Documentation for TAPI (requires key)

Quickstart Examples


Create a translation project with callback URL that will be called when project completes:

curl -X POST "http://tapi.brainbow.solutions/api/v1/translation-projects" \
  -H "X-API-Key: public-client-key" \
  -F "file=@sample.xlf" \
  -F "method=testing" \
  -F "client=client-0001" \
  -F "callbackUrl=http://callback.host/callback?ourRef=123456" \
  -F "use_embedded_tag_validation=true"
{
  "project_id": 123,
  "status_name": "Pending",
  "method": "testing",
  "client_code": "client-0001",
  "callback_url": "http://callback.host/callback?ourRef=123456",
  "due_date": "2024-10-01T12:00:00Z",
  "created_at": "2024-09-30T12:00:00Z",
  "updated_at": "2024-09-30T12:00:00Z",
  "deleted_at": null,
  "word_count": 2000,
  "use_embedded_tag_validation": false,
  "source_languages": ["fr"],
  "target_languages": ["it"],
  "progress": 0
}

Callback payload sent when a project completes:

POST http://callback.host/callback?ourRef=123456
Content-Type: application/json

{
  "project_id": 123,
  "status_name": "Completed",
  "method": "testing",
  "client_code": "client-0001",
  "word_count": 2000,
  "use_embedded_tag_validation": false,
  "source_languages": ["fr"],
  "target_languages": ["it"],
}

Callback payload sent when a project fails:

POST http://callback.host/callback?ourRef=123456
Content-Type: application/json

{
  "project_id": 123,
  "status_name": "Failed",
  "status_reason": "[Translation] ApiError: Unsupported language: zz",
  "method": "basic",
  "client_code": "client-0001",
  "word_count": 2000,
  "use_embedded_tag_validation": true,
  "source_languages": ["fr"],
  "target_languages": ["zz"],
}

Check the status of a translation project (if not using callback or callback fails):

curl -X GET "http://tapi.brainbow.solutions/api/v1/translation-projects/123/status" \
  -H "X-API-Key: public-client-key"
{
  "status_name": "In Progress",
  "progress": 42
}
{
  "status_name": "Completed",
  "progress": 100
}

Fetch the translated data for a translation project:

curl -X GET "http://tapi.brainbow.solutions/api/v1/translation-projects/123/target" \
  -H "X-API-Key: public-client-key" \
  -OJ