Developers


We offer an API that  you can use to get instant access to our quality translation workflow

getting started

It takes only a few steps to start translating using our API. 

Request API Access

Use the form on this page to request exclusive access to our API. 

Read Our Documentation

Our documentation provides basic usage examples for our endpoints.

Place Your First Order

Use the API to place translations orders, including the ability to download temporary, machine-translated versions of your documents for testing purposes.

I want to use Bureau API

Name *
Name
 

Authenticate API Calls

POST to /api/v1/login/

Request Body:

{
  "password": "string",
  "username": "string"
}

Response Type: application/json

The X-AUTH-TOKEN header returned by (a successful response to) this service has to be attached in all subsequent requests.


List All Available Languages

GET https://api.bureau.works/v1/language/

Response (type application/json):

[
  {
    "code": "string",
    "id": 0,
    "name": "string"
   }
]

Example of array item:

{
    "id": 70,
    "name": "English (Australia)",
    "code": "en_au"
}

Place a Request

POST https://api.bureau.works/v1/translation/request/

Request Body (Form Data):

clientId: int
sourceLanguage: string
targetLanguages: Array[string]

Request Body Example (add form parameters):

clientId: 83
sourceLanguage: 'en'
targetLanguages: 'es'
targetLanguages: 'pt-br'
targetLanguages: 'de'

Response (type application/json)

{
  "projectId": 8473
}

Get Request Status

GET https://api.bureau.works/v1/translation/request/{projectId}

Where projectId is the id returned by the Place Request call.

Response 200 (type application/json):

[
  {
    "assignedTo": {
      "active": true,
      "deleted": true,
      "email": "string",
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "role": "string",
      "userName": "string"
    },
    "beginIndex": 0,
    "dateCreated": "string",
    "dateDue": {},
    "endIndex": 0,
    "fileName": "string",
    "id": 0,
    "internalId": "string",
    "isParentJobSplit": true,
    "job": {
      "importResult": {
        "warning": "string",
        "warnings": [
          "string"
        ]
      }
    },
    "lastModified": {
      "action": "string",
      "by": {
        "active": true,
        "deleted": true,
        "email": "string",
        "firstName": "string",
        "id": 0,
        "lastName": "string",
        "role": "string",
        "userName": "string"
      },
      "date": "string"
    },
    "progress": {
      "completionPercent": 0,
      "counts": {
        "charsCount": 0,
        "confirmedCharsCount": 0,
        "lockedSegmentsCount": 0,
        "machineTranslationRelevantSegmentsCount": 0,
        "wordsCount": 0
      }
    },
    "project": {
      "businessUnit": {
        "id": 0,
        "name": 0
      },
      "client": {
        "externalId": "string",
        "id": 0,
        "name": "string"
      },
      "createdBy": {
        "active": true,
        "deleted": true,
        "email": "string",
        "firstName": "string",
        "id": 0,
        "lastName": "string",
        "role": "string",
        "userName": "string"
      },
      "dateCreated": "string",
      "dateDue": "string",
      "domain": {
        "id": 0,
        "name": "string"
      },
      "id": 0,
      "internalId": 0,
      "langSettings": [
        {}
      ],
      "machineTranslateSettings": {},
      "name": "string",
      "note": "string",
      "sourceLang": "string",
      "status": "string",
      "subDomain": {},
      "targetLangs": [
        "string"
      ],
      "workflowSteps": [
        {}
      ]
    },
    "readOnly": true,
    "segmentsLastModified": {
      "action": "string",
      "by": {
        "active": true,
        "deleted": true,
        "email": "string",
        "firstName": "string",
        "id": 0,
        "lastName": "string",
        "role": "string",
        "userName": "string"
      },
      "date": "string"
    },
    "status": "string",
    "targetLang": "string",
    "task": "string",
    "wordsCount": 0,
    "workflowLevel": 0,
    "workflowStep": {}
  }
]

Retrieve Translated File

GET https://api.bureau.works/v1/translation/request/result/{task}

Where task is a level 1 string in Request Status call.

Response:

The binary or ASCII stream of the translated file. If task is not complete, the original file will be downloaded.