Smartcat API v1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Base URLs:

Account

Fetch the account details

Code samples

GET /api/integration/v1/account HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/account \
  -H 'Accept: text/plain'

GET /api/integration/v1/account

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","isPersonal":true,"type":"string","dateCreated":"2019-08-24T14:15:22Z","interInstallationAccountId":"c16d9809-1e67-440d-94b4-a0445ba230f2","createdByUserId":"string"}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "isPersonal": true,
  "type": "string",
  "dateCreated": "2019-08-24T14:15:22Z",
  "interInstallationAccountId": "c16d9809-1e67-440d-94b4-a0445ba230f2",
  "createdByUserId": "string"
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed AccountModel
404 Not Found Unable to find an account connected to the integration API None

Fetch the list of MT services available for the account

Code samples

GET /api/integration/v1/account/mtengines HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/account/mtengines \
  -H 'Accept: text/plain'

GET /api/integration/v1/account/mtengines

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string"}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [MTEngineModel] false none [MT (Machine Translation) engine model]
» id string(uuid) false none ID
» name string¦null false none MT engine name

AdministrationStatistics

Fetch purchased paid services

Code samples

GET /api/integration/v2/admin/paidServices?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z&pageNumber=0 HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/admin/paidServices?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z&pageNumber=0 \
  -H 'Accept: text/plain'

GET /api/integration/v2/admin/paidServices

Parameters

Name In Type Required Description
from query string(date-time) true The starting date for fetching paid services
to query string(date-time) true The end date for fetching paid services
pageNumber query integer(int32) true The page number for fetching paid service purchase operations

Example responses

200 Response

[{"paymentId":"string","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","accountType":"string","accountName":"string","operationTime":"2019-08-24T14:15:22Z","packageId":"471cc1d4-ec27-4504-b7c2-949af95662bc","startDate":"2019-08-24T14:15:22Z","endDate":"2019-08-24T14:15:22Z","unitType":"string","initialBalance":0,"price":0,"currencyType":"string","comment":"string","tags":["string"],"organizationId":"7bc05553-4b68-44e8-b7bc-37be63c6d9e9","organizationName":"string"}]
[
  {
    "paymentId": "string",
    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
    "accountType": "string",
    "accountName": "string",
    "operationTime": "2019-08-24T14:15:22Z",
    "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
    "startDate": "2019-08-24T14:15:22Z",
    "endDate": "2019-08-24T14:15:22Z",
    "unitType": "string",
    "initialBalance": 0,
    "price": 0,
    "currencyType": "string",
    "comment": "string",
    "tags": [
      "string"
    ],
    "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
    "organizationName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [StatisticPaidServiceRow] false none none
» paymentId string¦null false none none
» accountId string(uuid)¦null false none none
» accountType string¦null false none none
» accountName string¦null false none none
» operationTime string(date-time) false none none
» packageId string(uuid) false none none
» startDate string(date-time) false none none
» endDate string(date-time) false none none
» unitType string¦null false none none
» initialBalance number(double) false none none
» price number(double) false none none
» currencyType string¦null false none none
» comment string¦null false none none
» tags [string]¦null false none none
» organizationId string(uuid)¦null false none none
» organizationName string¦null false none none

Callback

Fetch the notifications settings for the account

Code samples

GET /api/integration/v1/callback HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/callback \
  -H 'Accept: text/plain'

GET /api/integration/v1/callback

Example responses

200 Response

{"url":"string","additionalHeaders":[{"name":"string","value":"string"}]}
{
  "url": "string",
  "additionalHeaders": [
    {
      "name": "string",
      "value": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Notifications settings have been successfully fetched CallbackPropertyModel
404 Not Found Notifications settings are not configured None

Create or update the notifications settings

Code samples

POST /api/integration/v1/callback HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/callback \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/callback

Body parameter

{
  "url": "string",
  "additionalHeaders": [
    {
      "name": "string",
      "value": "string"
    }
  ]
}

Parameters

Name In Type Required Description
body body CallbackPropertyModel true Notifications settings

Responses

Status Meaning Description Schema
200 OK Notifications settings have been successfully updated None
400 Bad Request Returns if:

Delete notifications settings

Code samples

DELETE /api/integration/v1/callback HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/callback

DELETE /api/integration/v1/callback

Responses

Status Meaning Description Schema
204 No Content Notifications settings have been successfully deleted None

Fetch the latest delivery errors

Code samples

GET /api/integration/v1/callback/lastErrors HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/callback/lastErrors \
  -H 'Accept: text/plain'

GET /api/integration/v1/callback/lastErrors

Parameters

Name In Type Required Description
limit query integer(int32) false Maximum returned errors (no more than 100)

Example responses

200 Response

[{"created":"2019-08-24T14:15:22Z","url":"string","reason":"string","code":0,"content":"string","sourceIds":["string"]}]
[
  {
    "created": "2019-08-24T14:15:22Z",
    "url": "string",
    "reason": "string",
    "code": 0,
    "content": "string",
    "sourceIds": [
      "string"
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK The latest errors have been successfully fetched Inline
400 Bad Request The provided limit exceeds the maximum None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CallbackErrorModel] false none [Callback error description]
» created string(date-time) false none Callback send time
» url string¦null false none Request URL
» reason string¦null false none Request failure reason
» code integer(int32)¦null false none Server response code
» content string¦null false none Server response content
» sourceIds [string]¦null false none List of event source IDs

Client

Create a new client with the specified name and return their ID

Simply return the ID if a client with that name already exists

Code samples

POST /api/integration/v1/client/create HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/client/create \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/client/create

Body parameter

"string"

Parameters

Name In Type Required Description
body body string true Client name

Example responses

200 Response

"497f6eca-6276-4993-bfeb-53cbbbba6f08"
"497f6eca-6276-4993-bfeb-53cbbbba6f08"

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed string

Apply the specified net rate to the specified client

Code samples

PUT /api/integration/v1/client/{clientId}/set?netRateId=string HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X PUT /api/integration/v1/client/{clientId}/set?netRateId=string \
  -H 'Accept: text/plain'

PUT /api/integration/v1/client/{clientId}/set

Parameters

Name In Type Required Description
clientId path string(uuid) true Сlient ID
netRateId query string true Net rate ID

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","netRate":{"id":"string","name":"string","newWordsRate":0,"repetitionsRate":0,"tmMatchRates":[]},"contact":{"email":"string","fullName":"string","phoneNumber":"string","position":"string","comment":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "netRate": {
    "id": "string",
    "name": "string",
    "newWordsRate": 0,
    "repetitionsRate": 0,
    "tmMatchRates": []
  },
  "contact": {
    "email": "string",
    "fullName": "string",
    "phoneNumber": "string",
    "position": "string",
    "comment": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed ClientModel
404 Not Found The specified client or net rate were not found in the current account None

Sets contact details for the specified client

Code samples

PUT /api/integration/v1/client/{clientId}/contact HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X PUT /api/integration/v1/client/{clientId}/contact \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

PUT /api/integration/v1/client/{clientId}/contact

Body parameter

{
  "email": "string",
  "fullName": "string",
  "phoneNumber": "string",
  "position": "string",
  "comment": "string"
}

Parameters

Name In Type Required Description
clientId path string(uuid) true Сlient ID
body body ContactModel true Contact details

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","netRate":{"id":"string","name":"string","newWordsRate":0,"repetitionsRate":0,"tmMatchRates":[]},"contact":{"email":"string","fullName":"string","phoneNumber":"string","position":"string","comment":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "netRate": {
    "id": "string",
    "name": "string",
    "newWordsRate": 0,
    "repetitionsRate": 0,
    "tmMatchRates": []
  },
  "contact": {
    "email": "string",
    "fullName": "string",
    "phoneNumber": "string",
    "position": "string",
    "comment": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed ClientModel
400 Bad Request Contact details are incorrect None
404 Not Found The specified client not found None

Update client details

Code samples

PUT /api/integration/v2/client/{clientId} HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X PUT /api/integration/v2/client/{clientId} \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

PUT /api/integration/v2/client/{clientId}

Body parameter

{
  "name": "string",
  "netRateId": "string",
  "mainContact": {
    "email": "string",
    "fullName": "string",
    "phoneNumber": "string",
    "position": "string",
    "comment": "string"
  },
  "additionalContacts": [
    {
      "email": "string",
      "fullName": "string",
      "phoneNumber": "string",
      "position": "string",
      "comment": "string"
    }
  ],
  "vat": "string",
  "countryCode": "string",
  "comment": "string",
  "website": "string",
  "industryId": "string",
  "legalName": "string",
  "address": "string",
  "languageId": 0,
  "vendorManager": "string",
  "customFieldValues": {
    "property1": "string",
    "property2": "string"
  }
}

Parameters

Name In Type Required Description
clientId path string(uuid) true Сlient ID
body body UpdateClientModel true Client update model

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","netRate":{"id":"string","name":"string","newWordsRate":0,"repetitionsRate":0,"tmMatchRates":[]},"mainContact":{"email":"string","fullName":"string","phoneNumber":"string","position":"string","comment":"string"},"additionalContacts":[{"email":"string","fullName":"string","phoneNumber":"string","position":"string","comment":"string"}],"vat":"string","countryCode":"string","comment":"string","website":"string","industryId":"string","legalName":"string","address":"string","languageId":0,"vendorManager":"string","customFields":{"property1":"string","property2":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "netRate": {
    "id": "string",
    "name": "string",
    "newWordsRate": 0,
    "repetitionsRate": 0,
    "tmMatchRates": []
  },
  "mainContact": {
    "email": "string",
    "fullName": "string",
    "phoneNumber": "string",
    "position": "string",
    "comment": "string"
  },
  "additionalContacts": [
    {
      "email": "string",
      "fullName": "string",
      "phoneNumber": "string",
      "position": "string",
      "comment": "string"
    }
  ],
  "vat": "string",
  "countryCode": "string",
  "comment": "string",
  "website": "string",
  "industryId": "string",
  "legalName": "string",
  "address": "string",
  "languageId": 0,
  "vendorManager": "string",
  "customFields": {
    "property1": "string",
    "property2": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed ClientModelV2
400 Bad Request Returns if:

Fetch the client account information

Code samples

GET /api/integration/v1/client/{clientId} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/client/{clientId} \
  -H 'Accept: text/plain'

GET /api/integration/v1/client/{clientId}

Parameters

Name In Type Required Description
clientId path string(uuid) true Сlient ID

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","netRate":{"id":"string","name":"string","newWordsRate":0,"repetitionsRate":0,"tmMatchRates":[]},"contact":{"email":"string","fullName":"string","phoneNumber":"string","position":"string","comment":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "netRate": {
    "id": "string",
    "name": "string",
    "newWordsRate": 0,
    "repetitionsRate": 0,
    "tmMatchRates": []
  },
  "contact": {
    "email": "string",
    "fullName": "string",
    "phoneNumber": "string",
    "position": "string",
    "comment": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed ClientModel
404 Not Found The specified client was not found in the current account None

ClientIndustry

Fetch a directory entry by ID

Code samples

GET /api/integration/v1/clientIndustry/{id} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/clientIndustry/{id} \
  -H 'Accept: text/plain'

GET /api/integration/v1/clientIndustry/{id}

Parameters

Name In Type Required Description
id path string true Directory entry ID

Example responses

200 Response

{"id":"string","name":"string"}
{
  "id": "string",
  "name": "string"
}

Responses

Status Meaning Description Schema
200 OK Success ClientIndustryModel

Update the name of an entry by ID

Code samples

PUT /api/integration/v1/clientIndustry/{id} HTTP/1.1

# You can also use wget
curl -X PUT /api/integration/v1/clientIndustry/{id}

PUT /api/integration/v1/clientIndustry/{id}

Parameters

Name In Type Required Description
id path string true Entry ID
name query string false New entry name

Responses

Status Meaning Description Schema
204 No Content Success None

Delete a list entry

Code samples

DELETE /api/integration/v1/clientIndustry/{id} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/clientIndustry/{id}

DELETE /api/integration/v1/clientIndustry/{id}

Parameters

Name In Type Required Description
id path string true Entry ID

Responses

Status Meaning Description Schema
204 No Content Success None

Fetch all the available directory values

Code samples

GET /api/integration/v1/clientIndustry HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/clientIndustry \
  -H 'Accept: text/plain'

GET /api/integration/v1/clientIndustry

Example responses

200 Response

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

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ClientIndustryModel] false none [Model of an entry in a client's specializations list]
» id string¦null false none Directory entry ID
» name string¦null false none List entry value

Add a directory entry

Code samples

POST /api/integration/v1/clientIndustry/{name} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/clientIndustry/{name} \
  -H 'Accept: text/plain'

POST /api/integration/v1/clientIndustry/{name}

Parameters

Name In Type Required Description
name path string true Entry name

Example responses

200 Response

"string"
"string"

Responses

Status Meaning Description Schema
200 OK Success string

Directories

Fetch the specified directory

Code samples

GET /api/integration/v1/directory?type=Language HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/directory?type=Language \
  -H 'Accept: text/plain'

GET /api/integration/v1/directory

Parameters

Name In Type Required Description
type query DirectoryType true Directory type

Enumerated Values

Parameter Value
type Language
type Vendor
type Domain
type Client
type Group
type ProjectStatus
type DocumentStatus
type NetRate
type Currency
type FreelancerServiceType
type Specialization
type SpecializationKnowledgeLevel
type LspServiceType
type JobStatus
type Country
type SupplierType
type WorkUnitType
type TranslationAssuranceLevel

Example responses

200 Response

{"type":"Language","items":[{"id":"string","name":"string"}]}
{
  "type": "Language",
  "items": [
    {
      "id": "string",
      "name": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed DirectoryModel
400 Bad Request Returns if an incorrect directory type is provided None

Fetch parsing formats supported by the account

Code samples

GET /api/integration/v1/directory/formats HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/directory/formats \
  -H 'Accept: text/plain'

GET /api/integration/v1/directory/formats

Example responses

200 Response

[{"name":"string","ocr":true,"mime-type":"string","disassembleAlgorithmName":"string"}]
[
  {
    "name": "string",
    "ocr": true,
    "mime-type": "string",
    "disassembleAlgorithmName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
404 Not Found Unable to find an account connected to the integration API None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [FileFormatModel] false none [Model of file formats supported by the account]
» name string¦null false none File formats supported by the account
» ocr boolean false none Specifies whether the OCR format is supported
» mime-type string¦null false none Data type (MIME)
» disassembleAlgorithmName string¦null false none Disassemble algorithm name

Document

Fetch the document details

Code samples

GET /api/integration/v1/document?documentId=string HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/document?documentId=string \
  -H 'Accept: text/plain'

GET /api/integration/v1/document

Document ID is represented as int1_int2, where int1 identifies the document, and int2 identifies its target language

Parameters

Name In Type Required Description
documentId query string true Document ID

Example responses

200 Response

{"id":"string","name":"string","fullPath":"string","filename":"string","creationDate":"2019-08-24T14:15:22Z","deadline":"2019-08-24T14:15:22Z","sourceLanguage":"string","documentDisassemblingStatus":"InProgress","targetLanguage":"string","status":"Created","wordsCount":0,"statusModificationDate":"2019-08-24T14:15:22Z","pretranslateCompleted":true,"workflowStages":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","progress":0,"wordsTranslated":0,"unassignedWordsCount":0,"status":"NotAssigned","statusModificationDate":"2019-08-24T14:15:22Z","executives":[{"assignedWordsCount":0,"progress":0,"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","supplierType":"Freelancer"}],"vendor":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","customFields":{"property1":"string","property2":"string"}}}],"externalId":"string","metaInfo":"string","placeholdersAreEnabled":true,"revisionLabel":"string"}
{
  "id": "string",
  "name": "string",
  "fullPath": "string",
  "filename": "string",
  "creationDate": "2019-08-24T14:15:22Z",
  "deadline": "2019-08-24T14:15:22Z",
  "sourceLanguage": "string",
  "documentDisassemblingStatus": "InProgress",
  "targetLanguage": "string",
  "status": "Created",
  "wordsCount": 0,
  "statusModificationDate": "2019-08-24T14:15:22Z",
  "pretranslateCompleted": true,
  "workflowStages": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "progress": 0,
      "wordsTranslated": 0,
      "unassignedWordsCount": 0,
      "status": "NotAssigned",
      "statusModificationDate": "2019-08-24T14:15:22Z",
      "executives": [
        {
          "assignedWordsCount": 0,
          "progress": 0,
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "supplierType": "Freelancer"
        }
      ],
      "vendor": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "customFields": {
          "property1": "string",
          "property2": "string"
        }
      }
    }
  ],
  "externalId": "string",
  "metaInfo": "string",
  "placeholdersAreEnabled": true,
  "revisionLabel": "string"
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed DocumentModel
403 Forbidden The document is not associated with the account None
404 Not Found The provided document ID or language ID does not exist None

Delete one or several documents

Code samples

DELETE /api/integration/v1/document?documentIds=string HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/document?documentIds=string

DELETE /api/integration/v1/document

Document ID is represented as int1_int2, where int1 identifies the document, and int2 identifies its target language API call example: ?documentIds=61331_25&documentIds=61332_9.

Parameters

Name In Type Required Description
documentIds query array[string] true Array of document IDs

Responses

Status Meaning Description Schema
204 No Content Documents have been successfully deleted None
400 Bad Request The provided array of document IDs is empty None
403 Forbidden Returns if:

Fetch the status of adding document translation

Code samples

GET /api/integration/v1/document/translate/status?documentId=string HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/document/translate/status?documentId=string \
  -H 'Accept: text/plain'

GET /api/integration/v1/document/translate/status

Document ID is represented as int1_int2, where int1 identifies the document, and int2 identifies its target language

Parameters

Name In Type Required Description
documentId query string true Document ID

Example responses

200 Response

"InProgress"
"InProgress"

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed TranslationTaskStatus
403 Forbidden At least one document is not associated with the account None
404 Not Found The provided document ID does not exist None

Fetch a detailed report on translation import results

Code samples

GET /api/integration/v1/document/translate/result?documentId=string HTTP/1.1

# You can also use wget
curl -X GET /api/integration/v1/document/translate/result?documentId=string

GET /api/integration/v1/document/translate/result

Parameters

Name In Type Required Description
documentId query string true Document ID

Responses

Status Meaning Description Schema
200 OK Success None
404 Not Found Not Found None

Fetch statistics

Code samples

GET /api/integration/v1/document/statistics?documentId=string HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/document/statistics?documentId=string \
  -H 'Accept: text/plain'

GET /api/integration/v1/document/statistics

Parameters

Name In Type Required Description
documentId query string true Document ID
onlyExactMatches query boolean false Specifies whether returning 100% and higher matches will suffice

Example responses

200 Response

{"name":"string","statistics":[{"name":"Perfect","words":0,"percent":0,"segments":0,"pages":0,"charsWithoutSpaces":0,"charsWithSpaces":0,"effectiveWordsForBilling":0}]}
{
  "name": "string",
  "statistics": [
    {
      "name": "Perfect",
      "words": 0,
      "percent": 0,
      "segments": 0,
      "pages": 0,
      "charsWithoutSpaces": 0,
      "charsWithSpaces": 0,
      "effectiveWordsForBilling": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed DocumentStatisticsModel
202 Accepted Statistics creation is in progress None
403 Forbidden The document is not associated with the account None
422 Unprocessable Entity A provided document could not be disassembled None

Divide the document into equal blocks by the number of words and assign one block to each specified freelancer

Code samples

POST /api/integration/v1/document/assignFreelancers HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/document/assignFreelancers \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/document/assignFreelancers

Document ID is represented as int1_int2, where int1 identifies the document, and int2 identifies its target language

Body parameter

[
  "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Parameters

Name In Type Required Description
documentId query string false Document ID
stageNumber query string false Workflow stage number
body body array[string] false Assigned freelancers' user IDs

Responses

Status Meaning Description Schema
204 No Content Freelancer has been successfully assigned to the document None
400 Bad Request Returns if:

Assign a vendor to a document workflow stage

Code samples

POST /api/integration/v1/document/assignVendors HTTP/1.1

# You can also use wget
curl -X POST /api/integration/v1/document/assignVendors

POST /api/integration/v1/document/assignVendors

Document ID is represented as int1_int2, where int1 identifies the document, and int2 identifies its target language

Parameters

Name In Type Required Description
documentId query string false Document ID
stageNumber query string false Workflow stage number
vendorAccountId query string(uuid) false Vendor account ID

Responses

Status Meaning Description Schema
204 No Content Vendor has been successfully assigned to the document None
400 Bad Request Document disassembly failed None
403 Forbidden Returns if:

Specify the unit count for a document workflow stage

Code samples

POST /api/integration/v1/document/setStageUnitCount HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/document/setStageUnitCount \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/document/setStageUnitCount

Body parameter

[
  {
    "documentId": "string",
    "unitCount": 0
  }
]

Parameters

Name In Type Required Description
projectId query string(uuid) false Project ID
stageNumber query string false Workflow stage number
targetLanguageId query integer(int32) false Document target language ID
body body SetStageUnitsCountModel false Document unit count setup model

Responses

Status Meaning Description Schema
204 No Content Unit count has been successfuly applied to a document workflow stage None
400 Bad Request Returns if:

Specify the linguist assignment and segment distribution model

Code samples

POST /api/integration/v1/document/assign HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/document/assign \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/document/assign

Document ID is represented as int1_int2, where int1 identifies the document, and int2 identifies its target language AssignmentMode option descriptions:
AssignmentMode.DistributeAmongAll: Distribute segments among all the assigned linguists
AssignmentMode.Rocket: Send invitations and assign all unassigned segments to the first linguist who accepts
AssignmentMode.InviteOnly: Only invite linguists, segments will be assigned later manually
Note: If the segment count is not specified, the task will be equally divided among all linguists

Body parameter

{
  "executives": [],
  "minWordsCountForExecutive": 0,
  "assignmentMode": "DistributeAmongAll"
}

Parameters

Name In Type Required Description
documentId query string false Document ID
stageNumber query string false Workflow stage number
body body AssignExecutivesRequestModel false Assignment request - list of assigned executors

Responses

Status Meaning Description Schema
204 No Content Linguist has been successfully assigned to the document None
400 Bad Request Returns if:

Unassign a linguist

Code samples

POST /api/integration/v1/document/unassign HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/document/unassign \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/document/unassign

Body parameter

"string"

Parameters

Name In Type Required Description
documentId query string false Document ID
stageNumber query string false Workflow stage number
body body string false Unassigned executor ID

Responses

Status Meaning Description Schema
204 No Content Linguist has been successfully unassigned None
400 Bad Request Returns if:

Send Rocket invitations to MyTeam linguists:

send invitations, assign the first one to accept the job to every unassigned document segment

Code samples

POST /api/integration/v1/document/assignFromMyTeam HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/document/assignFromMyTeam \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/document/assignFromMyTeam

Document ID is represented as int1_int2, where int1 identifies the document, and int2 identifies its target language

Body parameter

{
  "documentIds": [
    "string"
  ],
  "stageNumber": "string",
  "specializations": [
    "Education"
  ],
  "matchProjectClient": true
}

Parameters

Name In Type Required Description
body body AssignMyTeamExecutivesRequestModel false MyTeam linguists assignment model

Example responses

200 Response

0
0

Responses

Status Meaning Description Schema
200 OK The operation has been successfully completed integer
400 Bad Request Returns if:

Change the document status to Completed

Code samples

POST /api/integration/v1/document/complete HTTP/1.1

# You can also use wget
curl -X POST /api/integration/v1/document/complete

POST /api/integration/v1/document/complete

Parameters

Name In Type Required Description
documentId query string false Document ID

Responses

Status Meaning Description Schema
200 OK The operation has been successfully completed None
204 No Content The document is already in Completed status None
400 Bad Request The document status is not "Manager Review" None
404 Not Found The specified document ID does not exist None

Update the specified document

Code samples

PUT /api/integration/v1/document/update?documentId=string HTTP/1.1

Content-Type: multipart/form-data
Accept: text/plain

# You can also use wget
curl -X PUT /api/integration/v1/document/update?documentId=string \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: text/plain'

PUT /api/integration/v1/document/update

Document ID is represented as int1_int2, where int1 identifies the document, and int2 identifies its target language

Body parameter

value:
  bilingualFileImportSetings:
    targetSubstitutionMode: All
    lockMode: None
    confirmMode: None
  enablePlaceholders: true
files:
  - string

Parameters

Name In Type Required Description
documentId query string true Document ID
disassembleAlgorithmName query string false Optional algorithm of file disassembly
presetDisassembleAlgorithm query string false Optional preset for the file disassembly algorithm
body body object true Document with file update model
» value body UploadDocumentPropertiesModel false Document upload properties model
»» bilingualFileImportSetings body BilingualFileImportSetingsModel false Bilingual document upload settings model
»»» targetSubstitutionMode body TargetSubstitutionMode(int32) false Target substitution mode
»»» lockMode body LockMode(int32) false Mode of locking segments at import
»»» confirmMode body ConfirmMode(int32) false Mode of segment confirmation at file upload
»» enablePlaceholders body boolean¦null false Specifies whether to enable placeholders in the document body
» files body [string] false none

Enumerated Values

Parameter Value
»»» targetSubstitutionMode All
»»» targetSubstitutionMode None
»»» lockMode None
»»» lockMode ByStates
»»» lockMode Confirmed
»»» confirmMode None
»»» confirmMode ByStates
»»» confirmMode AtFirstStage
»»» confirmMode AtLastStage

Example responses

200 Response

[{"id":"string","name":"string","fullPath":"string","filename":"string","creationDate":"2019-08-24T14:15:22Z","deadline":"2019-08-24T14:15:22Z","sourceLanguage":"string","documentDisassemblingStatus":"InProgress","targetLanguage":"string","status":"Created","wordsCount":0,"statusModificationDate":"2019-08-24T14:15:22Z","pretranslateCompleted":true,"workflowStages":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","progress":0,"wordsTranslated":0,"unassignedWordsCount":0,"status":"NotAssigned","statusModificationDate":"2019-08-24T14:15:22Z","executives":[{"assignedWordsCount":0,"progress":0,"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","supplierType":"Freelancer"}],"vendor":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","customFields":{"property1":"string","property2":"string"}}}],"externalId":"string","metaInfo":"string","placeholdersAreEnabled":true,"revisionLabel":"string"}]
[
  {
    "id": "string",
    "name": "string",
    "fullPath": "string",
    "filename": "string",
    "creationDate": "2019-08-24T14:15:22Z",
    "deadline": "2019-08-24T14:15:22Z",
    "sourceLanguage": "string",
    "documentDisassemblingStatus": "InProgress",
    "targetLanguage": "string",
    "status": "Created",
    "wordsCount": 0,
    "statusModificationDate": "2019-08-24T14:15:22Z",
    "pretranslateCompleted": true,
    "workflowStages": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "progress": 0,
        "wordsTranslated": 0,
        "unassignedWordsCount": 0,
        "status": "NotAssigned",
        "statusModificationDate": "2019-08-24T14:15:22Z",
        "executives": [
          {
            "assignedWordsCount": 0,
            "progress": 0,
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "supplierType": "Freelancer"
          }
        ],
        "vendor": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "name": "string",
          "customFields": {
            "property1": "string",
            "property2": "string"
          }
        }
      }
    ],
    "externalId": "string",
    "metaInfo": "string",
    "placeholdersAreEnabled": true,
    "revisionLabel": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
400 Bad Request The specified file is empty None
403 Forbidden Returns if:

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DocumentModel] false none [Document model]
» id string¦null false none Document ID
» name string¦null false none Document name
» fullPath string¦null false none Full path to the document in the project
» filename string¦null false none Source file name, including the extension
» creationDate string(date-time) false none Creation date
» deadline string(date-time)¦null false none Document translation deadline
» sourceLanguage string¦null false none Source language
» documentDisassemblingStatus DocumentDisassemblingStatus(int32) false none Document disassembly status
» targetLanguage string¦null false none Target language
» status DocumentStatus(int32) false none Document status
» wordsCount integer(int32) false none Word count in the source text
» statusModificationDate string(date-time)¦null false none Late of the last status change
» pretranslateCompleted boolean false none Specifies whether pretranslation has completed, if ordered
» workflowStages [DocumentWorkflowStageModel]¦null false none Workflow stages for the document
»» id string(uuid) false none ID
»» progress number(double) false none Completion percentage
»» wordsTranslated integer(int32) false none Translated words count
»» unassignedWordsCount integer(int32) false none Unassigned words count
»» status WorkflowStageStatus(int32) false none Workflow stage status
»» statusModificationDate string(date-time)¦null false none Status change date
»» executives [AssignedExecutiveModel]¦null false none Assigned linguists
»»» assignedWordsCount integer(int32) false none Assigned word count
»»» progress number(double) false none Completion percentage
»»» id string(uuid) false none User ID
»»» supplierType SupplierType(int32) false none Linguist type
»» vendor VendorModel false none Vendor model
»»» id string(uuid) false none ID
»»» name string¦null false none Company name
»»» customFields object¦null false none Custom fields
»»»» additionalProperties string false none none
» externalId string¦null false none External identifier assigned by the client upon the document creation
» metaInfo string¦null false none Additional user information about the document
» placeholdersAreEnabled boolean false none Specifies whether placeholders are enabled for the document
» revisionLabel string¦null false none Document version ID label

Enumerated Values

Property Value
documentDisassemblingStatus InProgress
documentDisassemblingStatus Error
documentDisassemblingStatus Success
status Created
status InProgress
status Completed
status Updated
status TargetUpdated
status NotAssigned
status Assigned
status InProgress
status Completed
supplierType Freelancer
supplierType Company

Rename the assigned document

Code samples

PUT /api/integration/v1/document/rename?documentId=string&name=string HTTP/1.1

# You can also use wget
curl -X PUT /api/integration/v1/document/rename?documentId=string&name=string

PUT /api/integration/v1/document/rename

Document ID is represented as int1_int2, where int1 identifies the document, and int2 identifies its target language

Parameters

Name In Type Required Description
documentId query string true Document ID
name query string true New name

Responses

Status Meaning Description Schema
204 No Content The document has been successfully renamed None
403 Forbidden At least one document is not associated with the account None
404 Not Found The provided document ID does not exist None
409 Conflict The new name will not be unique in the project None

Translate the specified document using the specified translation file

Code samples

PUT /api/integration/v1/document/translate?documentId=string HTTP/1.1

Content-Type: multipart/form-data

# You can also use wget
curl -X PUT /api/integration/v1/document/translate?documentId=string \
  -H 'Content-Type: multipart/form-data'

PUT /api/integration/v1/document/translate

Body parameter

translationFile: string

Parameters

Name In Type Required Description
documentId query string true Document ID
overwrite query boolean false Specifies whether to overwrite the available translations
confirmTranslation query boolean false Confirm updated segments
body body object false Translation file
» translationFile body string(binary) false none

Responses

Status Meaning Description Schema
202 Accepted The operation has been successfully completed None
403 Forbidden At least one document is not associated with the account None
404 Not Found The provided document ID does not exist None

Import an XLIFF file with document translations

Code samples

PUT /api/integration/v1/document/translateWithXliff?documentId=string HTTP/1.1

Content-Type: multipart/form-data

# You can also use wget
curl -X PUT /api/integration/v1/document/translateWithXliff?documentId=string \
  -H 'Content-Type: multipart/form-data'

PUT /api/integration/v1/document/translateWithXliff

This method is available only for modified XLIFF files that were exported using the POST /api/integration/v1/document/export method. The API call body can include one XLIFF file only.

Body parameter

translationFile:
  - string

Parameters

Name In Type Required Description
documentId query string true ID of the document to update
confirmTranslation query boolean false Confirm updated segments
overwriteUpdatedSegments query boolean false Specifies whether to overwrite the segments that have been updated since the last export of the XLIFF file
body body object false XLIFF file with segment translations
» translationFile body [string] false none

Responses

Status Meaning Description Schema
202 Accepted Request has been successfully completed None
403 Forbidden The document is not associated with the account None
404 Not Found The provided document ID does not exist None

DocumentExport

Download the export results

Code samples

GET /api/integration/v1/document/export/{taskId} HTTP/1.1

# You can also use wget
curl -X GET /api/integration/v1/document/export/{taskId}

GET /api/integration/v1/document/export/{taskId}

Parameters

Name In Type Required Description
taskId path string(uuid) true Export task ID

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed None
204 No Content The task is not ready yet None
404 Not Found The provided task ID does not exist None
422 Unprocessable Entity Export failed None

Request the documents export

Code samples

POST /api/integration/v1/document/export?documentIds=string HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/document/export?documentIds=string \
  -H 'Accept: text/plain'

POST /api/integration/v1/document/export

Parameters

Name In Type Required Description
documentIds query array[string] true Target language IDs (the syntax is documentId_languageId), where documentId_languageId is a document ID
mode query SegmentExportMode false Segment export mode:
type query ExportDocumentRequestType false Export document type, by default Smartcat.AppIntegrations.Contracts.ExportDocumentRequestType.Target
stageNumber query string false Workflow stage number when downloading an intermediate result

Detailed descriptions

documentIds: Target language IDs (the syntax is documentId_languageId), where documentId_languageId is a document ID and languageId is a target language ID

mode: Segment export mode: Current - The current translation, the segment status notwithstanding (what is shown in the editor) Confirmed - Confirmed segments at the specific stage, as defined by the StageNumber parameter. If the stage is not specified, export all segments confirmed at any stage (this behavior is similar to exporting files using the Smartcat interface) Complete - Only completed segments, that is the segments that have passed all the stages and were confirmed at the last one

Enumerated Values

Parameter Value
mode Current
mode Confirmed
mode Complete
type Source
type Target
type Xliff
type MultilangCsv
type DocumentWithMetadata

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","documentIds":["string"]}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "documentIds": [
    "string"
  ]
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed ExportDocumentTaskModel
400 Bad Request Returns if:

FileDisassemblingAlgorithmPresets

Fetch a disassembly algorithm preset

Code samples

GET /api/integration/v1/fileDisassemblingAlgorithmPresets/{id} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/fileDisassemblingAlgorithmPresets/{id} \
  -H 'Accept: text/plain'

GET /api/integration/v1/fileDisassemblingAlgorithmPresets/{id}

Parameters

Name In Type Required Description
id path string true Preset ID

Example responses

200 Response

{"id":"string","name":"string","algorithmName":"string","settings":null}
{
  "id": "string",
  "name": "string",
  "algorithmName": "string",
  "settings": null
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed FileDisassemblingAlgorithmPresetViewModel
400 Bad Request The provided ID format is incorrect None
404 Not Found The provided preset ID does not exist None

Update a disassembly algorithm preset

Code samples

PUT /api/integration/v1/fileDisassemblingAlgorithmPresets/{id} HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v1/fileDisassemblingAlgorithmPresets/{id} \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v1/fileDisassemblingAlgorithmPresets/{id}

Body parameter

{
  "name": "string",
  "algorithmName": "string",
  "settings": null
}

Parameters

Name In Type Required Description
id path string true ID of the preset to be updated
body body FileDisassemblingAlgorithmPresetEditModel true Update preset model

Responses

Status Meaning Description Schema
204 No Content Request has been successfully completed None
400 Bad Request Incorrect parameter format None

Delete a preset

Code samples

DELETE /api/integration/v1/fileDisassemblingAlgorithmPresets/{id} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/fileDisassemblingAlgorithmPresets/{id}

DELETE /api/integration/v1/fileDisassemblingAlgorithmPresets/{id}

Parameters

Name In Type Required Description
id path string true ID of the preset to be deleted

Responses

Status Meaning Description Schema
204 No Content Request has been successfully completed None

Fetch all presets for the account

Code samples

GET /api/integration/v1/fileDisassemblingAlgorithmPresets HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/fileDisassemblingAlgorithmPresets \
  -H 'Accept: text/plain'

GET /api/integration/v1/fileDisassemblingAlgorithmPresets

Example responses

200 Response

[{"id":"string","name":"string","algorithmName":"string","settings":null}]
[
  {
    "id": "string",
    "name": "string",
    "algorithmName": "string",
    "settings": null
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [FileDisassemblingAlgorithmPresetViewModel] false none [Preset view model]
» id string false none ID
» name string¦null false none Name
» algorithmName string¦null false none Algorithm
» settings any false none Settings

Create a disassembly algorithm preset

Code samples

POST /api/integration/v1/fileDisassemblingAlgorithmPresets HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/fileDisassemblingAlgorithmPresets \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/fileDisassemblingAlgorithmPresets

Body parameter

{
  "name": "string",
  "algorithmName": "string",
  "settings": null
}

Parameters

Name In Type Required Description
body body FileDisassemblingAlgorithmPresetEditModel true Creation preset model

Example responses

200 Response

{"presetId":"string"}
{
  "presetId": "string"
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed FileDisassemblingAlgorithmPresetCreatedModel
400 Bad Request Incorrect parameter format None

Glossary

Fetch glossaries from the current account

Code samples

GET /api/integration/v1/glossaries HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/glossaries \
  -H 'Accept: text/plain'

GET /api/integration/v1/glossaries

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","description":"string","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","languages":["string"],"units":0,"unitsPending":0}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "description": "string",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "languages": [
      "string"
    ],
    "units": 0,
    "unitsPending": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [GlossaryModel] false none [Glossary]
» id string(uuid) false none Glossary ID
» name string¦null false none Glossary name
» description string¦null false none Glossary description
» clientId string(uuid)¦null false none Client ID, if a glossary client is specified
» languages [string]¦null false none Glossary language codes
» units integer(int32) false none Glossary unit count
» unitsPending integer(int32) false none Pending unit count

Create a task for importing concepts to a glossary file

Code samples

POST /api/integration/v1/glossary/import?glossaryId=497f6eca-6276-4993-bfeb-53cbbbba6f08&clearBeforeImport=true HTTP/1.1

Content-Type: multipart/form-data
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/glossary/import?glossaryId=497f6eca-6276-4993-bfeb-53cbbbba6f08&clearBeforeImport=true \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: text/plain'

POST /api/integration/v1/glossary/import

Body parameter

file: string

Parameters

Name In Type Required Description
glossaryId query string(uuid) true Glossary ID
clearBeforeImport query boolean true Specifies whether to delete all glossary concepts before the import
body body object true File containing imported concepts
» file body string(binary) false none

Example responses

200 Response

"497f6eca-6276-4993-bfeb-53cbbbba6f08"
"497f6eca-6276-4993-bfeb-53cbbbba6f08"

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed string
404 Not Found The glossary with the specified ID was not found None

Fetch the status of a concept import task

Code samples

GET /api/integration/v1/glossary/importTaskState/{taskId} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/glossary/importTaskState/{taskId} \
  -H 'Accept: text/plain'

GET /api/integration/v1/glossary/importTaskState/{taskId}

Parameters

Name In Type Required Description
taskId path string(uuid) true Concept import task ID

Example responses

200 Response

"string"
"string"

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed string
404 Not Found The task with the specified ID was not found None

Invoice

Create payment to freelancer

Code samples

POST /api/integration/v1/invoice/job HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/invoice/job \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/invoice/job

Body parameter

{
  "freelancerId": "d348427f-ce2b-4cec-b566-f5e94f69a955",
  "serviceType": "string",
  "jobDescription": "string",
  "unitsType": "string",
  "unitsAmount": 0,
  "pricePerUnit": 0,
  "currency": "string",
  "externalNumber": "string"
}

Parameters

Name In Type Required Description
body body ImportJobModel true Freelancer payment creation parameters

Example responses

200 Response

"string"
"string"

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed string
400 Bad Request One or several query parameters are incorrect None

Create a payment

Code samples

POST /api/integration/v2/invoice/job HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v2/invoice/job \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v2/invoice/job

Body parameter

{
  "supplierEmail": "string",
  "supplierName": "string",
  "supplierType": "Freelancer",
  "serviceType": "string",
  "jobDescription": "string",
  "unitsType": "string",
  "unitsAmount": 0,
  "pricePerUnit": 0,
  "currency": "string",
  "externalNumber": "string",
  "payUntilDate": "2019-08-24T14:15:22Z"
}

Parameters

Name In Type Required Description
body body ImportJobModelV2 true Payment creation parameters

Example responses

200 Response

"string"
"string"

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed string
400 Bad Request One or several query parameters are incorrect None

Create an array of freelancer payments

Code samples

POST /api/integration/v1/invoice/jobs HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/invoice/jobs \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/invoice/jobs

Body parameter

[
  {
    "freelancerId": "d348427f-ce2b-4cec-b566-f5e94f69a955",
    "serviceType": "string",
    "jobDescription": "string",
    "unitsType": "string",
    "unitsAmount": 0,
    "pricePerUnit": 0,
    "currency": "string",
    "externalNumber": "string"
  }
]

Parameters

Name In Type Required Description
body body ImportJobModel true Freelancer payment creation parameters

Example responses

200 Response

[{"id":"string","status":"InProgress","freelancerId":"d348427f-ce2b-4cec-b566-f5e94f69a955","serviceType":"string","jobDescription":"string","unitsType":"string","unitsAmount":0,"pricePerUnit":0,"currency":"string","externalNumber":"string"}]
[
  {
    "id": "string",
    "status": "InProgress",
    "freelancerId": "d348427f-ce2b-4cec-b566-f5e94f69a955",
    "serviceType": "string",
    "jobDescription": "string",
    "unitsType": "string",
    "unitsAmount": 0,
    "pricePerUnit": 0,
    "currency": "string",
    "externalNumber": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
400 Bad Request Returns if one or several parameters in a provided job are incorrect None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [JobModel] false none [Linguist payment model]
» id string¦null false none Task ID
» status JobStatus(int32) false none Payment status
» freelancerId string(uuid) false none Linguist ID
» serviceType string¦null false none Service type
» jobDescription string¦null false none Description: the name of a document or project
» unitsType string¦null false none Job unit type
» unitsAmount number(double) false none Job unit count
» pricePerUnit number(double) false none Job unit price
» currency string¦null false none Price and cost currency
» externalNumber string¦null false none External payment ID

Enumerated Values

Property Value
status InProgress
status InvitationPending
status WaitingForAssignment
status WaitingForPayment
status Verified
status PaidByCustomer
status PaidToFreelancer
status MarkedAsPaid
status InvitationCanceled
status InvitationDeclined

Create a payments array

Code samples

POST /api/integration/v2/invoice/jobs HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v2/invoice/jobs \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v2/invoice/jobs

Body parameter

[
  {
    "supplierEmail": "string",
    "supplierName": "string",
    "supplierType": "Freelancer",
    "serviceType": "string",
    "jobDescription": "string",
    "unitsType": "string",
    "unitsAmount": 0,
    "pricePerUnit": 0,
    "currency": "string",
    "externalNumber": "string",
    "payUntilDate": "2019-08-24T14:15:22Z"
  }
]

Parameters

Name In Type Required Description
body body ImportJobModelV2 true Payment creation parameters

Example responses

200 Response

[{"id":"string","invoiceNumber":"string","supplierEmail":"string","supplierName":"string","supplierType":"Freelancer","serviceType":"string","jobDescription":"string","unitsType":"string","unitsAmount":0,"pricePerUnit":0,"currency":"string","cost":0,"externalNumber":"string","supplierId":"e01eb4c4-8eb9-4fb7-b625-61f58c6148db","status":"InProgress","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8"}]
[
  {
    "id": "string",
    "invoiceNumber": "string",
    "supplierEmail": "string",
    "supplierName": "string",
    "supplierType": "Freelancer",
    "serviceType": "string",
    "jobDescription": "string",
    "unitsType": "string",
    "unitsAmount": 0,
    "pricePerUnit": 0,
    "currency": "string",
    "cost": 0,
    "externalNumber": "string",
    "supplierId": "e01eb4c4-8eb9-4fb7-b625-61f58c6148db",
    "status": "InProgress",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
400 Bad Request Returns if one or several parameters in a provided job are incorrect None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [JobModelV2] false none [Payment model]
» id string¦null false none Task ID
» invoiceNumber string¦null false none Bank account number
» supplierEmail string¦null false none Vendor email address
» supplierName string¦null false none Vendor name
» supplierType SupplierType(int32) false none Linguist type
» serviceType string¦null false none Service type
» jobDescription string¦null false none Description: the name of a document or project
» unitsType string¦null false none Job unit type
» unitsAmount number(double) false none Job unit count
» pricePerUnit number(double) false none Job unit price
» currency string¦null false none Price and cost currency
» cost number(double) false none Total job cost
» externalNumber string¦null false none External payment ID
» supplierId string(uuid)¦null false none Supplier ID
» status JobStatus(int32) false none Payment status
» projectId string(uuid)¦null false none Project ID (optional)

Enumerated Values

Property Value
supplierType Freelancer
supplierType Company
status InProgress
status InvitationPending
status WaitingForAssignment
status WaitingForPayment
status Verified
status PaidByCustomer
status PaidToFreelancer
status MarkedAsPaid
status InvitationCanceled
status InvitationDeclined

Fetch an array of freelancer payments by ID

Code samples

GET /api/integration/v1/invoice/job/list?externalIds=string HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/invoice/job/list?externalIds=string \
  -H 'Accept: text/plain'

GET /api/integration/v1/invoice/job/list

Parameters

Name In Type Required Description
externalIds query array[string] true External payment IDs

Example responses

200 Response

[{"id":"string","status":"InProgress","freelancerId":"d348427f-ce2b-4cec-b566-f5e94f69a955","serviceType":"string","jobDescription":"string","unitsType":"string","unitsAmount":0,"pricePerUnit":0,"currency":"string","externalNumber":"string"}]
[
  {
    "id": "string",
    "status": "InProgress",
    "freelancerId": "d348427f-ce2b-4cec-b566-f5e94f69a955",
    "serviceType": "string",
    "jobDescription": "string",
    "unitsType": "string",
    "unitsAmount": 0,
    "pricePerUnit": 0,
    "currency": "string",
    "externalNumber": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [JobModel] false none [Linguist payment model]
» id string¦null false none Task ID
» status JobStatus(int32) false none Payment status
» freelancerId string(uuid) false none Linguist ID
» serviceType string¦null false none Service type
» jobDescription string¦null false none Description: the name of a document or project
» unitsType string¦null false none Job unit type
» unitsAmount number(double) false none Job unit count
» pricePerUnit number(double) false none Job unit price
» currency string¦null false none Price and cost currency
» externalNumber string¦null false none External payment ID

Enumerated Values

Property Value
status InProgress
status InvitationPending
status WaitingForAssignment
status WaitingForPayment
status Verified
status PaidByCustomer
status PaidToFreelancer
status MarkedAsPaid
status InvitationCanceled
status InvitationDeclined

Fetch an array of payments by ID

Code samples

GET /api/integration/v2/invoice/job/listByExternalId?externalIds=string HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/invoice/job/listByExternalId?externalIds=string \
  -H 'Accept: text/plain'

GET /api/integration/v2/invoice/job/listByExternalId

Parameters

Name In Type Required Description
externalIds query array[string] true External payment IDs

Example responses

200 Response

[{"id":"string","invoiceNumber":"string","supplierEmail":"string","supplierName":"string","supplierType":"Freelancer","serviceType":"string","jobDescription":"string","unitsType":"string","unitsAmount":0,"pricePerUnit":0,"currency":"string","cost":0,"externalNumber":"string","supplierId":"e01eb4c4-8eb9-4fb7-b625-61f58c6148db","status":"InProgress","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8"}]
[
  {
    "id": "string",
    "invoiceNumber": "string",
    "supplierEmail": "string",
    "supplierName": "string",
    "supplierType": "Freelancer",
    "serviceType": "string",
    "jobDescription": "string",
    "unitsType": "string",
    "unitsAmount": 0,
    "pricePerUnit": 0,
    "currency": "string",
    "cost": 0,
    "externalNumber": "string",
    "supplierId": "e01eb4c4-8eb9-4fb7-b625-61f58c6148db",
    "status": "InProgress",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [JobModelV2] false none [Payment model]
» id string¦null false none Task ID
» invoiceNumber string¦null false none Bank account number
» supplierEmail string¦null false none Vendor email address
» supplierName string¦null false none Vendor name
» supplierType SupplierType(int32) false none Linguist type
» serviceType string¦null false none Service type
» jobDescription string¦null false none Description: the name of a document or project
» unitsType string¦null false none Job unit type
» unitsAmount number(double) false none Job unit count
» pricePerUnit number(double) false none Job unit price
» currency string¦null false none Price and cost currency
» cost number(double) false none Total job cost
» externalNumber string¦null false none External payment ID
» supplierId string(uuid)¦null false none Supplier ID
» status JobStatus(int32) false none Payment status
» projectId string(uuid)¦null false none Project ID (optional)

Enumerated Values

Property Value
supplierType Freelancer
supplierType Company
status InProgress
status InvitationPending
status WaitingForAssignment
status WaitingForPayment
status Verified
status PaidByCustomer
status PaidToFreelancer
status MarkedAsPaid
status InvitationCanceled
status InvitationDeclined

Fetch an array of payments by creation date

Code samples

GET /api/integration/v2/invoice/job/listByCreatedDate?dateCreatedFrom=2019-08-24T14%3A15%3A22Z&dateCreatedTo=2019-08-24T14%3A15%3A22Z HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/invoice/job/listByCreatedDate?dateCreatedFrom=2019-08-24T14%3A15%3A22Z&dateCreatedTo=2019-08-24T14%3A15%3A22Z \
  -H 'Accept: text/plain'

GET /api/integration/v2/invoice/job/listByCreatedDate

Parameters

Name In Type Required Description
dateCreatedFrom query string(date-time) true Fetch the payments created after the specified date
dateCreatedTo query string(date-time) true Fetch the payments created before the specified date
limit query integer(int32) false Maximum returned items

Example responses

200 Response

[{"id":"string","invoiceNumber":"string","supplierEmail":"string","supplierName":"string","supplierType":"Freelancer","serviceType":"string","jobDescription":"string","unitsType":"string","unitsAmount":0,"pricePerUnit":0,"currency":"string","cost":0,"externalNumber":"string","supplierId":"e01eb4c4-8eb9-4fb7-b625-61f58c6148db","status":"InProgress","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8"}]
[
  {
    "id": "string",
    "invoiceNumber": "string",
    "supplierEmail": "string",
    "supplierName": "string",
    "supplierType": "Freelancer",
    "serviceType": "string",
    "jobDescription": "string",
    "unitsType": "string",
    "unitsAmount": 0,
    "pricePerUnit": 0,
    "currency": "string",
    "cost": 0,
    "externalNumber": "string",
    "supplierId": "e01eb4c4-8eb9-4fb7-b625-61f58c6148db",
    "status": "InProgress",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [JobModelV2] false none [Payment model]
» id string¦null false none Task ID
» invoiceNumber string¦null false none Bank account number
» supplierEmail string¦null false none Vendor email address
» supplierName string¦null false none Vendor name
» supplierType SupplierType(int32) false none Linguist type
» serviceType string¦null false none Service type
» jobDescription string¦null false none Description: the name of a document or project
» unitsType string¦null false none Job unit type
» unitsAmount number(double) false none Job unit count
» pricePerUnit number(double) false none Job unit price
» currency string¦null false none Price and cost currency
» cost number(double) false none Total job cost
» externalNumber string¦null false none External payment ID
» supplierId string(uuid)¦null false none Supplier ID
» status JobStatus(int32) false none Payment status
» projectId string(uuid)¦null false none Project ID (optional)

Enumerated Values

Property Value
supplierType Freelancer
supplierType Company
status InProgress
status InvitationPending
status WaitingForAssignment
status WaitingForPayment
status Verified
status PaidByCustomer
status PaidToFreelancer
status MarkedAsPaid
status InvitationCanceled
status InvitationDeclined

Fetch a list of invoices created within the specified period

Code samples

GET /api/integration/v2/invoice/list?dateCreatedFrom=2019-08-24T14%3A15%3A22Z&dateCreatedTo=2019-08-24T14%3A15%3A22Z HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/invoice/list?dateCreatedFrom=2019-08-24T14%3A15%3A22Z&dateCreatedTo=2019-08-24T14%3A15%3A22Z \
  -H 'Accept: text/plain'

GET /api/integration/v2/invoice/list

Parameters

Name In Type Required Description
dateCreatedFrom query string(date-time) true Period start (inclusive)
dateCreatedTo query string(date-time) true Period end (inclusive)
limit query integer(int32) false Maximum returned items (not more than 10)
skip query integer(int32) false Number of skipped items

Example responses

200 Response

[{"number":"string","currency":"string","cost":0,"date":"2019-08-24T14:15:22Z","status":"Sent","payerRequisites":{"name":"string","contactPerson":"string","vat":"string","legalAddress":"string","country":"string"},"payeeRequisites":{"registrationNumber":"string","beneficiary":"string","bankName":"string","bankAddress":"string","bankCode":"string","swift":"string","bankAccount":"string","achRoutingNumber":"string","wireRoutingNumber":"string","transitNumber":"string","bankCorrAccount":"string","bankCorrBankEn":"string","bankCorrBankRu":"string","iban":"string","kpp":"string","bic":"string","name":"string","contactPerson":"string","vat":"string","legalAddress":"string","country":"string"},"jobs":[{"id":"string","invoiceNumber":"string","supplierEmail":"string","supplierName":"string","supplierType":"Freelancer","serviceType":"string","jobDescription":"string","unitsType":"string","unitsAmount":0,"pricePerUnit":0,"currency":"string","cost":0,"externalNumber":"string","supplierId":"e01eb4c4-8eb9-4fb7-b625-61f58c6148db","status":"InProgress","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8"}]}]
[
  {
    "number": "string",
    "currency": "string",
    "cost": 0,
    "date": "2019-08-24T14:15:22Z",
    "status": "Sent",
    "payerRequisites": {
      "name": "string",
      "contactPerson": "string",
      "vat": "string",
      "legalAddress": "string",
      "country": "string"
    },
    "payeeRequisites": {
      "registrationNumber": "string",
      "beneficiary": "string",
      "bankName": "string",
      "bankAddress": "string",
      "bankCode": "string",
      "swift": "string",
      "bankAccount": "string",
      "achRoutingNumber": "string",
      "wireRoutingNumber": "string",
      "transitNumber": "string",
      "bankCorrAccount": "string",
      "bankCorrBankEn": "string",
      "bankCorrBankRu": "string",
      "iban": "string",
      "kpp": "string",
      "bic": "string",
      "name": "string",
      "contactPerson": "string",
      "vat": "string",
      "legalAddress": "string",
      "country": "string"
    },
    "jobs": [
      {
        "id": "string",
        "invoiceNumber": "string",
        "supplierEmail": "string",
        "supplierName": "string",
        "supplierType": "Freelancer",
        "serviceType": "string",
        "jobDescription": "string",
        "unitsType": "string",
        "unitsAmount": 0,
        "pricePerUnit": 0,
        "currency": "string",
        "cost": 0,
        "externalNumber": "string",
        "supplierId": "e01eb4c4-8eb9-4fb7-b625-61f58c6148db",
        "status": "InProgress",
        "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8"
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [InvoiceModel] false none [Invoice model]
» number string¦null false none Bank account number
» currency string¦null false none Invoice currency
» cost number(double) false none Invoice total
» date string(date-time) false none Invoice issue date
» status InvoiceStatus(int32) false none Invoice status
» payerRequisites LegalEntityModel false none Legal entity details model
»» name string¦null false none Legal entity name
»» contactPerson string¦null false none Contact person
»» vat string¦null false none VAT
»» legalAddress string¦null false none Legal address
»» country string¦null false none Country
» payeeRequisites SmartCatLegalEntityModel false none Smartcat legal entity details model
»» registrationNumber string¦null false none Registration number
»» beneficiary string¦null false none Beneficiary
»» bankName string¦null false none Bank name
»» bankAddress string¦null false none Bank address
»» bankCode string¦null false none Bank code
»» swift string¦null false none SWIFT
»» bankAccount string¦null false none Bank account number
»» achRoutingNumber string¦null false none ACH routing number
»» wireRoutingNumber string¦null false none Wire routing number
»» transitNumber string¦null false none Transit number
»» bankCorrAccount string¦null false none Correspondent account
»» bankCorrBankEn string¦null false none Correspondent bank name (in English)
»» bankCorrBankRu string¦null false none Correspondent bank name (in Russian)
»» iban string¦null false none IBAN
»» kpp string¦null false none KPP
»» bic string¦null false none BIC
»» name string¦null false none Legal entity name
»» contactPerson string¦null false none Contact person
»» vat string¦null false none VAT
»» legalAddress string¦null false none Legal address
»» country string¦null false none Country
» jobs [JobModelV2]¦null false none Payments included in the invoice
»» id string¦null false none Task ID
»» invoiceNumber string¦null false none Bank account number
»» supplierEmail string¦null false none Vendor email address
»» supplierName string¦null false none Vendor name
»» supplierType SupplierType(int32) false none Linguist type
»» serviceType string¦null false none Service type
»» jobDescription string¦null false none Description: the name of a document or project
»» unitsType string¦null false none Job unit type
»» unitsAmount number(double) false none Job unit count
»» pricePerUnit number(double) false none Job unit price
»» currency string¦null false none Price and cost currency
»» cost number(double) false none Total job cost
»» externalNumber string¦null false none External payment ID
»» supplierId string(uuid)¦null false none Supplier ID
»» status JobStatus(int32) false none Payment status
»» projectId string(uuid)¦null false none Project ID (optional)

Enumerated Values

Property Value
status Sent
status Paid
status PaymentInProcess
status Cancelled
supplierType Freelancer
supplierType Company
status InProgress
status InvitationPending
status WaitingForAssignment
status WaitingForPayment
status Verified
status PaidByCustomer
status PaidToFreelancer
status MarkedAsPaid
status InvitationCanceled
status InvitationDeclined

Fetch a list of agent invoices

Code samples

GET /api/integration/v2/client-agent-invoice/list HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/client-agent-invoice/list \
  -H 'Accept: text/plain'

GET /api/integration/v2/client-agent-invoice/list

Parameters

Name In Type Required Description
dateFrom query string(date-time) false Period start (inclusive)
dateTo query string(date-time) false Period end (inclusive)
limit query integer(int32) false Limit

Example responses

200 Response

[{"id":"string","number":"string","externalNumber":"string","payerLegalName":"string","payerVat":"string","payerKpp":"string","status":"string","dateCreated":"2019-08-24T14:15:22Z","datePaid":"2019-08-24T14:15:22Z","dueDate":"2019-08-24T14:15:22Z","jobs":[{"name":"string","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","description":"string","originalCost":0,"convertedCost":0,"originalCurrency":"string","sourceLanguage":"string","targetLanguage":"string"}],"currency":"string","totalCost":0,"isInternalClient":true,"paymentDestination":"Balance","bankRequisites":{"bankName":"string","bankAddress":"string","bic":"string","swift":"string","bankCorrAccount":"string","bankAccount":"string","currency":"string"}}]
[
  {
    "id": "string",
    "number": "string",
    "externalNumber": "string",
    "payerLegalName": "string",
    "payerVat": "string",
    "payerKpp": "string",
    "status": "string",
    "dateCreated": "2019-08-24T14:15:22Z",
    "datePaid": "2019-08-24T14:15:22Z",
    "dueDate": "2019-08-24T14:15:22Z",
    "jobs": [
      {
        "name": "string",
        "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
        "description": "string",
        "originalCost": 0,
        "convertedCost": 0,
        "originalCurrency": "string",
        "sourceLanguage": "string",
        "targetLanguage": "string"
      }
    ],
    "currency": "string",
    "totalCost": 0,
    "isInternalClient": true,
    "paymentDestination": "Balance",
    "bankRequisites": {
      "bankName": "string",
      "bankAddress": "string",
      "bic": "string",
      "swift": "string",
      "bankCorrAccount": "string",
      "bankAccount": "string",
      "currency": "string"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ClientAgentInvoiceModel] false none none
» id string¦null false none none
» number string¦null false none none
» externalNumber string¦null false none none
» payerLegalName string¦null false none none
» payerVat string¦null false none none
» payerKpp string¦null false none none
» status string¦null false none none
» dateCreated string(date-time) false none none
» datePaid string(date-time)¦null false none none
» dueDate string(date-time)¦null false none none
» jobs [ClientAgentInvoiceJobModel]¦null false none none
»» name string¦null false none none
»» projectId string(uuid)¦null false none none
»» description string¦null false none none
»» originalCost number(double) false none none
»» convertedCost number(double) false none none
»» originalCurrency string¦null false read-only none
»» sourceLanguage string¦null false none none
»» targetLanguage string¦null false none none
» currency string¦null false none none
» totalCost number(double) false none none
» isInternalClient boolean false none none
» paymentDestination InvoicePaymentReceiveDestination(int32) false none none
» bankRequisites BankRequisitesModel false none none
»» bankName string¦null false read-only none
»» bankAddress string¦null false read-only none
»» bic string¦null false read-only none
»» swift string¦null false read-only none
»» bankCorrAccount string¦null false read-only none
»» bankAccount string¦null false read-only none
»» currency string¦null false read-only none

Enumerated Values

Property Value
paymentDestination Balance
paymentDestination ExternalBankAccount

Job

Fetch an array of jobs whose status is VERIFIED

Code samples

GET /api/integration/v3/job/verifiedForProject?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v3/job/verifiedForProject?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08 \
  -H 'Accept: text/plain'

GET /api/integration/v3/job/verifiedForProject

Parameters

Name In Type Required Description
projectId query string(uuid) true Project ID
skip query integer(int32) false Number of jobs to be skipped (default: 0)
limit query integer(int32) false Number of jobs to fetch (default: 100)

Example responses

200 Response

[{"id":"string","invoiceNumber":"string","supplierEmail":"string","supplierName":"string","supplierType":"Freelancer","serviceType":"string","jobDescription":"string","unitsType":"string","unitsAmount":0,"customerPricePerUnit":0,"executivePricePerUnit":0,"customerCurrency":"string","executiveCurrency":"string","customerCost":0,"executiveCost":0,"externalNumber":"string","supplierId":"e01eb4c4-8eb9-4fb7-b625-61f58c6148db","status":"InProgress","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","deadline":"2019-08-24T14:15:22Z","sourceLanguage":0,"targetLanguage":0,"isPaidExternally":true,"documentId":"string","stageId":"string","verifiedDate":"2019-08-24T14:15:22Z"}]
[
  {
    "id": "string",
    "invoiceNumber": "string",
    "supplierEmail": "string",
    "supplierName": "string",
    "supplierType": "Freelancer",
    "serviceType": "string",
    "jobDescription": "string",
    "unitsType": "string",
    "unitsAmount": 0,
    "customerPricePerUnit": 0,
    "executivePricePerUnit": 0,
    "customerCurrency": "string",
    "executiveCurrency": "string",
    "customerCost": 0,
    "executiveCost": 0,
    "externalNumber": "string",
    "supplierId": "e01eb4c4-8eb9-4fb7-b625-61f58c6148db",
    "status": "InProgress",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "deadline": "2019-08-24T14:15:22Z",
    "sourceLanguage": 0,
    "targetLanguage": 0,
    "isPaidExternally": true,
    "documentId": "string",
    "stageId": "string",
    "verifiedDate": "2019-08-24T14:15:22Z"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [JobModelV2Extended] false none [Payment model]
» id string¦null false none Task ID
» invoiceNumber string¦null false none Bank account number
» supplierEmail string¦null false none Vendor email address
» supplierName string¦null false none Vendor name
» supplierType SupplierType(int32) false none Linguist type
» serviceType string¦null false none Service type
» jobDescription string¦null false none Description: the name of a document or project
» unitsType string¦null false none Job unit type
» unitsAmount number(double) false none Job unit count
» customerPricePerUnit number(double) false none Job unit price
» executivePricePerUnit number(double) false none Job unit price without commission
» customerCurrency string¦null false none Price and cost currency
» executiveCurrency string¦null false none Linguist's price and cost currency
» customerCost number(double) false none Total job cost
» executiveCost number(double) false none Total job cost without commission
» externalNumber string¦null false none External payment ID
» supplierId string(uuid)¦null false none Supplier ID
» status JobStatus(int32) false none Payment status
» projectId string(uuid)¦null false none Project ID
» deadline string(date-time)¦null false none Project deadline
» sourceLanguage integer(int32)¦null false none Source language
» targetLanguage integer(int32)¦null false none Target language
» isPaidExternally boolean false none Paid externally
» documentId string¦null false none Document ID
» stageId string¦null false none Workflow stage ID
» verifiedDate string(date-time)¦null false none Дата установки статуса задания в VERIFIED

Enumerated Values

Property Value
supplierType Freelancer
supplierType Company
status InProgress
status InvitationPending
status WaitingForAssignment
status WaitingForPayment
status Verified
status PaidByCustomer
status PaidToFreelancer
status MarkedAsPaid
status InvitationCanceled
status InvitationDeclined

Fetch an array of jobs

Code samples

GET /api/integration/v3/job?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v3/job?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08 \
  -H 'Accept: text/plain'

GET /api/integration/v3/job

Parameters

Name In Type Required Description
projectId query string(uuid) true Project ID
skip query integer(int32) false Number of jobs to be skipped (default: 0)
limit query integer(int32) false Number of jobs to fetch (default: 100)

Example responses

200 Response

[{"id":"string","invoiceNumber":"string","supplierEmail":"string","supplierName":"string","supplierType":"Freelancer","serviceType":"string","jobDescription":"string","unitsType":"string","unitsAmount":0,"customerPricePerUnit":0,"executivePricePerUnit":0,"customerCurrency":"string","executiveCurrency":"string","customerCost":0,"executiveCost":0,"externalNumber":"string","supplierId":"e01eb4c4-8eb9-4fb7-b625-61f58c6148db","status":"InProgress","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","deadline":"2019-08-24T14:15:22Z","sourceLanguage":0,"targetLanguage":0,"isPaidExternally":true,"documentId":"string","stageId":"string","verifiedDate":"2019-08-24T14:15:22Z"}]
[
  {
    "id": "string",
    "invoiceNumber": "string",
    "supplierEmail": "string",
    "supplierName": "string",
    "supplierType": "Freelancer",
    "serviceType": "string",
    "jobDescription": "string",
    "unitsType": "string",
    "unitsAmount": 0,
    "customerPricePerUnit": 0,
    "executivePricePerUnit": 0,
    "customerCurrency": "string",
    "executiveCurrency": "string",
    "customerCost": 0,
    "executiveCost": 0,
    "externalNumber": "string",
    "supplierId": "e01eb4c4-8eb9-4fb7-b625-61f58c6148db",
    "status": "InProgress",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "deadline": "2019-08-24T14:15:22Z",
    "sourceLanguage": 0,
    "targetLanguage": 0,
    "isPaidExternally": true,
    "documentId": "string",
    "stageId": "string",
    "verifiedDate": "2019-08-24T14:15:22Z"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [JobModelV2Extended] false none [Payment model]
» id string¦null false none Task ID
» invoiceNumber string¦null false none Bank account number
» supplierEmail string¦null false none Vendor email address
» supplierName string¦null false none Vendor name
» supplierType SupplierType(int32) false none Linguist type
» serviceType string¦null false none Service type
» jobDescription string¦null false none Description: the name of a document or project
» unitsType string¦null false none Job unit type
» unitsAmount number(double) false none Job unit count
» customerPricePerUnit number(double) false none Job unit price
» executivePricePerUnit number(double) false none Job unit price without commission
» customerCurrency string¦null false none Price and cost currency
» executiveCurrency string¦null false none Linguist's price and cost currency
» customerCost number(double) false none Total job cost
» executiveCost number(double) false none Total job cost without commission
» externalNumber string¦null false none External payment ID
» supplierId string(uuid)¦null false none Supplier ID
» status JobStatus(int32) false none Payment status
» projectId string(uuid)¦null false none Project ID
» deadline string(date-time)¦null false none Project deadline
» sourceLanguage integer(int32)¦null false none Source language
» targetLanguage integer(int32)¦null false none Target language
» isPaidExternally boolean false none Paid externally
» documentId string¦null false none Document ID
» stageId string¦null false none Workflow stage ID
» verifiedDate string(date-time)¦null false none Дата установки статуса задания в VERIFIED

Enumerated Values

Property Value
supplierType Freelancer
supplierType Company
status InProgress
status InvitationPending
status WaitingForAssignment
status WaitingForPayment
status Verified
status PaidByCustomer
status PaidToFreelancer
status MarkedAsPaid
status InvitationCanceled
status InvitationDeclined

LspPrices

Delete an LSP service price

Code samples

DELETE /api/integration/v1/lsp/prices/{priceId} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/lsp/prices/{priceId}

DELETE /api/integration/v1/lsp/prices/{priceId}

Parameters

Name In Type Required Description
priceId path string true Service price ID

Responses

Status Meaning Description Schema
200 OK Success None

Fetch LSP service prices by ID

Code samples

GET /api/integration/v2/lsp/prices?priceIds=string HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/lsp/prices?priceIds=string \
  -H 'Accept: text/plain'

GET /api/integration/v2/lsp/prices

Parameters

Name In Type Required Description
priceIds query array[string] true The list of service price IDs

Example responses

200 Response

[{"id":"string","serviceId":"string","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","sourceLanguage":"string","targetLanguages":["string"],"pricePerUnit":0,"pricePerUnitCurrency":"string"}]
[
  {
    "id": "string",
    "serviceId": "string",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "sourceLanguage": "string",
    "targetLanguages": [
      "string"
    ],
    "pricePerUnit": 0,
    "pricePerUnitCurrency": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [LspPriceModelV2] false none [LIS service price model]
» id string¦null false none Price ID
» serviceId string¦null false none Service ID
» clientId string(uuid)¦null false none Сlient ID
» sourceLanguage string¦null false none Source language
» targetLanguages [string]¦null false none Target languages
» pricePerUnit number(double)¦null false none Price per unit
» pricePerUnitCurrency string¦null false none Price currency

Create a new LSP service price

Code samples

POST /api/integration/v2/lsp/prices HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v2/lsp/prices \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v2/lsp/prices

Body parameter

{
  "serviceId": "string",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "pricePerUnit": 0,
  "pricePerUnitCurrency": "string"
}

Parameters

Name In Type Required Description
body body LspUpdatePriceModelV2 true Service price creation request

Example responses

200 Response

"string"
"string"

Responses

Status Meaning Description Schema
200 OK Success string

Fetch LSP service prices

Code samples

GET /api/integration/v2/lsp/prices/batch HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/lsp/prices/batch \
  -H 'Accept: text/plain'

GET /api/integration/v2/lsp/prices/batch

Parameters

Name In Type Required Description
lastPriceId query string false Fetch the list of service prices starting from the ID that follows the specified ID
limit query integer(int32) false The required number of results (the default is 100)

Example responses

200 Response

[{"id":"string","serviceId":"string","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","sourceLanguage":"string","targetLanguages":["string"],"pricePerUnit":0,"pricePerUnitCurrency":"string"}]
[
  {
    "id": "string",
    "serviceId": "string",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "sourceLanguage": "string",
    "targetLanguages": [
      "string"
    ],
    "pricePerUnit": 0,
    "pricePerUnitCurrency": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [LspPriceModelV2] false none [LIS service price model]
» id string¦null false none Price ID
» serviceId string¦null false none Service ID
» clientId string(uuid)¦null false none Сlient ID
» sourceLanguage string¦null false none Source language
» targetLanguages [string]¦null false none Target languages
» pricePerUnit number(double)¦null false none Price per unit
» pricePerUnitCurrency string¦null false none Price currency

Create new LSP service prices

Code samples

POST /api/integration/v2/lsp/prices/batch HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v2/lsp/prices/batch \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v2/lsp/prices/batch

Body parameter

[
  {
    "serviceId": "string",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "sourceLanguage": "string",
    "targetLanguages": [
      "string"
    ],
    "pricePerUnit": 0,
    "pricePerUnitCurrency": "string"
  }
]

Parameters

Name In Type Required Description
body body LspUpdatePriceModelV2 true An array of service price creation requests

Example responses

200 Response

[{"id":"string","index":0,"success":true}]
[
  {
    "id": "string",
    "index": 0,
    "success": true
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AddBatchResult] false none [Entity creation result model for batch addition]
» id string¦null false none ID of a created entity
» index integer(int32) false none ID of an entity assigned upon its addition to a batch
» success boolean false none Entity was successfully created

Update an existing LSP service price

Code samples

PUT /api/integration/v2/lsp/prices/{priceId} HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v2/lsp/prices/{priceId} \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v2/lsp/prices/{priceId}

Body parameter

{
  "serviceId": "string",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "pricePerUnit": 0,
  "pricePerUnitCurrency": "string"
}

Parameters

Name In Type Required Description
priceId path string true Service price ID
body body LspUpdatePriceModelV2 true Service price update request

Responses

Status Meaning Description Schema
200 OK Success None

LspService

Delete an LSP service

Code samples

DELETE /api/integration/v1/lsp/services/{serviceId} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/lsp/services/{serviceId}

DELETE /api/integration/v1/lsp/services/{serviceId}

Parameters

Name In Type Required Description
serviceId path string true Service ID

Responses

Status Meaning Description Schema
200 OK Success None

Fetch LSP services by ID

Code samples

GET /api/integration/v2/lsp/services?serviceIds=string HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/lsp/services?serviceIds=string \
  -H 'Accept: text/plain'

GET /api/integration/v2/lsp/services

Parameters

Name In Type Required Description
serviceIds query array[string] true List of service IDs

Example responses

200 Response

[{"id":"string","name":"string","description":"string","serviceTypes":["Translation"],"specializations":["Education"],"workUnitType":"Char"}]
[
  {
    "id": "string",
    "name": "string",
    "description": "string",
    "serviceTypes": [
      "Translation"
    ],
    "specializations": [
      "Education"
    ],
    "workUnitType": "Char"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [LspServiceModelV2] false none [LIS service model]
» id string¦null false none Service ID
» name string¦null false none Service name
» description string¦null false none Service description
» serviceTypes [LspServiceType]¦null false none Provided service types
» specializations [Specialization]¦null false none Specializations
» workUnitType WorkUnitType(int32) false none Linguist's work unit

Enumerated Values

Property Value
workUnitType Char
workUnitType Word
workUnitType Page
workUnitType Hour
workUnitType Minute
workUnitType Document
workUnitType Service
workUnitType Day
workUnitType Month

Create a new LSP service

Code samples

POST /api/integration/v2/lsp/services HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v2/lsp/services \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v2/lsp/services

Body parameter

{
  "name": "string",
  "description": "string",
  "serviceTypes": [
    "Translation"
  ],
  "specializations": [
    "Education"
  ],
  "workUnitType": "Char"
}

Parameters

Name In Type Required Description
body body LspUpdateServiceModelV2 true An array of service creation requests

Example responses

200 Response

"string"
"string"

Responses

Status Meaning Description Schema
200 OK Success string

Fetch LSP services

Code samples

GET /api/integration/v2/lsp/services/batch?lastServiceId=string&limit=100 HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/lsp/services/batch?lastServiceId=string&limit=100 \
  -H 'Accept: text/plain'

GET /api/integration/v2/lsp/services/batch

Parameters

Name In Type Required Description
lastServiceId query string true Fetch the list of services starting from the ID that follows the specified ID
limit query integer(int32) true The required number of results (the default is 100)

Example responses

200 Response

[{"id":"string","name":"string","description":"string","serviceTypes":["Translation"],"specializations":["Education"],"workUnitType":"Char"}]
[
  {
    "id": "string",
    "name": "string",
    "description": "string",
    "serviceTypes": [
      "Translation"
    ],
    "specializations": [
      "Education"
    ],
    "workUnitType": "Char"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [LspServiceModelV2] false none [LIS service model]
» id string¦null false none Service ID
» name string¦null false none Service name
» description string¦null false none Service description
» serviceTypes [LspServiceType]¦null false none Provided service types
» specializations [Specialization]¦null false none Specializations
» workUnitType WorkUnitType(int32) false none Linguist's work unit

Enumerated Values

Property Value
workUnitType Char
workUnitType Word
workUnitType Page
workUnitType Hour
workUnitType Minute
workUnitType Document
workUnitType Service
workUnitType Day
workUnitType Month

Create new LSP services

Code samples

POST /api/integration/v2/lsp/services/batch HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v2/lsp/services/batch \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v2/lsp/services/batch

Body parameter

[
  {
    "name": "string",
    "description": "string",
    "serviceTypes": [
      "Translation"
    ],
    "specializations": [
      "Education"
    ],
    "workUnitType": "Char"
  }
]

Parameters

Name In Type Required Description
body body LspUpdateServiceModelV2 true An array of service creation requests

Example responses

200 Response

[{"id":"string","index":0,"success":true}]
[
  {
    "id": "string",
    "index": 0,
    "success": true
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [AddBatchResult] false none [Entity creation result model for batch addition]
» id string¦null false none ID of a created entity
» index integer(int32) false none ID of an entity assigned upon its addition to a batch
» success boolean false none Entity was successfully created

Update an existing LSP service

Code samples

PUT /api/integration/v2/lsp/services/{serviceId} HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v2/lsp/services/{serviceId} \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v2/lsp/services/{serviceId}

Body parameter

{
  "name": "string",
  "description": "string",
  "serviceTypes": [
    "Translation"
  ],
  "specializations": [
    "Education"
  ],
  "workUnitType": "Char"
}

Parameters

Name In Type Required Description
serviceId path string true Service ID
body body LspUpdateServiceModelV2 true Service update request

Responses

Status Meaning Description Schema
200 OK Success None

MyTeam

Fetch a MyTeam member model by ID

Code samples

GET /api/integration/v1/account/myTeam/{userId} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/account/myTeam/{userId} \
  -H 'Accept: text/plain'

GET /api/integration/v1/account/myTeam/{userId}

Parameters

Name In Type Required Description
userId path string true User ID

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","email":"string","firstName":"string","lastName":"string","externalId":"string","services":[{"serviceType":"Translation","sourceLanguage":"string","targetLanguage":"string","pricePerUnit":0,"performancePerDay":0,"currency":"string","specializations":["Education"]}],"clientIds":["497f6eca-6276-4993-bfeb-53cbbbba6f08"],"customFields":{"property1":"string","property2":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "externalId": "string",
  "services": [
    {
      "serviceType": "Translation",
      "sourceLanguage": "string",
      "targetLanguage": "string",
      "pricePerUnit": 0,
      "performancePerDay": 0,
      "currency": "string",
      "specializations": [
        "Education"
      ]
    }
  ],
  "clientIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "customFields": {
    "property1": "string",
    "property2": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed MyTeamMemberModel
404 Not Found User not found None

Delete the user from MyTeam

Code samples

DELETE /api/integration/v1/account/myTeam/{userId} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/account/myTeam/{userId}

DELETE /api/integration/v1/account/myTeam/{userId}

Parameters

Name In Type Required Description
userId path string true User ID

Responses

Status Meaning Description Schema
204 No Content Request has been successfully completed None

Fetch a MyTeam member model by external ID

Code samples

GET /api/integration/v1/account/myTeam HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/account/myTeam \
  -H 'Accept: text/plain'

GET /api/integration/v1/account/myTeam

Parameters

Name In Type Required Description
externalId query string false User external ID

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","email":"string","firstName":"string","lastName":"string","externalId":"string","services":[{"serviceType":"Translation","sourceLanguage":"string","targetLanguage":"string","pricePerUnit":0,"performancePerDay":0,"currency":"string","specializations":["Education"]}],"clientIds":["497f6eca-6276-4993-bfeb-53cbbbba6f08"],"customFields":{"property1":"string","property2":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "externalId": "string",
  "services": [
    {
      "serviceType": "Translation",
      "sourceLanguage": "string",
      "targetLanguage": "string",
      "pricePerUnit": 0,
      "performancePerDay": 0,
      "currency": "string",
      "specializations": [
        "Education"
      ]
    }
  ],
  "clientIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "customFields": {
    "property1": "string",
    "property2": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed MyTeamMemberModel
404 Not Found User not found None

Add an in-house translator to MyTeam as a linguist

Code samples

POST /api/integration/v1/account/myTeam HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/account/myTeam \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/account/myTeam

Body parameter

{
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "externalId": "string",
  "services": [
    {
      "serviceType": "Translation",
      "sourceLanguage": "string",
      "targetLanguage": "string",
      "pricePerUnit": 0,
      "performancePerDay": 0,
      "currency": "string",
      "specializations": [
        "Education"
      ]
    }
  ],
  "clientIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Parameters

Name In Type Required Description
body body InhouseTranslatorCreationModel false Model of adding an in-house translator as a linguist

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","email":"string","firstName":"string","lastName":"string","externalId":"string","services":[{"serviceType":"Translation","sourceLanguage":"string","targetLanguage":"string","pricePerUnit":0,"performancePerDay":0,"currency":"string","specializations":["Education"]}],"clientIds":["497f6eca-6276-4993-bfeb-53cbbbba6f08"],"customFields":{"property1":"string","property2":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "externalId": "string",
  "services": [
    {
      "serviceType": "Translation",
      "sourceLanguage": "string",
      "targetLanguage": "string",
      "pricePerUnit": 0,
      "performancePerDay": 0,
      "currency": "string",
      "specializations": [
        "Education"
      ]
    }
  ],
  "clientIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "customFields": {
    "property1": "string",
    "property2": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed MyTeamMemberModel
400 Bad Request Provided information is incorrect None
404 Not Found Unable to find an account connected to the integration API None
409 Conflict A linguist with the provided email or external ID is already added to the team None

Search for linguists in MyTeam

Code samples

POST /api/integration/v1/account/searchMyTeam HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/account/searchMyTeam \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/account/searchMyTeam

Body parameter

{
  "skip": 0,
  "limit": 0,
  "serviceType": "Translation",
  "sourceLanguage": "string",
  "targetLanguage": "string",
  "onlyNativeSpeakers": true,
  "allDialects": true,
  "minRate": 0,
  "maxRate": 0,
  "rateRangeCurrency": "string",
  "specializations": [
    "Education"
  ],
  "specializationKnowledgeLevel": [
    "Tested"
  ],
  "searchString": "string",
  "daytime": true
}

Parameters

Name In Type Required Description
body body MyTeamSearchRequestModel false Linguist search model

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","email":"string","firstName":"string","lastName":"string","externalId":"string","services":[{"serviceType":"Translation","sourceLanguage":"string","targetLanguage":"string","pricePerUnit":0,"performancePerDay":0,"currency":"string","specializations":["Education"]}],"clientIds":["497f6eca-6276-4993-bfeb-53cbbbba6f08"],"customFields":{"property1":"string","property2":"string"}}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "email": "string",
    "firstName": "string",
    "lastName": "string",
    "externalId": "string",
    "services": [
      {
        "serviceType": "Translation",
        "sourceLanguage": "string",
        "targetLanguage": "string",
        "pricePerUnit": 0,
        "performancePerDay": 0,
        "currency": "string",
        "specializations": [
          "Education"
        ]
      }
    ],
    "clientIds": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "customFields": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
400 Bad Request Returns if:

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [MyTeamMemberModel] false none [MyTeam member model]
» id string(uuid) false none ID
» email string¦null false none Email
» firstName string¦null false none Name
» lastName string¦null false none Last name
» externalId string¦null false none MyTeam member ID in an external system
» services [ServiceModel]¦null false none MyTeam member services
»» serviceType FreelancerServiceType(int32) false none Freelancer service type
»» sourceLanguage string¦null false none Source language
»» targetLanguage string¦null false none Target language
»» pricePerUnit number(double)¦null false none Price per unit
»» performancePerDay number(double)¦null false none User's daily performance per service
»» currency string¦null false none Currency
»» specializations [Specialization]¦null false none Specializations for a written service
» clientIds [string]¦null false none Clients associated with the user
» customFields object¦null false none Custom fields
»» additionalProperties string false none none

Enumerated Values

Property Value
serviceType Translation
serviceType Editing
serviceType Proofreading
serviceType Postediting
serviceType PageProof
serviceType GlossaryCreation
serviceType SimultaneousTranslation
serviceType ConsecutiveTranslation
serviceType MediaTranslation
serviceType ExpertReview
serviceType ProjectManagement
serviceType TranslationMemoryCreation
serviceType Copywriting
serviceType Training
serviceType Transcription
serviceType Notarization
serviceType CertifiedTranslation
serviceType Transcreation
serviceType Legalization

Replace all services in a MyTeam profile

Code samples

POST /api/integration/v1/account/myTeam/{userId}/services/replace HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/account/myTeam/{userId}/services/replace \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/account/myTeam/{userId}/services/replace

Body parameter

{
  "services": [
    {
      "serviceType": "Translation",
      "sourceLanguage": "string",
      "targetLanguage": "string",
      "pricePerUnit": 0,
      "performancePerDay": 0,
      "currency": "string",
      "specializations": [
        "Education"
      ]
    }
  ]
}

Parameters

Name In Type Required Description
userId path string true User ID
body body ReplaceServicesModel false All service replacement model

Responses

Status Meaning Description Schema
204 No Content Request has been successfully completed None
400 Bad Request Provided information is incorrect None
404 Not Found User not found None

Add a MyTeam member's phone number

Code samples

PUT /api/integration/v1/account/myTeam/{userId}/phone HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v1/account/myTeam/{userId}/phone \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v1/account/myTeam/{userId}/phone

Body parameter

"string"

Parameters

Name In Type Required Description
userId path string true User ID
body body string false Phone number

Responses

Status Meaning Description Schema
204 No Content Request has been successfully completed None
404 Not Found User not found None

Add a comment to a MyTeam member profile

Code samples

PUT /api/integration/v1/account/myTeam/{userId}/comment HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v1/account/myTeam/{userId}/comment \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v1/account/myTeam/{userId}/comment

Body parameter

"string"

Parameters

Name In Type Required Description
userId path string true User ID
body body string false Commentary

Responses

Status Meaning Description Schema
204 No Content Request has been successfully completed None
400 Bad Request Comment length exceeds 500 characters None
404 Not Found User not found None

PlaceholderFormatApi

Fetch all placeholder formats available in the current account

Code samples

GET /api/integration/v1/placeholders HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/placeholders \
  -H 'Accept: text/plain'

GET /api/integration/v1/placeholders

Example responses

200 Response

[{"regex":"string"}]
[
  {
    "regex": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [PlaceholderFormatModel] false none [Model for applying a placeholder format to a client]
» regex string¦null false none Placeholder format regular expression

Save placeholder formats set for the specified account

Code samples

PUT /api/integration/v1/placeholders HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v1/placeholders \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v1/placeholders

Body parameter

[
  {
    "regex": "string"
  }
]

Parameters

Name In Type Required Description
body body PlaceholderFormatModel false Placeholder formats list

Responses

Status Meaning Description Schema
204 No Content Success None

Validate the provided placeholder format

Code samples

GET /api/integration/v1/placeholders/validate HTTP/1.1

# You can also use wget
curl -X GET /api/integration/v1/placeholders/validate

GET /api/integration/v1/placeholders/validate

Parameters

Name In Type Required Description
format query string false Placeholder format regular expression

Responses

Status Meaning Description Schema
204 No Content Success None

Project

Receive the project model

Code samples

GET /api/integration/v1/project/{projectId} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/{projectId} \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/{projectId}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","name":"string","description":"string","deadline":"2019-08-24T14:15:22Z","creationDate":"2019-08-24T14:15:22Z","createdByUserId":"4d2aef9a-17b0-44e6-902e-616812033620","createdByUserEmail":"string","modificationDate":"2019-08-24T14:15:22Z","sourceLanguageId":0,"sourceLanguage":"string","targetLanguages":["string"],"status":"Created","statusModificationDate":"2019-08-24T14:15:22Z","domainId":0,"clientId":"5e505642-9024-474d-9434-e5a44f505cc5","vendors":[{"vendorAccountId":"89da8c26-077c-44e3-a99b-ccbc594d33b7","removedFromProject":true,"cost":{"value":0,"currency":"string","accuracyDegree":"EstimatedByWordsCount","detailsFileName":"string","paymentStatus":"NotPaid"},"costDetailsFileId":"b35a8b45-ee23-4875-8b3a-5c76beeb080f"}],"workflowStages":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","progress":0,"stageType":"Translation"}],"documents":[{"id":"string","name":"string","fullPath":"string","filename":"string","creationDate":"2019-08-24T14:15:22Z","deadline":"2019-08-24T14:15:22Z","sourceLanguage":"string","documentDisassemblingStatus":"InProgress","targetLanguage":"string","status":"Created","wordsCount":0,"statusModificationDate":"2019-08-24T14:15:22Z","pretranslateCompleted":true,"workflowStages":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","progress":0,"wordsTranslated":0,"unassignedWordsCount":0,"status":"NotAssigned","statusModificationDate":"2019-08-24T14:15:22Z","executives":[{"assignedWordsCount":0,"progress":0,"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","supplierType":"Freelancer"}],"vendor":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","customFields":{"property1":"string","property2":"string"}}}],"externalId":"string","metaInfo":"string","placeholdersAreEnabled":true,"revisionLabel":"string"}],"externalTag":"string","specializations":["Education"],"managers":["string"],"number":"string","customFields":{"property1":"string","property2":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  "name": "string",
  "description": "string",
  "deadline": "2019-08-24T14:15:22Z",
  "creationDate": "2019-08-24T14:15:22Z",
  "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
  "createdByUserEmail": "string",
  "modificationDate": "2019-08-24T14:15:22Z",
  "sourceLanguageId": 0,
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "status": "Created",
  "statusModificationDate": "2019-08-24T14:15:22Z",
  "domainId": 0,
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "vendors": [
    {
      "vendorAccountId": "89da8c26-077c-44e3-a99b-ccbc594d33b7",
      "removedFromProject": true,
      "cost": {
        "value": 0,
        "currency": "string",
        "accuracyDegree": "EstimatedByWordsCount",
        "detailsFileName": "string",
        "paymentStatus": "NotPaid"
      },
      "costDetailsFileId": "b35a8b45-ee23-4875-8b3a-5c76beeb080f"
    }
  ],
  "workflowStages": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "progress": 0,
      "stageType": "Translation"
    }
  ],
  "documents": [
    {
      "id": "string",
      "name": "string",
      "fullPath": "string",
      "filename": "string",
      "creationDate": "2019-08-24T14:15:22Z",
      "deadline": "2019-08-24T14:15:22Z",
      "sourceLanguage": "string",
      "documentDisassemblingStatus": "InProgress",
      "targetLanguage": "string",
      "status": "Created",
      "wordsCount": 0,
      "statusModificationDate": "2019-08-24T14:15:22Z",
      "pretranslateCompleted": true,
      "workflowStages": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "progress": 0,
          "wordsTranslated": 0,
          "unassignedWordsCount": 0,
          "status": "NotAssigned",
          "statusModificationDate": "2019-08-24T14:15:22Z",
          "executives": [
            {
              "assignedWordsCount": 0,
              "progress": 0,
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "supplierType": "Freelancer"
            }
          ],
          "vendor": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "name": "string",
            "customFields": {
              "property1": "string",
              "property2": "string"
            }
          }
        }
      ],
      "externalId": "string",
      "metaInfo": "string",
      "placeholdersAreEnabled": true,
      "revisionLabel": "string"
    }
  ],
  "externalTag": "string",
  "specializations": [
    "Education"
  ],
  "managers": [
    "string"
  ],
  "number": "string",
  "customFields": {
    "property1": "string",
    "property2": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed ProjectModel
400 Bad Request The specified project ID's format is incorrect None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Update a project by ID

Code samples

PUT /api/integration/v1/project/{projectId} HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v1/project/{projectId} \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v1/project/{projectId}

Body parameter

{
  "name": "string",
  "description": "string",
  "deadline": "2019-08-24T14:15:22Z",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "domainId": 0,
  "vendorAccountIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "externalTag": "string",
  "specializations": [
    "Education"
  ],
  "workflowStages": [
    "Translation"
  ],
  "customFieldValues": {
    "property1": "string",
    "property2": "string"
  }
}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
body body ProjectChangesModel true Project changes model

Responses

Status Meaning Description Schema
204 No Content The project has been successfully updated None
400 Bad Request - The provided project model is empty None
403 Forbidden The project is not associated with the account or an attempt is made to modify the vendor when the work on the project has already started None
404 Not Found The provided project ID does not exist None
409 Conflict The new name will not be unique in the project None

Delete the project

Code samples

DELETE /api/integration/v1/project/{projectId} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/project/{projectId}

DELETE /api/integration/v1/project/{projectId}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Responses

Status Meaning Description Schema
204 No Content The project has been successfully deleted None
400 Bad Request The specified project ID's format is incorrect None
403 Forbidden The project is not associated with the account None

(This method is obsolete and has been replaced with /api/integration/v2/project/list)

Fetch the list of account projects

Code samples

GET /api/integration/v1/project/list HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/list \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/list

Parameters

Name In Type Required Description
createdByUserId query string(uuid) false ID of the user who created the project
assignedToUserId query string(uuid) false User ID for filtering by assignment
projectName query string false Partial project name
externalTag query string false Partial external tag of the project
clientIds query array[string] false Comma-separated client IDs

Example responses

200 Response

{}
{}

Responses

Status Meaning Description Schema
200 OK Request completed successfully IAsyncEnumerable
400 Bad Request Incorrect parameter format None
403 Forbidden Some of the provided clients do not exist in the account None

Fetch the list of account projects

Code samples

GET /api/integration/v2/project/list HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/project/list \
  -H 'Accept: text/plain'

GET /api/integration/v2/project/list

Parameters

Name In Type Required Description
createdByUserId query string(uuid) false ID of the user who created the project
assignedToUserId query string(uuid) false User ID for filtering by assignment
projectName query string false Partial project name
externalTag query string false Partial external tag of the project
clientIds query array[string] false Comma-separated client IDs
offset query integer(int32) false Number of skipped items
limit query integer(int32) false Maximum returned items (not more than 100)

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","name":"string","description":"string","deadline":"2019-08-24T14:15:22Z","creationDate":"2019-08-24T14:15:22Z","createdByUserId":"4d2aef9a-17b0-44e6-902e-616812033620","createdByUserEmail":"string","modificationDate":"2019-08-24T14:15:22Z","sourceLanguageId":0,"sourceLanguage":"string","targetLanguages":["string"],"status":"Created","statusModificationDate":"2019-08-24T14:15:22Z","domainId":0,"clientId":"5e505642-9024-474d-9434-e5a44f505cc5","vendors":[{"vendorAccountId":"89da8c26-077c-44e3-a99b-ccbc594d33b7","removedFromProject":true,"cost":{"value":0,"currency":"string","accuracyDegree":"EstimatedByWordsCount","detailsFileName":"string","paymentStatus":"NotPaid"},"costDetailsFileId":"b35a8b45-ee23-4875-8b3a-5c76beeb080f"}],"workflowStages":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","progress":0,"stageType":"Translation"}],"documents":[{"id":"string","name":"string","fullPath":"string","filename":"string","creationDate":"2019-08-24T14:15:22Z","deadline":"2019-08-24T14:15:22Z","sourceLanguage":"string","documentDisassemblingStatus":"InProgress","targetLanguage":"string","status":"Created","wordsCount":0,"statusModificationDate":"2019-08-24T14:15:22Z","pretranslateCompleted":true,"workflowStages":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","progress":0,"wordsTranslated":0,"unassignedWordsCount":0,"status":"NotAssigned","statusModificationDate":"2019-08-24T14:15:22Z","executives":[{"assignedWordsCount":0,"progress":0,"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","supplierType":"Freelancer"}],"vendor":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","customFields":{"property1":"string","property2":"string"}}}],"externalId":"string","metaInfo":"string","placeholdersAreEnabled":true,"revisionLabel":"string"}],"externalTag":"string","specializations":["Education"],"managers":["string"],"number":"string","customFields":{"property1":"string","property2":"string"}}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
    "name": "string",
    "description": "string",
    "deadline": "2019-08-24T14:15:22Z",
    "creationDate": "2019-08-24T14:15:22Z",
    "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
    "createdByUserEmail": "string",
    "modificationDate": "2019-08-24T14:15:22Z",
    "sourceLanguageId": 0,
    "sourceLanguage": "string",
    "targetLanguages": [
      "string"
    ],
    "status": "Created",
    "statusModificationDate": "2019-08-24T14:15:22Z",
    "domainId": 0,
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "vendors": [
      {
        "vendorAccountId": "89da8c26-077c-44e3-a99b-ccbc594d33b7",
        "removedFromProject": true,
        "cost": {
          "value": 0,
          "currency": "string",
          "accuracyDegree": "EstimatedByWordsCount",
          "detailsFileName": "string",
          "paymentStatus": "NotPaid"
        },
        "costDetailsFileId": "b35a8b45-ee23-4875-8b3a-5c76beeb080f"
      }
    ],
    "workflowStages": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "progress": 0,
        "stageType": "Translation"
      }
    ],
    "documents": [
      {
        "id": "string",
        "name": "string",
        "fullPath": "string",
        "filename": "string",
        "creationDate": "2019-08-24T14:15:22Z",
        "deadline": "2019-08-24T14:15:22Z",
        "sourceLanguage": "string",
        "documentDisassemblingStatus": "InProgress",
        "targetLanguage": "string",
        "status": "Created",
        "wordsCount": 0,
        "statusModificationDate": "2019-08-24T14:15:22Z",
        "pretranslateCompleted": true,
        "workflowStages": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "progress": 0,
            "wordsTranslated": 0,
            "unassignedWordsCount": 0,
            "status": "NotAssigned",
            "statusModificationDate": "2019-08-24T14:15:22Z",
            "executives": [
              {
                "assignedWordsCount": 0,
                "progress": 0,
                "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                "supplierType": "Freelancer"
              }
            ],
            "vendor": {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "name": "string",
              "customFields": {
                "property1": "string",
                "property2": "string"
              }
            }
          }
        ],
        "externalId": "string",
        "metaInfo": "string",
        "placeholdersAreEnabled": true,
        "revisionLabel": "string"
      }
    ],
    "externalTag": "string",
    "specializations": [
      "Education"
    ],
    "managers": [
      "string"
    ],
    "number": "string",
    "customFields": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Request completed successfully Inline
400 Bad Request Incorrect parameter format None
403 Forbidden Some of the provided clients do not exist in the account None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProjectModel] false none [Project model]
» id string(uuid) false none Project ID
» accountId string(uuid) false none Account ID
» name string¦null false none Project name
» description string¦null false none Project description
» deadline string(date-time)¦null false none Project deadline
» creationDate string(date-time) false none Creation date
» createdByUserId string(uuid)¦null false none User ID of the project creator
» createdByUserEmail string¦null false none Email of the project creator
» modificationDate string(date-time) false none Last modification date
» sourceLanguageId integer(int32) false none Project source language code
» sourceLanguage string¦null false none Project source language
» targetLanguages [string]¦null false none Project target languages
» status ProjectStatus(int32) false none Project status
» statusModificationDate string(date-time)¦null false none Last status change date (including the status of the OnApproval and CancelledBy attributes)
» domainId integer(int32)¦null false none Project group ID
» clientId string(uuid)¦null false none Сlient ID
» vendors [ProjectVendorModel]¦null false none Project vendors
»» vendorAccountId string(uuid) false none Vendor account ID
»» removedFromProject boolean false none Removed from the project
»» cost ProjectCostModel false none Project cost model
»»» value number(double)¦null false read-only Cost
»»» currency string¦null false read-only Currency
»»» accuracyDegree ProjectQuoteAccuracyDegree(int32) false none none
»»» detailsFileName string¦null false read-only Quote file name
»»» paymentStatus QuotePaymentStatus(int32) false none none
»» costDetailsFileId string(uuid)¦null false read-only Quote ID
» workflowStages [ProjectWorkflowStageModel]¦null false none Project workflow stages
»» id string(uuid) false none ID
»» progress number(double) false none Completion percentage
»» stageType StageType(int32) false none Workflow stage type
» documents [DocumentModel]¦null false none Project task
»» id string¦null false none Document ID
»» name string¦null false none Document name
»» fullPath string¦null false none Full path to the document in the project
»» filename string¦null false none Source file name, including the extension
»» creationDate string(date-time) false none Creation date
»» deadline string(date-time)¦null false none Document translation deadline
»» sourceLanguage string¦null false none Source language
»» documentDisassemblingStatus DocumentDisassemblingStatus(int32) false none Document disassembly status
»» targetLanguage string¦null false none Target language
»» status DocumentStatus(int32) false none Document status
»» wordsCount integer(int32) false none Word count in the source text
»» statusModificationDate string(date-time)¦null false none Late of the last status change
»» pretranslateCompleted boolean false none Specifies whether pretranslation has completed, if ordered
»» workflowStages [DocumentWorkflowStageModel]¦null false none Workflow stages for the document
»»» id string(uuid) false none ID
»»» progress number(double) false none Completion percentage
»»» wordsTranslated integer(int32) false none Translated words count
»»» unassignedWordsCount integer(int32) false none Unassigned words count
»»» status WorkflowStageStatus(int32) false none Workflow stage status
»»» statusModificationDate string(date-time)¦null false none Status change date
»»» executives [AssignedExecutiveModel]¦null false none Assigned linguists
»»»» assignedWordsCount integer(int32) false none Assigned word count
»»»» progress number(double) false none Completion percentage
»»»» id string(uuid) false none User ID
»»»» supplierType SupplierType(int32) false none Linguist type
»»» vendor VendorModel false none Vendor model
»»»» id string(uuid) false none ID
»»»» name string¦null false none Company name
»»»» customFields object¦null false none Custom fields
»»»»» additionalProperties string false none none
»» externalId string¦null false none External identifier assigned by the client upon the document creation
»» metaInfo string¦null false none Additional user information about the document
»» placeholdersAreEnabled boolean false none Specifies whether placeholders are enabled for the document
»» revisionLabel string¦null false none Document version ID label
» externalTag string¦null false none External system tag
» specializations [Specialization]¦null false none Specializations
» managers [string]¦null false none Managers
» number string¦null false none Project number
» customFields object¦null false none Custom fields
»» additionalProperties string false none none

Enumerated Values

Property Value
status Created
status InProgress
status Completed
status Canceled
accuracyDegree EstimatedByWordsCount
accuracyDegree EstimatedByTmMatches
accuracyDegree AutoCalculatedExact
accuracyDegree ManuallyEntered
paymentStatus NotPaid
paymentStatus Paid
paymentStatus AwaitingPayment
stageType Translation
stageType Editing
stageType Proofreading
stageType Postediting
stageType FinalPageProof
stageType Notarization
stageType CertifiedTranslation
stageType Transcreation
stageType Legalization
stageType PreliminaryPageProof
documentDisassemblingStatus InProgress
documentDisassemblingStatus Error
documentDisassemblingStatus Success
status Created
status InProgress
status Completed
status Updated
status TargetUpdated
status NotAssigned
status Assigned
status InProgress
status Completed
supplierType Freelancer
supplierType Company

(This method is obsolete and has been replaced with /api/integration/v2/project/{projectId}/statistics)

Fetch project statistics

Code samples

GET /api/integration/v1/project/{projectId}/statistics HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/{projectId}/statistics \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/{projectId}/statistics

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
onlyExactMatches query boolean false Specifies whether returning 100% and higher matches will suffice

Example responses

200 Response

{"property1":{"statistics":[{"name":"Perfect","words":0,"percent":0,"segments":0,"pages":0,"charsWithoutSpaces":0,"charsWithSpaces":0,"effectiveWordsForBilling":0}]},"property2":{"statistics":[{"name":"Perfect","words":0,"percent":0,"segments":0,"pages":0,"charsWithoutSpaces":0,"charsWithSpaces":0,"effectiveWordsForBilling":0}]}}
{
  "property1": {
    "statistics": [
      {
        "name": "Perfect",
        "words": 0,
        "percent": 0,
        "segments": 0,
        "pages": 0,
        "charsWithoutSpaces": 0,
        "charsWithSpaces": 0,
        "effectiveWordsForBilling": 0
      }
    ]
  },
  "property2": {
    "statistics": [
      {
        "name": "Perfect",
        "words": 0,
        "percent": 0,
        "segments": 0,
        "pages": 0,
        "charsWithoutSpaces": 0,
        "charsWithSpaces": 0,
        "effectiveWordsForBilling": 0
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» additionalProperties ProjectStatisticsObsoleteModel false none Project statistics model for a specific target language
»» statistics [StatisticsRowModel]¦null false none Detailed statistics
»»» name StatisticsFieldName(int32) false none Statistics field names
»»» words integer(int64) false none Words
»»» percent number(double) false none Percent
»»» segments integer(int32) false none Segments
»»» pages number(double) false none Pages
»»» charsWithoutSpaces integer(int64) false none Chars Without Spaces
»»» charsWithSpaces integer(int64) false none Chars With Spaces
»»» effectiveWordsForBilling number(double)¦null false none Effective word count

Enumerated Values

Property Value
name Perfect
name CrossFileRepeated
name Total
name Repetitions
name NewWords
name Match_50_74
name Match_75_84
name Match_85_94
name Match_95_99
name Match_100
name ContextMatch_101
name ContextMatch_102

Fetch project statistics

Code samples

GET /api/integration/v2/project/{projectId}/statistics HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/project/{projectId}/statistics \
  -H 'Accept: text/plain'

GET /api/integration/v2/project/{projectId}/statistics

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
onlyExactMatches query boolean false Specifies whether returning 100% and higher matches will suffice (the default is false)

Example responses

200 Response

[{"language":"string","statistics":[{"name":"Perfect","words":0,"percent":0,"segments":0,"pages":0,"charsWithoutSpaces":0,"charsWithSpaces":0,"effectiveWordsForBilling":0}],"documents":[{"name":"string","statistics":[{"name":"Perfect","words":0,"percent":0,"segments":0,"pages":0,"charsWithoutSpaces":0,"charsWithSpaces":0,"effectiveWordsForBilling":0}]}]}]
[
  {
    "language": "string",
    "statistics": [
      {
        "name": "Perfect",
        "words": 0,
        "percent": 0,
        "segments": 0,
        "pages": 0,
        "charsWithoutSpaces": 0,
        "charsWithSpaces": 0,
        "effectiveWordsForBilling": 0
      }
    ],
    "documents": [
      {
        "name": "string",
        "statistics": [
          {
            "name": "Perfect",
            "words": 0,
            "percent": 0,
            "segments": 0,
            "pages": 0,
            "charsWithoutSpaces": 0,
            "charsWithSpaces": 0,
            "effectiveWordsForBilling": 0
          }
        ]
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
202 Accepted Statistics creation is in progress None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None
422 Unprocessable Entity One or multiple project documents could not be disassembled None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProjectStatisticsModel] false none [Project statistics model for a specific target language]
» language string¦null false none Target language
» statistics [StatisticsRowModel]¦null false none Detailed statistics
»» name StatisticsFieldName(int32) false none Statistics field names
»» words integer(int64) false none Words
»» percent number(double) false none Percent
»» segments integer(int32) false none Segments
»» pages number(double) false none Pages
»» charsWithoutSpaces integer(int64) false none Chars Without Spaces
»» charsWithSpaces integer(int64) false none Chars With Spaces
»» effectiveWordsForBilling number(double)¦null false none Effective word count
» documents [DocumentStatisticsModel]¦null false none Statistics per document
»» name string¦null false none Name of the document for which statistics are collected
»» statistics [StatisticsRowModel]¦null false none Statistics regarding the work done for the project

Enumerated Values

Property Value
name Perfect
name CrossFileRepeated
name Total
name Repetitions
name NewWords
name Match_50_74
name Match_75_84
name Match_85_94
name Match_95_99
name Match_100
name ContextMatch_101
name ContextMatch_102

Receive statistics for the completed parts of the project

Code samples

GET /api/integration/v1/project/{projectId}/completedWorkStatistics HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/{projectId}/completedWorkStatistics \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/{projectId}/completedWorkStatistics

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Example responses

200 Response

[{"executive":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","supplierType":"Freelancer"},"stageType":"string","stageNumber":0,"targetLanguage":"string","total":[{"name":"Perfect","words":0,"percent":0,"segments":0,"pages":0,"charsWithoutSpaces":0,"charsWithSpaces":0,"effectiveWordsForBilling":0}],"documents":[{"name":"string","statistics":[{"name":"Perfect","words":0,"percent":0,"segments":0,"pages":0,"charsWithoutSpaces":0,"charsWithSpaces":0,"effectiveWordsForBilling":0}]}]}]
[
  {
    "executive": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "supplierType": "Freelancer"
    },
    "stageType": "string",
    "stageNumber": 0,
    "targetLanguage": "string",
    "total": [
      {
        "name": "Perfect",
        "words": 0,
        "percent": 0,
        "segments": 0,
        "pages": 0,
        "charsWithoutSpaces": 0,
        "charsWithSpaces": 0,
        "effectiveWordsForBilling": 0
      }
    ],
    "documents": [
      {
        "name": "string",
        "statistics": [
          {
            "name": "Perfect",
            "words": 0,
            "percent": 0,
            "segments": 0,
            "pages": 0,
            "charsWithoutSpaces": 0,
            "charsWithSpaces": 0,
            "effectiveWordsForBilling": 0
          }
        ]
      }
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ExecutiveStatisticsModel] false none [Statistics model covering the work accomplished for the project by a specific user, the workflow stage, and the target language]
» executive ExecutiveModel false none Linguist details
»» id string(uuid) false none User ID
»» supplierType SupplierType(int32) false none Linguist type
» stageType string¦null false none Stage name
» stageNumber integer(int32) false none Stage number
» targetLanguage string¦null false none Target language
» total [StatisticsRowModel]¦null false none Statistics summary for all documents
»» name StatisticsFieldName(int32) false none Statistics field names
»» words integer(int64) false none Words
»» percent number(double) false none Percent
»» segments integer(int32) false none Segments
»» pages number(double) false none Pages
»» charsWithoutSpaces integer(int64) false none Chars Without Spaces
»» charsWithSpaces integer(int64) false none Chars With Spaces
»» effectiveWordsForBilling number(double)¦null false none Effective word count
» documents [DocumentStatisticsModel]¦null false none Statistics per document
»» name string¦null false none Name of the document for which statistics are collected
»» statistics [StatisticsRowModel]¦null false none Statistics regarding the work done for the project

Enumerated Values

Property Value
supplierType Freelancer
supplierType Company
name Perfect
name CrossFileRepeated
name Total
name Repetitions
name NewWords
name Match_50_74
name Match_75_84
name Match_85_94
name Match_95_99
name Match_100
name ContextMatch_101
name ContextMatch_102

Receive a list of the TMs plugged into the project

Code samples

GET /api/integration/v1/project/{projectId}/translationmemories HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/{projectId}/translationmemories \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/{projectId}/translationmemories

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","matchThreshold":0,"targetLanguageId":0,"isWritable":true}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "matchThreshold": 0,
    "targetLanguageId": 0,
    "isWritable": true
  }
]

Responses

Status Meaning Description Schema
200 OK TM IDs collection is empty Inline
404 Not Found The project with the specified ID was not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProjectTranslationMemoryModel] false none [Project TM creation model]
» id string(uuid) false none TM ID
» matchThreshold integer(int32) false none Match threshold
» targetLanguageId integer(int32)¦null false none TM language (null, if the TM is applied to the entire project)
» isWritable boolean false none TM is writable for confirmed segments

Recreate the set of TMs plugged into the project.

The set of TMs is identical for all target languages of the project.

Code samples

POST /api/integration/v1/project/{projectId}/translationmemories HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/project/{projectId}/translationmemories \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/project/{projectId}/translationmemories

Body parameter

[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "matchThreshold": 0,
    "isWritable": true
  }
]

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
onlyExactSourceLanguageMatch query boolean false Specifies whether exact matches in the source language are required (the default is false)
onlyExactTargetLanguageMatch query boolean false Specifies whether exact matches in the target language are required (the default is false)
body body TranslationMemoryForProjectModel true Collection of TMs

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed None
400 Bad Request Returns if:

Fetch the list of glossaries plugged into the project

Code samples

GET /api/integration/v1/project/{projectId}/glossaries HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/{projectId}/glossaries \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/{projectId}/glossaries

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","description":"string","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","languages":["string"],"units":0,"unitsPending":0}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "description": "string",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "languages": [
      "string"
    ],
    "units": 0,
    "unitsPending": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
403 Forbidden The project is associated with another account None
404 Not Found Project not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [GlossaryModel] false none [Glossary]
» id string(uuid) false none Glossary ID
» name string¦null false none Glossary name
» description string¦null false none Glossary description
» clientId string(uuid)¦null false none Client ID, if a glossary client is specified
» languages [string]¦null false none Glossary language codes
» units integer(int32) false none Glossary unit count
» unitsPending integer(int32) false none Pending unit count

Set a collection of glossaries plugged into the project

Code samples

PUT /api/integration/v1/project/{projectId}/glossaries HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v1/project/{projectId}/glossaries \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v1/project/{projectId}/glossaries

Body parameter

[
  "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
body body array[string] true Array of glossary IDs

Responses

Status Meaning Description Schema
204 No Content Request has been successfully completed None
400 Bad Request A provided glossary does not match any language pair in the project None
403 Forbidden The project is associated with another account None
404 Not Found The provided IDs do not match any project or glossary None

Fetch the project's MT configuration

Code samples

GET /api/integration/v1/project/{projectId}/mt HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/{projectId}/mt \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/{projectId}/mt

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Example responses

200 Response

[{"id":"string","name":"string","languages":["string"]}]
[
  {
    "id": "string",
    "name": "string",
    "languages": [
      "string"
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Returns if the operation has been successfully completed Inline
403 Forbidden The project is associated with another account None
404 Not Found Project not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProjectMTEngineModel] false none [The model represents the addition of an MT engine or profile to the project]
» id string¦null false none MT engine or profile ID
» name string¦null false none The name of the MT engine of profile
» languages [string]¦null false none The languages for which the MT engine of profile is added to the project

Set an MT configuration in the project

Code samples

POST /api/integration/v1/project/{projectId}/mt HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/project/{projectId}/mt \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/project/{projectId}/mt

Body parameter

[
  {
    "id": "string",
    "name": "string",
    "languages": [
      "string"
    ]
  }
]

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
body body ProjectMTEngineModel true Required MT settings

Responses

Status Meaning Description Schema
204 No Content Returns if the operation has been successfully completed None
400 Bad Request Incorrect parameters None
403 Forbidden The project is associated with another account None
404 Not Found Project not found None

Fetch all the MT engines and profiles that can be used in the specified project

Code samples

GET /api/integration/v1/project/{projectId}/mt/available HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/{projectId}/mt/available \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/{projectId}/mt/available

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Example responses

200 Response

[{"id":"string","name":"string","languages":["string"]}]
[
  {
    "id": "string",
    "name": "string",
    "languages": [
      "string"
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK Returns if the operation has been successfully completed Inline
403 Forbidden The project is associated with another account None
404 Not Found Project not found None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProjectMTEngineSupportedLanguagesModel] false none [The model represents the supported MT engines or profiles]
» id string¦null false none MT engine or profile ID
» name string¦null false none The name of the MT engine of profile
» languages [string]¦null false none The languages supported by the MT engine or profile

Fetch the project pre-processing rules

Code samples

GET /api/integration/v1/project/{projectId}/pretranslation-rules HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/{projectId}/pretranslation-rules \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/{projectId}/pretranslation-rules

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Example responses

200 Response

[{"ruleType":"TM","order":0,"confirmAtWorkflowStep":"fced9377-8af1-4fd6-bd79-44d3c3e1866e","translationMemoryId":"5e0ba7bd-80c0-41ff-b3fa-24d36144aa9a","minThreshold":0,"minSegmentWordsCount":0,"minAssuranceLevel":"MT"}]
[
  {
    "ruleType": "TM",
    "order": 0,
    "confirmAtWorkflowStep": "fced9377-8af1-4fd6-bd79-44d3c3e1866e",
    "translationMemoryId": "5e0ba7bd-80c0-41ff-b3fa-24d36144aa9a",
    "minThreshold": 0,
    "minSegmentWordsCount": 0,
    "minAssuranceLevel": "MT"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [PretranslateRuleModel] false none [Pretranslation rule model]
» ruleType PretranslateRuleType(int32) true none Pretranslation rule type
» order integer(int32) true none Ordering number of the rule (starting with 1)
» confirmAtWorkflowStep string(uuid)¦null false none Specify at which workflow stage pretranslation segments must be confirmed
(null if confirmation is not required)
» translationMemoryId string(uuid)¦null false none Translation memory (TM) ID, if the rule involves the use of TM matches
» minThreshold integer(int32)¦null false none Minimum match threshold, if the rule involves the use of TM matches
» minSegmentWordsCount integer(int32)¦null false none Minimum segment length, if the rule involves the use of TM matches
» minAssuranceLevel TMTranslationAssuranceLevel(int32) false none none

Enumerated Values

Property Value
ruleType TM
ruleType MT
ruleType NumberConversion
minAssuranceLevel MT
minAssuranceLevel Questionable
minAssuranceLevel Regular
minAssuranceLevel Qualified

Define project pre-processing rules

Code samples

PUT /api/integration/v1/project/{projectId}/pretranslation-rules HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v1/project/{projectId}/pretranslation-rules \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v1/project/{projectId}/pretranslation-rules

Body parameter

[
  {
    "ruleType": "TM",
    "order": 0,
    "confirmAtWorkflowStep": "fced9377-8af1-4fd6-bd79-44d3c3e1866e",
    "translationMemoryId": "5e0ba7bd-80c0-41ff-b3fa-24d36144aa9a",
    "minThreshold": 0,
    "minSegmentWordsCount": 0,
    "minAssuranceLevel": "MT"
  }
]

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
body body PretranslateRuleModel true Project pre-processing rules

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Получить статус выполнения задачи удаления пустых папок проекта

Code samples

GET /api/integration/v1/project/{projectId}/empty-folders-removing-status HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/project/{projectId}/empty-folders-removing-status \
  -H 'Accept: text/plain'

GET /api/integration/v1/project/{projectId}/empty-folders-removing-status

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Example responses

200 Response

"Done"
"Done"

Responses

Status Meaning Description Schema
200 OK Success EmptyProjectFoldersRemoveTaskStatus
403 Forbidden The project is not associated with the account None

Cancel the project

Code samples

POST /api/integration/v1/project/cancel?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

# You can also use wget
curl -X POST /api/integration/v1/project/cancel?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08

POST /api/integration/v1/project/cancel

Parameters

Name In Type Required Description
projectId query string(uuid) true Project ID

Responses

Status Meaning Description Schema
204 No Content The project has been canceled None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Restore the project

Code samples

POST /api/integration/v1/project/restore?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

# You can also use wget
curl -X POST /api/integration/v1/project/restore?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08

POST /api/integration/v1/project/restore

Parameters

Name In Type Required Description
projectId query string(uuid) true Project ID

Responses

Status Meaning Description Schema
204 No Content The project has been restored None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Complete the workflow for all project documents. As a result, the project status will change to Completed.

Code samples

POST /api/integration/v1/project/complete?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

# You can also use wget
curl -X POST /api/integration/v1/project/complete?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08

POST /api/integration/v1/project/complete

Parameters

Name In Type Required Description
projectId query string(uuid) true none

Responses

Status Meaning Description Schema
204 No Content Request has been successfully completed None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None
409 Conflict Conflict None

Create the project

Code samples

POST /api/integration/v1/project/create HTTP/1.1

Content-Type: multipart/form-data
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/project/create \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: text/plain'

POST /api/integration/v1/project/create

Body parameter

value:
  name: string
  number:
    useTemplate: true
    number: string
  description: string
  deadline: 2019-08-24T14:15:22Z
  sourceLanguage: string
  targetLanguages:
    - string
  domainId: 0
  clientId: 5e505642-9024-474d-9434-e5a44f505cc5
  vendorAccountIds:
    - 497f6eca-6276-4993-bfeb-53cbbbba6f08
  assignToVendor: true
  useMT: true
  pretranslate: true
  translationMemoryName: string
  useTranslationMemory: true
  minTranslationAssuranceLevel: MT
  autoPropagateRepetitions: true
  documentProperties:
    - externalId: string
      metaInfo: string
      disassembleAlgorithmName: string
      presetDisassembleAlgorithm: string
      bilingualFileImportSetings:
        targetSubstitutionMode: All
        lockMode: None
        confirmMode: None
      targetLanguages:
        - string
      enablePlaceholders: true
      enableOcr: true
  workflowStages:
    - Translation
  isForTesting: true
  externalTag: string
  specializations:
    - Education
  customFieldValues:
    property1: string
    property2: string
files:
  - string

Parameters

Name In Type Required Description
body body object true Project with files creation model
» value body CreateProjectModel false Project creation model
»» name body string¦null false Project name
»» number body CreateProjectNumberModel false Data class for project number creation
»»» useTemplate body boolean false Use a number generation template
»»» number body string¦null false Project number (the value is ignored if a template generated number is applied)
»» description body string¦null false Project description
»» deadline body string(date-time)¦null false Project deadline
»» sourceLanguage body string¦null false Project source language
»» targetLanguages body [string]¦null false Project target languages
»» domainId body integer(int32)¦null false Project group ID
»» clientId body string(uuid)¦null false Сlient ID
»» vendorAccountIds body [string]¦null false Vendor accounts IDs
»» assignToVendor body boolean false Project assigned to a vendor
»» useMT body boolean false Specifies whether the project uses MT
»» pretranslate body boolean false Specifies whether to enable the automatic pretranslation. If yes, two pretranslation rules are applied:
»» translationMemoryName body string¦null false The name of the account TM that will have both Write and Read permissions
»» useTranslationMemory body boolean¦null false Specifies whether to enable read and write TM for the project
»» minTranslationAssuranceLevel body IntegrationApiTMTranslationAssuranceLevel(int32) false Minimum TM segment quality
»» autoPropagateRepetitions body boolean¦null false Specifies whether to enable auto-propagation of repeated segments at the project level (default is True)
»» documentProperties body [CreateDocumentPropertyModel]¦null false Document properties as they are ordered in a request. This parameter is optional.
»»» externalId body string¦null false Optional external ID specified by a client
»»» metaInfo body string¦null false Additional document-related user information (for integration)
»»» disassembleAlgorithmName body string¦null false Optional algorithm of file disassembly
»»» presetDisassembleAlgorithm body string¦null false Optional preset for the file disassembly algorithm
»»» bilingualFileImportSetings body BilingualFileImportSetingsModel false Bilingual document upload settings model
»»»» targetSubstitutionMode body TargetSubstitutionMode(int32) false Target substitution mode
»»»» lockMode body LockMode(int32) false Mode of locking segments at import
»»»» confirmMode body ConfirmMode(int32) false Mode of segment confirmation at file upload
»»» targetLanguages body [string]¦null false Optional array of target languages. Project languages are applied by default.
»»» enablePlaceholders body boolean¦null false Specifies whether to enable placeholders in the document body
»»» enableOcr body boolean¦null false Optional parameter for enabling OCR
»» workflowStages body [StageType]¦null false Project workflow stages for the created project. This parameter is optional.
»» isForTesting body boolean false Specifies whether the project is used for testing
»» externalTag body string¦null false External system tag
»» specializations body [Specialization]¦null false Specializations
»» customFieldValues body object¦null false Customized field values
»»» additionalProperties body string false none
» files body [string] false none

Detailed descriptions

»» pretranslate: Specifies whether to enable the automatic pretranslation. If yes, two pretranslation rules are applied: 1. For the TM with the Write permission 2. For the MT, if enabled

Enumerated Values

Parameter Value
»» minTranslationAssuranceLevel MT
»» minTranslationAssuranceLevel Questionable
»» minTranslationAssuranceLevel Regular
»» minTranslationAssuranceLevel Qualified
»»»» targetSubstitutionMode All
»»»» targetSubstitutionMode None
»»»» lockMode None
»»»» lockMode ByStates
»»»» lockMode Confirmed
»»»» confirmMode None
»»»» confirmMode ByStates
»»»» confirmMode AtFirstStage
»»»» confirmMode AtLastStage
»» workflowStages Translation
»» workflowStages Editing
»» workflowStages Proofreading
»» workflowStages Postediting
»» workflowStages FinalPageProof
»» workflowStages Notarization
»» workflowStages CertifiedTranslation
»» workflowStages Transcreation
»» workflowStages Legalization
»» workflowStages PreliminaryPageProof
»» specializations Education
»» specializations ProductsAndCatalogs
»» specializations DocumentsAndCertificates
»» specializations Marketing
»» specializations Correspondence
»» specializations Software
»» specializations Fiction
»» specializations ScienceAndPatents
»» specializations ContractsAndReports
»» specializations Gaming
»» specializations Manuals
»» specializations Website
»» specializations AnnualReport
»» specializations CorporateAndSocialResponsibility
»» specializations TechnicalAndEngineering
»» specializations Cryptocurrencies
»» specializations Biochemistry
»» specializations ComputingScience
»» specializations Electronics
»» specializations Metallurgy
»» specializations Nuclear
»» specializations Optics
»» specializations Printing
»» specializations Telecommunication
»» specializations Textile
»» specializations Patent
»» specializations Military
»» specializations EcologyAndEnvironment
»» specializations Agriculture
»» specializations ArtsAndCulture
»» specializations AviationAndSpace
»» specializations Biology
»» specializations Cartography
»» specializations Chemistry
»» specializations Cosmetics
»» specializations Construction
»» specializations Architecture
»» specializations Economics
»» specializations Accounting
»» specializations BankingAndInvestment
»» specializations Insurance
»» specializations Energy
»» specializations ThermalPowerEngineering
»» specializations MechanicalEngineering
»» specializations Finance
»» specializations General
»» specializations Geography
»» specializations Geology
»» specializations Mining
»» specializations History
»» specializations Linguistics
»» specializations Philosophy
»» specializations Psychology
»» specializations Sociology
»» specializations Industry
»» specializations IndustrialAutomation
»» specializations ElectricalEngineering
»» specializations IT
»» specializations ERP
»» specializations Law
»» specializations HR
»» specializations Mathematics
»» specializations Medicine
»» specializations MedicalEquipment
»» specializations Pharmaceutics
»» specializations VeterinaryMedicine
»» specializations OilAndGas
»» specializations Physics
»» specializations PoliticsAndSociety
»» specializations RealEstate
»» specializations Recreation
»» specializations Fashion
»» specializations LuxuryItems
»» specializations TourismAndTravel
»» specializations Religion
»» specializations SocialScience
»» specializations Sport
»» specializations Transport
»» specializations AutomotiveBusiness
»» specializations FoodAndDrinks
»» specializations Biotechnology
»» specializations Business
»» specializations LifeSciences

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","name":"string","description":"string","deadline":"2019-08-24T14:15:22Z","creationDate":"2019-08-24T14:15:22Z","createdByUserId":"4d2aef9a-17b0-44e6-902e-616812033620","createdByUserEmail":"string","modificationDate":"2019-08-24T14:15:22Z","sourceLanguageId":0,"sourceLanguage":"string","targetLanguages":["string"],"status":"Created","statusModificationDate":"2019-08-24T14:15:22Z","domainId":0,"clientId":"5e505642-9024-474d-9434-e5a44f505cc5","vendors":[{"vendorAccountId":"89da8c26-077c-44e3-a99b-ccbc594d33b7","removedFromProject":true,"cost":{"value":0,"currency":"string","accuracyDegree":"EstimatedByWordsCount","detailsFileName":"string","paymentStatus":"NotPaid"},"costDetailsFileId":"b35a8b45-ee23-4875-8b3a-5c76beeb080f"}],"workflowStages":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","progress":0,"stageType":"Translation"}],"documents":[{"id":"string","name":"string","fullPath":"string","filename":"string","creationDate":"2019-08-24T14:15:22Z","deadline":"2019-08-24T14:15:22Z","sourceLanguage":"string","documentDisassemblingStatus":"InProgress","targetLanguage":"string","status":"Created","wordsCount":0,"statusModificationDate":"2019-08-24T14:15:22Z","pretranslateCompleted":true,"workflowStages":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","progress":0,"wordsTranslated":0,"unassignedWordsCount":0,"status":"NotAssigned","statusModificationDate":"2019-08-24T14:15:22Z","executives":[{"assignedWordsCount":0,"progress":0,"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","supplierType":"Freelancer"}],"vendor":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","customFields":{"property1":"string","property2":"string"}}}],"externalId":"string","metaInfo":"string","placeholdersAreEnabled":true,"revisionLabel":"string"}],"externalTag":"string","specializations":["Education"],"managers":["string"],"number":"string","customFields":{"property1":"string","property2":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  "name": "string",
  "description": "string",
  "deadline": "2019-08-24T14:15:22Z",
  "creationDate": "2019-08-24T14:15:22Z",
  "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
  "createdByUserEmail": "string",
  "modificationDate": "2019-08-24T14:15:22Z",
  "sourceLanguageId": 0,
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "status": "Created",
  "statusModificationDate": "2019-08-24T14:15:22Z",
  "domainId": 0,
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "vendors": [
    {
      "vendorAccountId": "89da8c26-077c-44e3-a99b-ccbc594d33b7",
      "removedFromProject": true,
      "cost": {
        "value": 0,
        "currency": "string",
        "accuracyDegree": "EstimatedByWordsCount",
        "detailsFileName": "string",
        "paymentStatus": "NotPaid"
      },
      "costDetailsFileId": "b35a8b45-ee23-4875-8b3a-5c76beeb080f"
    }
  ],
  "workflowStages": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "progress": 0,
      "stageType": "Translation"
    }
  ],
  "documents": [
    {
      "id": "string",
      "name": "string",
      "fullPath": "string",
      "filename": "string",
      "creationDate": "2019-08-24T14:15:22Z",
      "deadline": "2019-08-24T14:15:22Z",
      "sourceLanguage": "string",
      "documentDisassemblingStatus": "InProgress",
      "targetLanguage": "string",
      "status": "Created",
      "wordsCount": 0,
      "statusModificationDate": "2019-08-24T14:15:22Z",
      "pretranslateCompleted": true,
      "workflowStages": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "progress": 0,
          "wordsTranslated": 0,
          "unassignedWordsCount": 0,
          "status": "NotAssigned",
          "statusModificationDate": "2019-08-24T14:15:22Z",
          "executives": [
            {
              "assignedWordsCount": 0,
              "progress": 0,
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "supplierType": "Freelancer"
            }
          ],
          "vendor": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "name": "string",
            "customFields": {
              "property1": "string",
              "property2": "string"
            }
          }
        }
      ],
      "externalId": "string",
      "metaInfo": "string",
      "placeholdersAreEnabled": true,
      "revisionLabel": "string"
    }
  ],
  "externalTag": "string",
  "specializations": [
    "Education"
  ],
  "managers": [
    "string"
  ],
  "number": "string",
  "customFields": {
    "property1": "string",
    "property2": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed ProjectModel
400 Bad Request Returns if:

Add a document to the project

Code samples

POST /api/integration/v1/project/document?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

Content-Type: multipart/form-data
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/project/document?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08 \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: text/plain'

POST /api/integration/v1/project/document

Body parameter

value:
  - externalId: string
    metaInfo: string
    disassembleAlgorithmName: string
    presetDisassembleAlgorithm: string
    bilingualFileImportSetings:
      targetSubstitutionMode: All
      lockMode: None
      confirmMode: None
    targetLanguages:
      - string
    enablePlaceholders: true
    enableOcr: true
files:
  - string

Parameters

Name In Type Required Description
projectId query string(uuid) true Project ID
disassembleAlgorithmName query string false Optional algorithm of file disassembly
externalId query string false External identifier assigned by the client upon the document creation
metaInfo query string false Additional user information about the document
targetLanguages query string false Comma-separated target languages of all documents. Optional parameter. Can be modified per document in the request body. By default, lists the project target languages.
presetDisassembleAlgorithm query string false Optional preset for the file disassembly algorithm
enableOcr query boolean false Optional parameter for disabling OCR (the default is true)
body body object true Document file upload model
» value body [CreateDocumentPropertyModel] false [Created document properties]
»» externalId body string¦null false Optional external ID specified by a client
»» metaInfo body string¦null false Additional document-related user information (for integration)
»» disassembleAlgorithmName body string¦null false Optional algorithm of file disassembly
»» presetDisassembleAlgorithm body string¦null false Optional preset for the file disassembly algorithm
»» bilingualFileImportSetings body BilingualFileImportSetingsModel false Bilingual document upload settings model
»»» targetSubstitutionMode body TargetSubstitutionMode(int32) false Target substitution mode
»»» lockMode body LockMode(int32) false Mode of locking segments at import
»»» confirmMode body ConfirmMode(int32) false Mode of segment confirmation at file upload
»» targetLanguages body [string]¦null false Optional array of target languages. Project languages are applied by default.
»» enablePlaceholders body boolean¦null false Specifies whether to enable placeholders in the document body
»» enableOcr body boolean¦null false Optional parameter for enabling OCR
» files body [string] false none

Enumerated Values

Parameter Value
»»» targetSubstitutionMode All
»»» targetSubstitutionMode None
»»» lockMode None
»»» lockMode ByStates
»»» lockMode Confirmed
»»» confirmMode None
»»» confirmMode ByStates
»»» confirmMode AtFirstStage
»»» confirmMode AtLastStage

Example responses

200 Response

[{"id":"string","name":"string","fullPath":"string","filename":"string","creationDate":"2019-08-24T14:15:22Z","deadline":"2019-08-24T14:15:22Z","sourceLanguage":"string","documentDisassemblingStatus":"InProgress","targetLanguage":"string","status":"Created","wordsCount":0,"statusModificationDate":"2019-08-24T14:15:22Z","pretranslateCompleted":true,"workflowStages":[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","progress":0,"wordsTranslated":0,"unassignedWordsCount":0,"status":"NotAssigned","statusModificationDate":"2019-08-24T14:15:22Z","executives":[{"assignedWordsCount":0,"progress":0,"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","supplierType":"Freelancer"}],"vendor":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","customFields":{"property1":"string","property2":"string"}}}],"externalId":"string","metaInfo":"string","placeholdersAreEnabled":true,"revisionLabel":"string"}]
[
  {
    "id": "string",
    "name": "string",
    "fullPath": "string",
    "filename": "string",
    "creationDate": "2019-08-24T14:15:22Z",
    "deadline": "2019-08-24T14:15:22Z",
    "sourceLanguage": "string",
    "documentDisassemblingStatus": "InProgress",
    "targetLanguage": "string",
    "status": "Created",
    "wordsCount": 0,
    "statusModificationDate": "2019-08-24T14:15:22Z",
    "pretranslateCompleted": true,
    "workflowStages": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "progress": 0,
        "wordsTranslated": 0,
        "unassignedWordsCount": 0,
        "status": "NotAssigned",
        "statusModificationDate": "2019-08-24T14:15:22Z",
        "executives": [
          {
            "assignedWordsCount": 0,
            "progress": 0,
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "supplierType": "Freelancer"
          }
        ],
        "vendor": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "name": "string",
          "customFields": {
            "property1": "string",
            "property2": "string"
          }
        }
      }
    ],
    "externalId": "string",
    "metaInfo": "string",
    "placeholdersAreEnabled": true,
    "revisionLabel": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
400 Bad Request The specified file is empty None
403 Forbidden The project is not associated with the account or the specified account is personal None
404 Not Found The provided project ID does not exist None
409 Conflict The document name is not unique None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DocumentModel] false none [Document model]
» id string¦null false none Document ID
» name string¦null false none Document name
» fullPath string¦null false none Full path to the document in the project
» filename string¦null false none Source file name, including the extension
» creationDate string(date-time) false none Creation date
» deadline string(date-time)¦null false none Document translation deadline
» sourceLanguage string¦null false none Source language
» documentDisassemblingStatus DocumentDisassemblingStatus(int32) false none Document disassembly status
» targetLanguage string¦null false none Target language
» status DocumentStatus(int32) false none Document status
» wordsCount integer(int32) false none Word count in the source text
» statusModificationDate string(date-time)¦null false none Late of the last status change
» pretranslateCompleted boolean false none Specifies whether pretranslation has completed, if ordered
» workflowStages [DocumentWorkflowStageModel]¦null false none Workflow stages for the document
»» id string(uuid) false none ID
»» progress number(double) false none Completion percentage
»» wordsTranslated integer(int32) false none Translated words count
»» unassignedWordsCount integer(int32) false none Unassigned words count
»» status WorkflowStageStatus(int32) false none Workflow stage status
»» statusModificationDate string(date-time)¦null false none Status change date
»» executives [AssignedExecutiveModel]¦null false none Assigned linguists
»»» assignedWordsCount integer(int32) false none Assigned word count
»»» progress number(double) false none Completion percentage
»»» id string(uuid) false none User ID
»»» supplierType SupplierType(int32) false none Linguist type
»» vendor VendorModel false none Vendor model
»»» id string(uuid) false none ID
»»» name string¦null false none Company name
»»» customFields object¦null false none Custom fields
»»»» additionalProperties string false none none
» externalId string¦null false none External identifier assigned by the client upon the document creation
» metaInfo string¦null false none Additional user information about the document
» placeholdersAreEnabled boolean false none Specifies whether placeholders are enabled for the document
» revisionLabel string¦null false none Document version ID label

Enumerated Values

Property Value
documentDisassemblingStatus InProgress
documentDisassemblingStatus Error
documentDisassemblingStatus Success
status Created
status InProgress
status Completed
status Updated
status TargetUpdated
status NotAssigned
status Assigned
status InProgress
status Completed
supplierType Freelancer
supplierType Company

Add a new target language to the project

Code samples

POST /api/integration/v1/project/language?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08&targetLanguage=string HTTP/1.1

# You can also use wget
curl -X POST /api/integration/v1/project/language?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08&targetLanguage=string

POST /api/integration/v1/project/language

Parameters

Name In Type Required Description
projectId query string(uuid) true Project ID
targetLanguage query string true Target language
addLanguageToDocuments query boolean false An optional parameter that can be used to disable the addition of a language for all project documents (by default - true)

Responses

Status Meaning Description Schema
204 No Content A new target language was added to the project None
400 Bad Request The provided target language is identical with the source language None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Remove a target language from the project

Code samples

DELETE /api/integration/v1/project/language?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08&targetLanguage=string HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/project/language?projectId=497f6eca-6276-4993-bfeb-53cbbbba6f08&targetLanguage=string

DELETE /api/integration/v1/project/language

Parameters

Name In Type Required Description
projectId query string(uuid) true Project ID
targetLanguage query string true Target language

Responses

Status Meaning Description Schema
204 No Content The target language has been successfully removed from the project None
400 Bad Request An attempt to remove the latest target language None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Recreate the set of TMs plugged into the project.

A separate set of TMs is created for each target language.

Code samples

POST /api/integration/v1/project/{projectId}/translationmemories/bylanguages HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/project/{projectId}/translationmemories/bylanguages \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/project/{projectId}/translationmemories/bylanguages

Body parameter

[
  {
    "language": "string",
    "translationMemories": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "matchThreshold": 0,
        "isWritable": true
      }
    ],
    "onlyExactSourceLanguageMatch": true,
    "onlyExactTargetLanguageMatch": true
  }
]

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
body body TranslationMemoriesForLanguageModel true Collections of languages and their respective TMs

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed None
400 Bad Request Returns if:

Start processing the project statistics

Code samples

POST /api/integration/v1/project/{projectId}/statistics/build HTTP/1.1

# You can also use wget
curl -X POST /api/integration/v1/project/{projectId}/statistics/build

POST /api/integration/v1/project/{projectId}/statistics/build

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
onlyExactMatches query boolean false Specifies whether returning 100% and higher matches will suffice (the default is false)

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed None
202 Accepted Statistics creation is in progress None
400 Bad Request One or multiple parameters are formatted incorrectly None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None
422 Unprocessable Entity One or multiple project documents could not be disassembled None

Add managers to the specified project

Code samples

POST /api/integration/v1/project/{projectId}/managers HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/project/{projectId}/managers \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/project/{projectId}/managers

Body parameter

[
  "string"
]

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
body body array[string] true User IDs list

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed None
400 Bad Request One or multiple parameters are formatted incorrectly None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Delete managers from the project

Code samples

DELETE /api/integration/v1/project/{projectId}/managers HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X DELETE /api/integration/v1/project/{projectId}/managers \
  -H 'Content-Type: application/json-patch+json'

DELETE /api/integration/v1/project/{projectId}/managers

Body parameter

[
  "string"
]

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
body body array[string] true List of IDs of users labeled as managers

Responses

Status Meaning Description Schema
204 No Content Managers have been successfully deleted None
400 Bad Request The specified project ID's format is incorrect None
403 Forbidden The project is not associated with the account None

Automatically assign all new documents/segments to current linguists

Code samples

POST /api/integration/v1/project/{projectId}/assign HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/project/{projectId}/assign \
  -H 'Accept: text/plain'

POST /api/integration/v1/project/{projectId}/assign

Current limitations: 1. Assignments are made to the following stages only: Translation, Editing, Proofreading, Postediting 2. Assignments are made only to documents with an ID

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
mode query AutoAssignmentMode false Auto-assignment mode

Enumerated Values

Parameter Value
mode CurrentAssignees

Example responses

200 Response

[{"documentId":"string","languageId":0,"workflowStageId":0}]
[
  {
    "documentId": "string",
    "languageId": 0,
    "workflowStageId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
400 Bad Request One or multiple parameters are formatted incorrectly None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [WorkflowStageInDocumentModel] false none none
» documentId string¦null false none none
» languageId integer(int32) false none none
» workflowStageId integer(int32) false none none

Add reference files to a project

Code samples

POST /api/integration/v1/project/{projectId}/ReferenceFiles HTTP/1.1

Content-Type: multipart/form-data

# You can also use wget
curl -X POST /api/integration/v1/project/{projectId}/ReferenceFiles \
  -H 'Content-Type: multipart/form-data'

POST /api/integration/v1/project/{projectId}/ReferenceFiles

Body parameter

files:
  - string

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
body body object true Files to be uploaded
» files body [string] false none

Responses

Status Meaning Description Schema
204 No Content Returns if the operation has been successfully completed None
400 Bad Request Incorrect parameters None
403 Forbidden The project is associated with another account None
404 Not Found Project not found None

Run the empty project folders deletion task

Code samples

POST /api/integration/v1/project/{projectId}/run-empty-folders-removing HTTP/1.1

# You can also use wget
curl -X POST /api/integration/v1/project/{projectId}/run-empty-folders-removing

POST /api/integration/v1/project/{projectId}/run-empty-folders-removing

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Responses

Status Meaning Description Schema
200 OK Success None
403 Forbidden The project is not associated with the account None

ProjectBackups

Run a project backup creation task

Code samples

POST /api/integration/v1/backup/project/{projectId} HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/backup/project/{projectId} \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/backup/project/{projectId}

Body parameter

{
  "glossaryIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "tmIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
body body CreateBackupModel true Backup creation settings

Example responses

200 Response

"497f6eca-6276-4993-bfeb-53cbbbba6f08"
"497f6eca-6276-4993-bfeb-53cbbbba6f08"

Responses

Status Meaning Description Schema
200 OK Request completed successfully string
400 Bad Request Project settings are incorrect None
403 Forbidden Backup creation is not enabled in the account None
404 Not Found Project not found None

Fetch pending backup creation tasks

Code samples

GET /api/integration/v1/backup/project/tasks/create HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/backup/project/tasks/create \
  -H 'Accept: text/plain'

GET /api/integration/v1/backup/project/tasks/create

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","requestTime":"2019-08-24T14:15:22Z","taskState":"Sleep","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8"}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "requestTime": "2019-08-24T14:15:22Z",
    "taskState": "Sleep",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline
403 Forbidden Backup creation is not enabled in the account None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CreateProjectBackupTaskState] false none [Create project backup task status]
» id string(uuid) false none Unique task ID
» requestTime string(date-time) false none Task request date and time
» taskState TaskState(int32) false none none
» projectId string(uuid)¦null false none Project ID

Enumerated Values

Property Value
taskState Sleep
taskState InProgress
taskState Closed
taskState Manual
taskState Suspended

Download a project's backup copy

Code samples

GET /api/integration/v1/backup/project/tasks/create/{taskId}/download HTTP/1.1

# You can also use wget
curl -X GET /api/integration/v1/backup/project/tasks/create/{taskId}/download

GET /api/integration/v1/backup/project/tasks/create/{taskId}/download

Parameters

Name In Type Required Description
taskId path string(uuid) true Backup copy creation task ID

Responses

Status Meaning Description Schema
200 OK Success None
403 Forbidden Backup creation is not enabled in the account None
404 Not Found Could not find the task with the provided ID None

Cancel a project's backup copy creation task

Code samples

DELETE /api/integration/v1/backup/project/tasks/create/{taskId} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/backup/project/tasks/create/{taskId}

DELETE /api/integration/v1/backup/project/tasks/create/{taskId}

Parameters

Name In Type Required Description
taskId path string(uuid) true Backup copy creation task ID

Responses

Status Meaning Description Schema
204 No Content Success None
403 Forbidden Backup creation is not enabled in the account None
404 Not Found Could not find the task with the provided ID None

Restore a project from a backup copy file

Code samples

POST /api/integration/v1/backup/project/upload HTTP/1.1

Content-Type: multipart/form-data
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/backup/project/upload \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: text/plain'

POST /api/integration/v1/backup/project/upload

Body parameter

file: string

Parameters

Name In Type Required Description
body body object true A project backup file with the extension .scbak
» file body string(binary) false none

Example responses

200 Response

"497f6eca-6276-4993-bfeb-53cbbbba6f08"
"497f6eca-6276-4993-bfeb-53cbbbba6f08"

Responses

Status Meaning Description Schema
200 OK Success string
400 Bad Request The uploaded file is not a .scbak file None
403 Forbidden Backup creation is not enabled in the account None

Fetch pending project backup upload tasks

Code samples

GET /api/integration/v1/backup/project/tasks/restore HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/backup/project/tasks/restore \
  -H 'Accept: text/plain'

GET /api/integration/v1/backup/project/tasks/restore

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","requestTime":"2019-08-24T14:15:22Z","taskState":"Sleep","taskPhase":"CreateProject","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8"}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "requestTime": "2019-08-24T14:15:22Z",
    "taskState": "Sleep",
    "taskPhase": "CreateProject",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline
403 Forbidden Backup creation is not enabled in the account None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [RestoreProjectBackupTaskState] false none [Restore project backup task status]
» id string(uuid) false none Unique task ID
» requestTime string(date-time) false none Task request date and time
» taskState TaskState(int32) false none none
» taskPhase RestoreBackupPhase(int32) false none none
» projectId string(uuid)¦null false none Project ID

Enumerated Values

Property Value
taskState Sleep
taskState InProgress
taskState Closed
taskState Manual
taskState Suspended
taskPhase CreateProject
taskPhase ImportingGlossaries
taskPhase WaitingGlossaries
taskPhase ImportingTranslationMemories
taskPhase WaitingTranslationMemories
taskPhase InsertingParagraphs
taskPhase InsertingSegments
taskPhase Complete

Cancel the task of restoring a project from a backup copy

Code samples

DELETE /api/integration/v1/backup/project/tasks/restore/{taskId} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/backup/project/tasks/restore/{taskId}

DELETE /api/integration/v1/backup/project/tasks/restore/{taskId}

Parameters

Name In Type Required Description
taskId path string(uuid) true Backup copy restore task ID

Responses

Status Meaning Description Schema
204 No Content Success None
403 Forbidden Backup creation is not enabled in the account None
404 Not Found Could not find the task with the provided ID None

ProjectTask

Get a list of project tasks

Code samples

GET /api/integration/v1/projectTask/{projectId}/list?currency=USD HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/projectTask/{projectId}/list?currency=USD \
  -H 'Accept: text/plain'

GET /api/integration/v1/projectTask/{projectId}/list

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
currency query Currency true Code of the currency used to recalculate supplier rates and the cost of work AbbyyLS.Web.Currency
skip query integer(int32) false Number of skipped items
limit query integer(int32) false Maximum number of tasks in the response (no more than 20)

Enumerated Values

Parameter Value
currency USD
currency EUR
currency RUB
currency TRY
currency JPY
currency SGD
currency MYR
currency HKD
currency ARS
currency UAH
currency CNY
currency AED
currency AUD
currency BRL
currency CAD
currency CLP
currency EGP
currency GBP
currency IDR
currency ILS
currency INR
currency KES
currency KRW
currency LKR
currency MAD
currency MXN
currency NPR
currency PEN
currency PHP
currency PLN
currency THB
currency VND
currency SEK
currency TWD
currency PKR
currency NZD
currency TTD
currency ZAR
currency CHF
currency KZT
currency DKK

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","number":"string","status":"Created","progressPercentage":0,"sourceLanguage":"string","targetLanguage":"string","stageType":"Translation","stageId":"4ac83d66-64fa-48da-9505-57df43404af7","deadline":"2019-08-24T14:15:22Z","cost":0,"approximateCost":0,"documentIds":["string"],"createDate":"2019-08-24T14:15:22Z","lastUpdateScopeDate":"2019-08-24T14:15:22Z","individualAssignments":[{"userId":"string","rate":0,"currency":"string","status":"Shortlisted"}],"vendorAssignments":[{"accountId":"string","name":"string","canUnassign":true,"rate":0,"status":"Shortlisted"}],"invitationStrategyType":"Crowd"}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "number": "string",
    "status": "Created",
    "progressPercentage": 0,
    "sourceLanguage": "string",
    "targetLanguage": "string",
    "stageType": "Translation",
    "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
    "deadline": "2019-08-24T14:15:22Z",
    "cost": 0,
    "approximateCost": 0,
    "documentIds": [
      "string"
    ],
    "createDate": "2019-08-24T14:15:22Z",
    "lastUpdateScopeDate": "2019-08-24T14:15:22Z",
    "individualAssignments": [
      {
        "userId": "string",
        "rate": 0,
        "currency": "string",
        "status": "Shortlisted"
      }
    ],
    "vendorAssignments": [
      {
        "accountId": "string",
        "name": "string",
        "canUnassign": true,
        "rate": 0,
        "status": "Shortlisted"
      }
    ],
    "invitationStrategyType": "Crowd"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProjectTaskModel] false none [Project task]
» id string(uuid) false none Task ID
» number string¦null false none Task number
» status ProjectTaskStatus(int32) false none Task status
» progressPercentage number(double)¦null false none Task progress (in percent)
» sourceLanguage string¦null false none Source language of the task
» targetLanguage string¦null false none Target language of the task
» stageType StageType(int32) false none Workflow stage type
» stageId string(uuid) false none Stage ID
» deadline string(date-time)¦null false none Task deadline
» cost number(double)¦null false none Actual cost of the work performed within the task
» approximateCost number(double)¦null false none Estimated cost of the work, taking into account the assigned suppliers
» documentIds [string]¦null false none IDs of the documents included in the task
» createDate string(date-time) false none Creation date
» lastUpdateScopeDate string(date-time)¦null false none Last volume modification date (documents updated/added)
» individualAssignments [IndividualAssignmentModel]¦null false none User assignments to the task
»» userId string false none User ID
»» rate number(double)¦null false none Supplier rate per word
»» currency string¦null false none Rate currency
»» status IndividualAssignmentStatus(int32) false none Status of the invitation to the user to perform the task
» vendorAssignments [VendorAssignmentModel]¦null false none Agency assignments to the task
»» accountId string¦null false none Account ID
»» name string¦null false none Agency/company name
»» canUnassign boolean false none Specifies whether the assignment can be removed
»» rate number(double)¦null false none Rate per word
»» status VendorAssignmentStatus(int32) false none Agency assignment status
» invitationStrategyType ProjectTaskIndividualInvitationStrategyType(int32) false none Mode of access to the work for those who accepted the invitation

Enumerated Values

Property Value
status Created
status SuppliersShortlisted
status SuppliersInvited
status InProgress
status Completed
stageType Translation
stageType Editing
stageType Proofreading
stageType Postediting
stageType FinalPageProof
stageType Notarization
stageType CertifiedTranslation
stageType Transcreation
stageType Legalization
stageType PreliminaryPageProof
status Shortlisted
status Invited
status InProgress
status Shortlisted
status InProgress
invitationStrategyType Crowd
invitationStrategyType Rocket

Get information regarding task projectTaskId for projectprojectId

Code samples

GET /api/integration/v1/projectTask/{projectId}/{projectTaskId}?currency=USD HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/projectTask/{projectId}/{projectTaskId}?currency=USD \
  -H 'Accept: text/plain'

GET /api/integration/v1/projectTask/{projectId}/{projectTaskId}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
currency query Currency true Code of the currency used to recalculate supplier rates and the cost of work AbbyyLS.Web.Currency

Enumerated Values

Parameter Value
currency USD
currency EUR
currency RUB
currency TRY
currency JPY
currency SGD
currency MYR
currency HKD
currency ARS
currency UAH
currency CNY
currency AED
currency AUD
currency BRL
currency CAD
currency CLP
currency EGP
currency GBP
currency IDR
currency ILS
currency INR
currency KES
currency KRW
currency LKR
currency MAD
currency MXN
currency NPR
currency PEN
currency PHP
currency PLN
currency THB
currency VND
currency SEK
currency TWD
currency PKR
currency NZD
currency TTD
currency ZAR
currency CHF
currency KZT
currency DKK

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","number":"string","status":"Created","progressPercentage":0,"sourceLanguage":"string","targetLanguage":"string","stageType":"Translation","stageId":"4ac83d66-64fa-48da-9505-57df43404af7","deadline":"2019-08-24T14:15:22Z","cost":0,"approximateCost":0,"documentIds":["string"],"createDate":"2019-08-24T14:15:22Z","lastUpdateScopeDate":"2019-08-24T14:15:22Z","individualAssignments":[{"userId":"string","rate":0,"currency":"string","status":"Shortlisted"}],"vendorAssignments":[{"accountId":"string","name":"string","canUnassign":true,"rate":0,"status":"Shortlisted"}],"invitationStrategyType":"Crowd"}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "number": "string",
  "status": "Created",
  "progressPercentage": 0,
  "sourceLanguage": "string",
  "targetLanguage": "string",
  "stageType": "Translation",
  "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
  "deadline": "2019-08-24T14:15:22Z",
  "cost": 0,
  "approximateCost": 0,
  "documentIds": [
    "string"
  ],
  "createDate": "2019-08-24T14:15:22Z",
  "lastUpdateScopeDate": "2019-08-24T14:15:22Z",
  "individualAssignments": [
    {
      "userId": "string",
      "rate": 0,
      "currency": "string",
      "status": "Shortlisted"
    }
  ],
  "vendorAssignments": [
    {
      "accountId": "string",
      "name": "string",
      "canUnassign": true,
      "rate": 0,
      "status": "Shortlisted"
    }
  ],
  "invitationStrategyType": "Crowd"
}

Responses

Status Meaning Description Schema
200 OK Success ProjectTaskModel

Get information about the scope of work, regarding task projectTaskId for project projectId

Code samples

GET /api/integration/v1/projectTask/{projectId}/{projectTaskId}/scope?currency=USD HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/projectTask/{projectId}/{projectTaskId}/scope?currency=USD \
  -H 'Accept: text/plain'

GET /api/integration/v1/projectTask/{projectId}/{projectTaskId}/scope

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
currency query Currency true Code of the currency used to calculate the cost of work
skip query integer(int32) false Number of skipped items
limit query integer(int32) false Maximum number of elements in the response (no more than 100)

Enumerated Values

Parameter Value
currency USD
currency EUR
currency RUB
currency TRY
currency JPY
currency SGD
currency MYR
currency HKD
currency ARS
currency UAH
currency CNY
currency AED
currency AUD
currency BRL
currency CAD
currency CLP
currency EGP
currency GBP
currency IDR
currency ILS
currency INR
currency KES
currency KRW
currency LKR
currency MAD
currency MXN
currency NPR
currency PEN
currency PHP
currency PLN
currency THB
currency VND
currency SEK
currency TWD
currency PKR
currency NZD
currency TTD
currency ZAR
currency CHF
currency KZT
currency DKK

Example responses

200 Response

[{"documentId":"string","progress":0,"name":"string","extension":"string","lastModified":"2019-08-24T14:15:22Z","approximateCost":0,"cost":0,"isExternal":true,"unitType":"Char","volumeSize":0}]
[
  {
    "documentId": "string",
    "progress": 0,
    "name": "string",
    "extension": "string",
    "lastModified": "2019-08-24T14:15:22Z",
    "approximateCost": 0,
    "cost": 0,
    "isExternal": true,
    "unitType": "Char",
    "volumeSize": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProjectTaskScopeModel] false none [Model containing information about one work item included in the task]
» documentId string false none Document ID
» progress number(double) false none Document progress in percent from 0 to 100
» name string¦null false none Document name
» extension string¦null false none File extension
» lastModified string(date-time) false none Last document modification date (date the file was uploaded or updated)
» approximateCost number(double)¦null false none Preliminary cost of the work on a particular document.
Calculated based on the document volume and the rates of suppliers assigned to the task.
» cost number(double)¦null false none Amount spent on the work performed on the document
» isExternal boolean false none The document at the stage will be processed without the use of CAT tools
(work on the document is not performed in the editor)
» unitType WorkUnitType(int32) false none Linguist's work unit
» volumeSize integer(int32)¦null false none Work volume in units Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskScopeModel.UnitType

Enumerated Values

Property Value
unitType Char
unitType Word
unitType Page
unitType Hour
unitType Minute
unitType Document
unitType Service
unitType Day
unitType Month

Set the mode of access to perform the work for those who accepted the invitation

Code samples

PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/set-invitation-strategy-type?invitationStrategyType=Crowd HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/set-invitation-strategy-type?invitationStrategyType=Crowd \
  -H 'Accept: text/plain'

PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/set-invitation-strategy-type

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
invitationStrategyType query ProjectTaskIndividualInvitationStrategyType true Mode of access to the work for those who accepted the invitation

Enumerated Values

Parameter Value
invitationStrategyType Crowd
invitationStrategyType Rocket

Example responses

200 Response

true
true

Responses

Status Meaning Description Schema
200 OK Success boolean

Assign individual suppliers to perform task projectTaskId

Code samples

PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/individual-assignment HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/individual-assignment \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/individual-assignment

Body parameter

{
  "shouldAssignInShortlistStatus": true,
  "userIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
body body IndividualAssignmentRequestModel true Request for assignment of individual suppliers

Example responses

200 Response

true
true

Responses

Status Meaning Description Schema
200 OK Success boolean

Delete individual assignment

Code samples

DELETE /api/integration/v1/projectTask/{projectId}/{projectTaskId}/individual-assignment?userId=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X DELETE /api/integration/v1/projectTask/{projectId}/{projectTaskId}/individual-assignment?userId=497f6eca-6276-4993-bfeb-53cbbbba6f08 \
  -H 'Accept: text/plain'

DELETE /api/integration/v1/projectTask/{projectId}/{projectTaskId}/individual-assignment

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
userId query string(uuid) true ID of the user whose assignment is to be removed

Example responses

200 Response

true
true

Responses

Status Meaning Description Schema
200 OK Success boolean

Assign a supplier to perform task projectTaskId

Code samples

PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/vendor-assignment HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/vendor-assignment \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/vendor-assignment

Body parameter

{
  "shouldAssignInShortlistStatus": true,
  "vendorAccountId": "89da8c26-077c-44e3-a99b-ccbc594d33b7"
}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
body body VendorAssignmentRequestModel true Request for assignment of a supplier

Example responses

200 Response

true
true

Responses

Status Meaning Description Schema
200 OK Success boolean

Remove supplier assignment

Code samples

DELETE /api/integration/v1/projectTask/{projectId}/{projectTaskId}/vendor-assignment?vendorAccountId=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X DELETE /api/integration/v1/projectTask/{projectId}/{projectTaskId}/vendor-assignment?vendorAccountId=497f6eca-6276-4993-bfeb-53cbbbba6f08 \
  -H 'Accept: text/plain'

DELETE /api/integration/v1/projectTask/{projectId}/{projectTaskId}/vendor-assignment

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
vendorAccountId query string(uuid) true Identifier of the supplier account whose assignment is to be removed

Example responses

200 Response

true
true

Responses

Status Meaning Description Schema
200 OK Success boolean

Get information about payments to suppliers for the work on task projectTaskId

Code samples

GET /api/integration/v1/projectTask/{projectId}/{projectTaskId}/payables?currency=USD HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/projectTask/{projectId}/{projectTaskId}/payables?currency=USD \
  -H 'Accept: text/plain'

GET /api/integration/v1/projectTask/{projectId}/{projectTaskId}/payables

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
currency query Currency true Code of the currency used to calculate the cost of work
skip query integer(int32) false Number of skipped items
limit query integer(int32) false Maximum number of elements in the response (no more than 100)

Enumerated Values

Parameter Value
currency USD
currency EUR
currency RUB
currency TRY
currency JPY
currency SGD
currency MYR
currency HKD
currency ARS
currency UAH
currency CNY
currency AED
currency AUD
currency BRL
currency CAD
currency CLP
currency EGP
currency GBP
currency IDR
currency ILS
currency INR
currency KES
currency KRW
currency LKR
currency MAD
currency MXN
currency NPR
currency PEN
currency PHP
currency PLN
currency THB
currency VND
currency SEK
currency TWD
currency PKR
currency NZD
currency TTD
currency ZAR
currency CHF
currency KZT
currency DKK

Example responses

200 Response

[{"jobId":"string","userId":"2c4a230c-5085-4924-a3e1-25fb4fc5965b","userName":"string","documentId":"string","documentName":"string","documentExtension":"string","unitsCount":0,"cost":0,"status":"DoNotNeedToPay"}]
[
  {
    "jobId": "string",
    "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
    "userName": "string",
    "documentId": "string",
    "documentName": "string",
    "documentExtension": "string",
    "unitsCount": 0,
    "cost": 0,
    "status": "DoNotNeedToPay"
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProjectTaskJobModel] false none [Job information for a specific task]
» jobId string¦null false none Job ID Smartcat.AppIntegrations.Contracts.JobModel.Id
» userId string(uuid) false none Supplier ID
» userName string¦null false none Supplier name
» documentId string¦null false none Document ID
» documentName string¦null false none Document name
» documentExtension string¦null false none Document extension
» unitsCount number(double)¦null false none Number of units of work performed
» cost number(double)¦null false none Cost of work
» status ProjectTaskJobStatus(int32) false none Status of the work performed by the supplier

Enumerated Values

Property Value
status DoNotNeedToPay
status Forming
status PendingToPay
status Paid

Set a deadline for the task

Code samples

PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/deadline HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/deadline \
  -H 'Accept: text/plain'

PUT /api/integration/v1/projectTask/{projectId}/{projectTaskId}/deadline

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
deadline query string(date-time) false Task deadline

Example responses

200 Response

true
true

Responses

Status Meaning Description Schema
200 OK Success boolean

Move the task volume to another task

Code samples

POST /api/integration/v1/projectTask/{projectId}/{projectTaskId}/split HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/projectTask/{projectId}/{projectTaskId}/split \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/projectTask/{projectId}/{projectTaskId}/split

Body parameter

{
  "documentIds": [
    "string"
  ],
  "targetProjectTaskId": "5505f5bd-cf02-4da2-97e6-bc573542c1c2"
}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
body body SplitProjectTaskRequest false Data required to move the task volume

Example responses

200 Response

{"projectTaskId":"ba4d5958-f73c-44a6-81be-d450913180bb"}
{
  "projectTaskId": "ba4d5958-f73c-44a6-81be-d450913180bb"
}

Responses

Status Meaning Description Schema
200 OK Success SplitProjectTaskResponse

Merge task projectTaskId with tasks request

All merged tasks must belong to the same stage Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskModel.StageId, have the same target language Smartcat.AppIntegrations.Contracts.ProjectTask.ProjectTaskModel.TargetLanguage and have no agencies/companies assigned to the task During the merge process, existing supplier assignments will be removed. Tasks will be merged and become inaccessible. As a result of the operation, a new task is created, which includes all the scope of work from the merged tasks.

Code samples

POST /api/integration/v1/projectTask/{projectId}/{projectTaskId}/merge HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/projectTask/{projectId}/{projectTaskId}/merge \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/projectTask/{projectId}/{projectTaskId}/merge

Body parameter

{
  "projectTaskIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
projectTaskId path string(uuid) true Task ID
body body ProjectTaskMergeRequest false Data required to merge tasks

Example responses

200 Response

{"projectTaskId":"ba4d5958-f73c-44a6-81be-d450913180bb"}
{
  "projectTaskId": "ba4d5958-f73c-44a6-81be-d450913180bb"
}

Responses

Status Meaning Description Schema
200 OK Success MergeProjectTasksResponse

Quote

Fetch information about the project quote

Code samples

GET /api/integration/v1/Quote/ByVendor/{projectId} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/Quote/ByVendor/{projectId} \
  -H 'Accept: text/plain'

GET /api/integration/v1/Quote/ByVendor/{projectId}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID

Example responses

200 Response

[{"id":"string","creationDate":"2019-08-24T14:15:22Z","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","deadline":"2019-08-24T14:15:22Z","clientContactName":"string","clientContactEmail":"string","dueDate":"2019-08-24T14:15:22Z","cost":0,"currency":"string","approvalStatus":"NotApproved","approvalStatusModificationDate":"2019-08-24T14:15:22Z","paymentStatus":"NotPaid","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","externalFileDetalization":{"serviceName":"string","cost":0,"file":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string"},"accuracyDegree":"EstimatedByWordsCount"},"servicesDetalization":{"services":[{"name":"string","languageId":0,"cost":0,"costDetails":{"unitType":"Char","rate":0,"unitCount":0,"detalizationRows":[{"name":"102% соответствия, повторы, новые слова","unitCount":0,"percentOfFullRate":0}]}}],"accuracyDegree":"EstimatedByWordsCount"}}]
[
  {
    "id": "string",
    "creationDate": "2019-08-24T14:15:22Z",
    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "deadline": "2019-08-24T14:15:22Z",
    "clientContactName": "string",
    "clientContactEmail": "string",
    "dueDate": "2019-08-24T14:15:22Z",
    "cost": 0,
    "currency": "string",
    "approvalStatus": "NotApproved",
    "approvalStatusModificationDate": "2019-08-24T14:15:22Z",
    "paymentStatus": "NotPaid",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "externalFileDetalization": {
      "serviceName": "string",
      "cost": 0,
      "file": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string"
      },
      "accuracyDegree": "EstimatedByWordsCount"
    },
    "servicesDetalization": {
      "services": [
        {
          "name": "string",
          "languageId": 0,
          "cost": 0,
          "costDetails": {
            "unitType": "Char",
            "rate": 0,
            "unitCount": 0,
            "detalizationRows": [
              {
                "name": "102% соответствия, повторы, новые слова",
                "unitCount": 0,
                "percentOfFullRate": 0
              }
            ]
          }
        }
      ],
      "accuracyDegree": "EstimatedByWordsCount"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
400 Bad Request The specified project ID's format is incorrect None
403 Forbidden The project is not associated with the account None
404 Not Found The provided project ID does not exist None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [QuoteModel] false none [Project quote model]
» id string false none Quote ID
» creationDate string(date-time) false none Quote creation date
» accountId string(uuid) false none ID of the account associated with the quote
» projectId string(uuid) false none ID of the project associated with the quote
» deadline string(date-time)¦null false none Project deadline
» clientContactName string¦null false none Client's contact person name
» clientContactEmail string¦null false none Client's contact person email
» dueDate string(date-time)¦null false none Get approval by
» cost number(double)¦null false none Cost
» currency string¦null false none Currency
» approvalStatus ApprovalStatus(int32) false none none
» approvalStatusModificationDate string(date-time)¦null false none Date of the quote approval status change
» paymentStatus QuotePaymentStatus(int32) false none none
» clientId string(uuid)¦null false none Project client ID
» externalFileDetalization ExternalFileDetalizationModel false none Uploaded file with quote details
»» serviceName string¦null false none Service name
»» cost number(double)¦null false none Service cost
»» file UploadedQuoteFileModel false none Quote as an attached file
»»» id string(uuid) false none ID
»»» name string¦null false none Name
»» accuracyDegree ProjectQuoteAccuracyDegree(int32) false none none
» servicesDetalization ServicesDetalizationModel false none Quote details generated by Smartcat
»» services [QuoteServiceModel]¦null false none LIS service model
»»» name string¦null false none Name
»»» languageId integer(int32)¦null false none Target language ID
»»» cost number(double)¦null false none Service cost
»»» costDetails CostDetailsModel false none DTO model of a quoted service price details
»»»» unitType WebApi.WorkUnitType(int32) false none none
»»»» rate number(double)¦null false none Rate
»»»» unitCount number(double)¦null false none Unit count
»»»» detalizationRows [DetalizationRowModel]¦null false none Show details
»»»»» name string¦null false none Service details string description
»»»»» unitCount number(double) false none Unit count
»»»»» percentOfFullRate number(double) false none Percentage of the full rate for the specific unit category
»» accuracyDegree ProjectQuoteAccuracyDegree(int32) false none none

Enumerated Values

Property Value
approvalStatus NotApproved
approvalStatus Approved
approvalStatus ApprovalRequested
paymentStatus NotPaid
paymentStatus Paid
paymentStatus AwaitingPayment
accuracyDegree EstimatedByWordsCount
accuracyDegree EstimatedByTmMatches
accuracyDegree AutoCalculatedExact
accuracyDegree ManuallyEntered
unitType Char
unitType Word
unitType Page
unitType Hour
unitType Minute
unitType Document
unitType Service
unitType Day
unitType Month
accuracyDegree EstimatedByWordsCount
accuracyDegree EstimatedByTmMatches
accuracyDegree AutoCalculatedExact
accuracyDegree ManuallyEntered

Fetch a list of quotes by a list of projects

Code samples

GET /api/integration/v1/Quote/ListByProjectIds?projectIds=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/Quote/ListByProjectIds?projectIds=497f6eca-6276-4993-bfeb-53cbbbba6f08 \
  -H 'Accept: text/plain'

GET /api/integration/v1/Quote/ListByProjectIds

Parameters

Name In Type Required Description
projectIds query array[string] true List of projects

Example responses

200 Response

[{"id":"string","creationDate":"2019-08-24T14:15:22Z","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","deadline":"2019-08-24T14:15:22Z","clientContactName":"string","clientContactEmail":"string","dueDate":"2019-08-24T14:15:22Z","cost":0,"currency":"string","approvalStatus":"NotApproved","approvalStatusModificationDate":"2019-08-24T14:15:22Z","paymentStatus":"NotPaid","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","externalFileDetalization":{"serviceName":"string","cost":0,"file":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string"},"accuracyDegree":"EstimatedByWordsCount"},"servicesDetalization":{"services":[{"name":"string","languageId":0,"cost":0,"costDetails":{"unitType":"Char","rate":0,"unitCount":0,"detalizationRows":[{"name":"102% соответствия, повторы, новые слова","unitCount":0,"percentOfFullRate":0}]}}],"accuracyDegree":"EstimatedByWordsCount"}}]
[
  {
    "id": "string",
    "creationDate": "2019-08-24T14:15:22Z",
    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "deadline": "2019-08-24T14:15:22Z",
    "clientContactName": "string",
    "clientContactEmail": "string",
    "dueDate": "2019-08-24T14:15:22Z",
    "cost": 0,
    "currency": "string",
    "approvalStatus": "NotApproved",
    "approvalStatusModificationDate": "2019-08-24T14:15:22Z",
    "paymentStatus": "NotPaid",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "externalFileDetalization": {
      "serviceName": "string",
      "cost": 0,
      "file": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string"
      },
      "accuracyDegree": "EstimatedByWordsCount"
    },
    "servicesDetalization": {
      "services": [
        {
          "name": "string",
          "languageId": 0,
          "cost": 0,
          "costDetails": {
            "unitType": "Char",
            "rate": 0,
            "unitCount": 0,
            "detalizationRows": [
              {
                "name": "102% соответствия, повторы, новые слова",
                "unitCount": 0,
                "percentOfFullRate": 0
              }
            ]
          }
        }
      ],
      "accuracyDegree": "EstimatedByWordsCount"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [QuoteModel] false none [Project quote model]
» id string false none Quote ID
» creationDate string(date-time) false none Quote creation date
» accountId string(uuid) false none ID of the account associated with the quote
» projectId string(uuid) false none ID of the project associated with the quote
» deadline string(date-time)¦null false none Project deadline
» clientContactName string¦null false none Client's contact person name
» clientContactEmail string¦null false none Client's contact person email
» dueDate string(date-time)¦null false none Get approval by
» cost number(double)¦null false none Cost
» currency string¦null false none Currency
» approvalStatus ApprovalStatus(int32) false none none
» approvalStatusModificationDate string(date-time)¦null false none Date of the quote approval status change
» paymentStatus QuotePaymentStatus(int32) false none none
» clientId string(uuid)¦null false none Project client ID
» externalFileDetalization ExternalFileDetalizationModel false none Uploaded file with quote details
»» serviceName string¦null false none Service name
»» cost number(double)¦null false none Service cost
»» file UploadedQuoteFileModel false none Quote as an attached file
»»» id string(uuid) false none ID
»»» name string¦null false none Name
»» accuracyDegree ProjectQuoteAccuracyDegree(int32) false none none
» servicesDetalization ServicesDetalizationModel false none Quote details generated by Smartcat
»» services [QuoteServiceModel]¦null false none LIS service model
»»» name string¦null false none Name
»»» languageId integer(int32)¦null false none Target language ID
»»» cost number(double)¦null false none Service cost
»»» costDetails CostDetailsModel false none DTO model of a quoted service price details
»»»» unitType WebApi.WorkUnitType(int32) false none none
»»»» rate number(double)¦null false none Rate
»»»» unitCount number(double)¦null false none Unit count
»»»» detalizationRows [DetalizationRowModel]¦null false none Show details
»»»»» name string¦null false none Service details string description
»»»»» unitCount number(double) false none Unit count
»»»»» percentOfFullRate number(double) false none Percentage of the full rate for the specific unit category
»» accuracyDegree ProjectQuoteAccuracyDegree(int32) false none none

Enumerated Values

Property Value
approvalStatus NotApproved
approvalStatus Approved
approvalStatus ApprovalRequested
paymentStatus NotPaid
paymentStatus Paid
paymentStatus AwaitingPayment
accuracyDegree EstimatedByWordsCount
accuracyDegree EstimatedByTmMatches
accuracyDegree AutoCalculatedExact
accuracyDegree ManuallyEntered
unitType Char
unitType Word
unitType Page
unitType Hour
unitType Minute
unitType Document
unitType Service
unitType Day
unitType Month
accuracyDegree EstimatedByWordsCount
accuracyDegree EstimatedByTmMatches
accuracyDegree AutoCalculatedExact
accuracyDegree ManuallyEntered

Fetch the list of quotes for the current account

Code samples

GET /api/integration/v1/Quote/List HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/Quote/List \
  -H 'Accept: text/plain'

GET /api/integration/v1/Quote/List

Example responses

200 Response

[{"id":"string","creationDate":"2019-08-24T14:15:22Z","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","deadline":"2019-08-24T14:15:22Z","clientContactName":"string","clientContactEmail":"string","dueDate":"2019-08-24T14:15:22Z","cost":0,"currency":"string","approvalStatus":"NotApproved","approvalStatusModificationDate":"2019-08-24T14:15:22Z","paymentStatus":"NotPaid","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","externalFileDetalization":{"serviceName":"string","cost":0,"file":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string"},"accuracyDegree":"EstimatedByWordsCount"},"servicesDetalization":{"services":[{"name":"string","languageId":0,"cost":0,"costDetails":{"unitType":"Char","rate":0,"unitCount":0,"detalizationRows":[{"name":"102% соответствия, повторы, новые слова","unitCount":0,"percentOfFullRate":0}]}}],"accuracyDegree":"EstimatedByWordsCount"}}]
[
  {
    "id": "string",
    "creationDate": "2019-08-24T14:15:22Z",
    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "deadline": "2019-08-24T14:15:22Z",
    "clientContactName": "string",
    "clientContactEmail": "string",
    "dueDate": "2019-08-24T14:15:22Z",
    "cost": 0,
    "currency": "string",
    "approvalStatus": "NotApproved",
    "approvalStatusModificationDate": "2019-08-24T14:15:22Z",
    "paymentStatus": "NotPaid",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "externalFileDetalization": {
      "serviceName": "string",
      "cost": 0,
      "file": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string"
      },
      "accuracyDegree": "EstimatedByWordsCount"
    },
    "servicesDetalization": {
      "services": [
        {
          "name": "string",
          "languageId": 0,
          "cost": 0,
          "costDetails": {
            "unitType": "Char",
            "rate": 0,
            "unitCount": 0,
            "detalizationRows": [
              {
                "name": "102% соответствия, повторы, новые слова",
                "unitCount": 0,
                "percentOfFullRate": 0
              }
            ]
          }
        }
      ],
      "accuracyDegree": "EstimatedByWordsCount"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [QuoteModel] false none [Project quote model]
» id string false none Quote ID
» creationDate string(date-time) false none Quote creation date
» accountId string(uuid) false none ID of the account associated with the quote
» projectId string(uuid) false none ID of the project associated with the quote
» deadline string(date-time)¦null false none Project deadline
» clientContactName string¦null false none Client's contact person name
» clientContactEmail string¦null false none Client's contact person email
» dueDate string(date-time)¦null false none Get approval by
» cost number(double)¦null false none Cost
» currency string¦null false none Currency
» approvalStatus ApprovalStatus(int32) false none none
» approvalStatusModificationDate string(date-time)¦null false none Date of the quote approval status change
» paymentStatus QuotePaymentStatus(int32) false none none
» clientId string(uuid)¦null false none Project client ID
» externalFileDetalization ExternalFileDetalizationModel false none Uploaded file with quote details
»» serviceName string¦null false none Service name
»» cost number(double)¦null false none Service cost
»» file UploadedQuoteFileModel false none Quote as an attached file
»»» id string(uuid) false none ID
»»» name string¦null false none Name
»» accuracyDegree ProjectQuoteAccuracyDegree(int32) false none none
» servicesDetalization ServicesDetalizationModel false none Quote details generated by Smartcat
»» services [QuoteServiceModel]¦null false none LIS service model
»»» name string¦null false none Name
»»» languageId integer(int32)¦null false none Target language ID
»»» cost number(double)¦null false none Service cost
»»» costDetails CostDetailsModel false none DTO model of a quoted service price details
»»»» unitType WebApi.WorkUnitType(int32) false none none
»»»» rate number(double)¦null false none Rate
»»»» unitCount number(double)¦null false none Unit count
»»»» detalizationRows [DetalizationRowModel]¦null false none Show details
»»»»» name string¦null false none Service details string description
»»»»» unitCount number(double) false none Unit count
»»»»» percentOfFullRate number(double) false none Percentage of the full rate for the specific unit category
»» accuracyDegree ProjectQuoteAccuracyDegree(int32) false none none

Enumerated Values

Property Value
approvalStatus NotApproved
approvalStatus Approved
approvalStatus ApprovalRequested
paymentStatus NotPaid
paymentStatus Paid
paymentStatus AwaitingPayment
accuracyDegree EstimatedByWordsCount
accuracyDegree EstimatedByTmMatches
accuracyDegree AutoCalculatedExact
accuracyDegree ManuallyEntered
unitType Char
unitType Word
unitType Page
unitType Hour
unitType Minute
unitType Document
unitType Service
unitType Day
unitType Month
accuracyDegree EstimatedByWordsCount
accuracyDegree EstimatedByTmMatches
accuracyDegree AutoCalculatedExact
accuracyDegree ManuallyEntered

Update information on the project quote

Code samples

PUT /api/integration/v1/Quote/Update HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X PUT /api/integration/v1/Quote/Update \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

PUT /api/integration/v1/Quote/Update

Body parameter

{
  "id": "string",
  "creationDate": "2019-08-24T14:15:22Z",
  "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "deadline": "2019-08-24T14:15:22Z",
  "clientContactName": "string",
  "clientContactEmail": "string",
  "dueDate": "2019-08-24T14:15:22Z",
  "cost": 0,
  "currency": "string",
  "approvalStatus": "NotApproved",
  "approvalStatusModificationDate": "2019-08-24T14:15:22Z",
  "paymentStatus": "NotPaid",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "externalFileDetalization": {
    "serviceName": "string",
    "cost": 0,
    "file": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string"
    },
    "accuracyDegree": "EstimatedByWordsCount"
  },
  "servicesDetalization": {
    "services": [
      {
        "name": "string",
        "languageId": 0,
        "cost": 0,
        "costDetails": {
          "unitType": "Char",
          "rate": 0,
          "unitCount": 0,
          "detalizationRows": [
            {
              "name": "102% соответствия, повторы, новые слова",
              "unitCount": 0,
              "percentOfFullRate": 0
            }
          ]
        }
      }
    ],
    "accuracyDegree": "EstimatedByWordsCount"
  }
}

Parameters

Name In Type Required Description
body body QuoteModel true Project quote model

Example responses

200 Response

{"id":"string","creationDate":"2019-08-24T14:15:22Z","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","deadline":"2019-08-24T14:15:22Z","clientContactName":"string","clientContactEmail":"string","dueDate":"2019-08-24T14:15:22Z","cost":0,"currency":"string","approvalStatus":"NotApproved","approvalStatusModificationDate":"2019-08-24T14:15:22Z","paymentStatus":"NotPaid","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","externalFileDetalization":{"serviceName":"string","cost":0,"file":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string"},"accuracyDegree":"EstimatedByWordsCount"},"servicesDetalization":{"services":[{"name":"string","languageId":0,"cost":0,"costDetails":{"unitType":"Char","rate":0,"unitCount":0,"detalizationRows":[{"name":"102% соответствия, повторы, новые слова","unitCount":0,"percentOfFullRate":0}]}}],"accuracyDegree":"EstimatedByWordsCount"}}
{
  "id": "string",
  "creationDate": "2019-08-24T14:15:22Z",
  "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "deadline": "2019-08-24T14:15:22Z",
  "clientContactName": "string",
  "clientContactEmail": "string",
  "dueDate": "2019-08-24T14:15:22Z",
  "cost": 0,
  "currency": "string",
  "approvalStatus": "NotApproved",
  "approvalStatusModificationDate": "2019-08-24T14:15:22Z",
  "paymentStatus": "NotPaid",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "externalFileDetalization": {
    "serviceName": "string",
    "cost": 0,
    "file": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string"
    },
    "accuracyDegree": "EstimatedByWordsCount"
  },
  "servicesDetalization": {
    "services": [
      {
        "name": "string",
        "languageId": 0,
        "cost": 0,
        "costDetails": {
          "unitType": "Char",
          "rate": 0,
          "unitCount": 0,
          "detalizationRows": [
            {
              "name": "102% соответствия, повторы, новые слова",
              "unitCount": 0,
              "percentOfFullRate": 0
            }
          ]
        }
      }
    ],
    "accuracyDegree": "EstimatedByWordsCount"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed QuoteModel
400 Bad Request Returns if:

Upload a project quote details file

Code samples

POST /api/integration/v1/Quote/{id}/Upload HTTP/1.1

Content-Type: multipart/form-data

# You can also use wget
curl -X POST /api/integration/v1/Quote/{id}/Upload \
  -H 'Content-Type: multipart/form-data'

POST /api/integration/v1/Quote/{id}/Upload

Body parameter

file: string

Parameters

Name In Type Required Description
id path string true none
body body object true none
» file body string(binary) false none

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed None
400 Bad Request Returns if:

Approve a quote

Code samples

POST /api/integration/v1/Quote/{id}/Approve HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/Quote/{id}/Approve \
  -H 'Accept: text/plain'

POST /api/integration/v1/Quote/{id}/Approve

Parameters

Name In Type Required Description
id path string true Project quote ID

Example responses

200 Response

{"id":"string","creationDate":"2019-08-24T14:15:22Z","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","deadline":"2019-08-24T14:15:22Z","clientContactName":"string","clientContactEmail":"string","dueDate":"2019-08-24T14:15:22Z","cost":0,"currency":"string","approvalStatus":"NotApproved","approvalStatusModificationDate":"2019-08-24T14:15:22Z","paymentStatus":"NotPaid","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","externalFileDetalization":{"serviceName":"string","cost":0,"file":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string"},"accuracyDegree":"EstimatedByWordsCount"},"servicesDetalization":{"services":[{"name":"string","languageId":0,"cost":0,"costDetails":{"unitType":"Char","rate":0,"unitCount":0,"detalizationRows":[{"name":"102% соответствия, повторы, новые слова","unitCount":0,"percentOfFullRate":0}]}}],"accuracyDegree":"EstimatedByWordsCount"}}
{
  "id": "string",
  "creationDate": "2019-08-24T14:15:22Z",
  "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "deadline": "2019-08-24T14:15:22Z",
  "clientContactName": "string",
  "clientContactEmail": "string",
  "dueDate": "2019-08-24T14:15:22Z",
  "cost": 0,
  "currency": "string",
  "approvalStatus": "NotApproved",
  "approvalStatusModificationDate": "2019-08-24T14:15:22Z",
  "paymentStatus": "NotPaid",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "externalFileDetalization": {
    "serviceName": "string",
    "cost": 0,
    "file": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string"
    },
    "accuracyDegree": "EstimatedByWordsCount"
  },
  "servicesDetalization": {
    "services": [
      {
        "name": "string",
        "languageId": 0,
        "cost": 0,
        "costDetails": {
          "unitType": "Char",
          "rate": 0,
          "unitCount": 0,
          "detalizationRows": [
            {
              "name": "102% соответствия, повторы, новые слова",
              "unitCount": 0,
              "percentOfFullRate": 0
            }
          ]
        }
      }
    ],
    "accuracyDegree": "EstimatedByWordsCount"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed QuoteModel
400 Bad Request Returns if:

Mark the quote as paid

Code samples

POST /api/integration/v1/Quote/{id}/MarkAsPaid HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/Quote/{id}/MarkAsPaid \
  -H 'Accept: text/plain'

POST /api/integration/v1/Quote/{id}/MarkAsPaid

Parameters

Name In Type Required Description
id path string true Project quote ID

Example responses

200 Response

{"id":"string","creationDate":"2019-08-24T14:15:22Z","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","deadline":"2019-08-24T14:15:22Z","clientContactName":"string","clientContactEmail":"string","dueDate":"2019-08-24T14:15:22Z","cost":0,"currency":"string","approvalStatus":"NotApproved","approvalStatusModificationDate":"2019-08-24T14:15:22Z","paymentStatus":"NotPaid","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","externalFileDetalization":{"serviceName":"string","cost":0,"file":{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string"},"accuracyDegree":"EstimatedByWordsCount"},"servicesDetalization":{"services":[{"name":"string","languageId":0,"cost":0,"costDetails":{"unitType":"Char","rate":0,"unitCount":0,"detalizationRows":[{"name":"102% соответствия, повторы, новые слова","unitCount":0,"percentOfFullRate":0}]}}],"accuracyDegree":"EstimatedByWordsCount"}}
{
  "id": "string",
  "creationDate": "2019-08-24T14:15:22Z",
  "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "deadline": "2019-08-24T14:15:22Z",
  "clientContactName": "string",
  "clientContactEmail": "string",
  "dueDate": "2019-08-24T14:15:22Z",
  "cost": 0,
  "currency": "string",
  "approvalStatus": "NotApproved",
  "approvalStatusModificationDate": "2019-08-24T14:15:22Z",
  "paymentStatus": "NotPaid",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "externalFileDetalization": {
    "serviceName": "string",
    "cost": 0,
    "file": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "string"
    },
    "accuracyDegree": "EstimatedByWordsCount"
  },
  "servicesDetalization": {
    "services": [
      {
        "name": "string",
        "languageId": 0,
        "cost": 0,
        "costDetails": {
          "unitType": "Char",
          "rate": 0,
          "unitCount": 0,
          "detalizationRows": [
            {
              "name": "102% соответствия, повторы, новые слова",
              "unitCount": 0,
              "percentOfFullRate": 0
            }
          ]
        }
      }
    ],
    "accuracyDegree": "EstimatedByWordsCount"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed QuoteModel
400 Bad Request Returns if:

Download a cost calculation file

Code samples

GET /api/integration/v1/Quote/{id}/File HTTP/1.1

# You can also use wget
curl -X GET /api/integration/v1/Quote/{id}/File

GET /api/integration/v1/Quote/{id}/File

Parameters

Name In Type Required Description
id path string true Quote ID

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed None
400 Bad Request The specified project ID's format is incorrect None
403 Forbidden The project is not associated with the account None
404 Not Found Returns if:

SegmentConfirmationStatistics

Fetch segment confirmation statistics

Code samples

GET /api/integration/v2/segment-confirmation-statistics/{projectId} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v2/segment-confirmation-statistics/{projectId} \
  -H 'Accept: text/plain'

GET /api/integration/v2/segment-confirmation-statistics/{projectId}

Parameters

Name In Type Required Description
projectId path string(uuid) true Project ID
from query string(date-time) false The period starting date for which statistics are requested. If not specified, this argument is not applicable
to query string(date-time) false The period end date for which statistics are requested. If not specified, this argument is not applicable
documentId query string false Document ID
targetLanguage query string false Target language code
userId query string false ID of the supplier (user). If not specified, include all suppliers

Example responses

200 Response

[{"date":"2019-08-24T14:15:22Z","userId":"string","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","vendorAccountId":"89da8c26-077c-44e3-a99b-ccbc594d33b7","externalTag":"string","stageType":"Translation","projectId":"5a8591dd-4039-49df-9202-96385ba3eff8","documentId":"string","language":"string","jobId":"string","wordcounts":{"repetitions":0,"crossDocumentRepetitions":0,"mt":0,"externalSource":0,"confirmedWithoutAnySource":0,"tmMatches":{"property1":0,"property2":0}},"changeStamp":"8fc00c9d-7b89-4d6e-8193-097cd17fbb71","isConfirmedByPretranslate":true}]
[
  {
    "date": "2019-08-24T14:15:22Z",
    "userId": "string",
    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
    "vendorAccountId": "89da8c26-077c-44e3-a99b-ccbc594d33b7",
    "externalTag": "string",
    "stageType": "Translation",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "documentId": "string",
    "language": "string",
    "jobId": "string",
    "wordcounts": {
      "repetitions": 0,
      "crossDocumentRepetitions": 0,
      "mt": 0,
      "externalSource": 0,
      "confirmedWithoutAnySource": 0,
      "tmMatches": {
        "property1": 0,
        "property2": 0
      }
    },
    "changeStamp": "8fc00c9d-7b89-4d6e-8193-097cd17fbb71",
    "isConfirmedByPretranslate": true
  }
]

Responses

Status Meaning Description Schema
200 OK Success Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [UserSegmentConfirmationStatisticsModel] false none [Item (record) model of segment acknowledgment statistics]
» date string(date-time) true none The date for which statistics were collected
» userId string true none User ID
» accountId string(uuid) true none The account in which the project was created
» vendorAccountId string(uuid)¦null false none Vendor account, if the vendor is assigned and the translation was performed by the user of their account
» externalTag string¦null false none External system tag
» stageType StageType(int32) false none Workflow stage type
» projectId string(uuid) true none Project ID
» documentId string true none Document ID
» language string true none Target language
» jobId string¦null false none Job ID, if a job was created
» wordcounts SegmentConfirmationStatisticsWordcountsModel true none Word count model for segment confirmation statistics
»» repetitions integer(int32) false none Number of repeated words in a document
»» crossDocumentRepetitions integer(int32) false none Number of repeated words in other project documents
»» mt integer(int32) false none MT words count
»» externalSource integer(int32) false none External sources word count
»» confirmedWithoutAnySource integer(int32) false none Word count from the editor without using MT or TM
»» tmMatches object¦null false none TM word count
»»» additionalProperties integer(int32) false none none
» changeStamp string(uuid) false none Change stamp
» isConfirmedByPretranslate boolean false none Statistics for segments confirmed by pre-translation

Enumerated Values

Property Value
stageType Translation
stageType Editing
stageType Proofreading
stageType Postediting
stageType FinalPageProof
stageType Notarization
stageType CertifiedTranslation
stageType Transcreation
stageType Legalization
stageType PreliminaryPageProof

SmartTranslation

Fetch translation

Code samples

POST /api/integration/v1/smartTranslation/translate HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/smartTranslation/translate \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/smartTranslation/translate

Body parameter

{
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "profile": "string",
  "externalTag": "string",
  "isHtml": true,
  "texts": [
    {
      "text": "string",
      "context": "string"
    }
  ]
}

Parameters

Name In Type Required Description
body body SmartTranslationRequest false none

Example responses

200 Response

{"translations":{"property1":[{"translation":"string","error":true}],"property2":[{"translation":"string","error":true}]}}
{
  "translations": {
    "property1": [
      {
        "translation": "string",
        "error": true
      }
    ],
    "property2": [
      {
        "translation": "string",
        "error": true
      }
    ]
  }
}

Responses

Status Meaning Description Schema
200 OK Success SmartTranslationResponse

Subscriptions

post__api_integration_v1_Subscriptions

Code samples

POST /api/integration/v1/Subscriptions HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/Subscriptions \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/Subscriptions

Body parameter

{
  "data": {
    "object": {
      "id": "string",
      "customer": "string",
      "subscription": "string",
      "lines": {
        "data": [
          {
            "amount": 0,
            "price": {
              "currency": "string"
            },
            "plan": {
              "id": "string"
            },
            "period": {
              "end": 0,
              "start": 0
            }
          }
        ]
      }
    }
  }
}

Parameters

Name In Type Required Description
body body InvoiceEventModel false none

Responses

Status Meaning Description Schema
200 OK Success None

TranslationMemories

Fetch information about the TM

Code samples

GET /api/integration/v1/translationmemory/{tmId} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/translationmemory/{tmId} \
  -H 'Accept: text/plain'

GET /api/integration/v1/translationmemory/{tmId}

Parameters

Name In Type Required Description
tmId path string(uuid) true TM ID

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","name":"string","description":"string","sourceLanguage":"string","targetLanguages":["string"],"createdDate":"2019-08-24T14:15:22Z","isAutomaticallyCreated":true,"unitCountByLanguageId":{"property1":0,"property2":0}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "name": "string",
  "description": "string",
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "createdDate": "2019-08-24T14:15:22Z",
  "isAutomaticallyCreated": true,
  "unitCountByLanguageId": {
    "property1": 0,
    "property2": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed TranslationMemoryModel
403 Forbidden The account cannot access the TM with the specified ID None
404 Not Found TM with the specified was not found None

Import TMX files to a TM

Code samples

POST /api/integration/v1/translationmemory/{tmId}?replaceAllContent=true HTTP/1.1

Content-Type: multipart/form-data

# You can also use wget
curl -X POST /api/integration/v1/translationmemory/{tmId}?replaceAllContent=true \
  -H 'Content-Type: multipart/form-data'

POST /api/integration/v1/translationmemory/{tmId}

Body parameter

tmxFile: string

Parameters

Name In Type Required Description
tmId path string(uuid) true TM ID
replaceAllContent query boolean true Complete replacement of the TM contents is required
assuranceLevel query IntegrationApiTMTranslationAssuranceLevel false Translation assurance level. Calculated based on the document editing stage at which the TM unit was saved.
body body object true TMX file to be uploaded
» tmxFile body string(binary) false none

Enumerated Values

Parameter Value
assuranceLevel MT
assuranceLevel Questionable
assuranceLevel Regular
assuranceLevel Qualified

Responses

Status Meaning Description Schema
204 No Content TMX file has been successfully imported None
400 Bad Request Imported file is not a TMX file None
403 Forbidden The account cannot access the TM with the specified ID None
404 Not Found TM with the specified ID was not found None

Delete a TM

Code samples

DELETE /api/integration/v1/translationmemory/{tmId} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/translationmemory/{tmId}

DELETE /api/integration/v1/translationmemory/{tmId}

Parameters

Name In Type Required Description
tmId path string(uuid) true TM ID

Responses

Status Meaning Description Schema
204 No Content TM has been successfully deleted None
400 Bad Request The TM has Write permissions in the account None
404 Not Found TM with the specified ID was not found None

Fetch the available TMs filtered per account

Code samples

GET /api/integration/v1/translationmemory?lastProcessedId=497f6eca-6276-4993-bfeb-53cbbbba6f08&batchSize=0 HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/translationmemory?lastProcessedId=497f6eca-6276-4993-bfeb-53cbbbba6f08&batchSize=0 \
  -H 'Accept: text/plain'

GET /api/integration/v1/translationmemory

Parameters

Name In Type Required Description
lastProcessedId query string(uuid) true The latest ID fetched by the previous query
batchSize query integer(int32) true Required size of the returned batch
sourceLanguage query string false Source language (optional)
targetLanguage query string false Target language (optional)
clientId query string(uuid) false Client ID (optional)
searchName query string false TM partial name (optional)

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","clientId":"5e505642-9024-474d-9434-e5a44f505cc5","name":"string","description":"string","sourceLanguage":"string","targetLanguages":["string"],"createdDate":"2019-08-24T14:15:22Z","isAutomaticallyCreated":true,"unitCountByLanguageId":{"property1":0,"property2":0}}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "name": "string",
    "description": "string",
    "sourceLanguage": "string",
    "targetLanguages": [
      "string"
    ],
    "createdDate": "2019-08-24T14:15:22Z",
    "isAutomaticallyCreated": true,
    "unitCountByLanguageId": {
      "property1": 0,
      "property2": 0
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
204 No Content TM collection is empty None
400 Bad Request The required TM collection size is larger than 100 None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [TranslationMemoryModel] false none [TM model]
» id string(uuid) false none TM ID
» accountId string(uuid) false none Corporate account ID
» clientId string(uuid)¦null false none Сlient ID
» name string¦null false none TM name
» description string¦null false none Description
» sourceLanguage string¦null false none Source language ID
» targetLanguages [string]¦null false none Target languages
» createdDate string(date-time) false none TM creation date and time
» isAutomaticallyCreated boolean false none Specifies whether the TM was created automatically
» unitCountByLanguageId object¦null false none Unit count by language
»» additionalProperties integer(int32) false none none

Create an empty TM

Code samples

POST /api/integration/v1/translationmemory HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X POST /api/integration/v1/translationmemory \
  -H 'Content-Type: application/json-patch+json'

POST /api/integration/v1/translationmemory

Body parameter

{
  "name": "string",
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "description": "string",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5"
}

Parameters

Name In Type Required Description
body body CreateTranslationMemoryModel true TM creation model

Responses

Status Meaning Description Schema
201 Created TM has been successfully created None
400 Bad Request Returns if:

Fetch a collection of TMX file import tasks

Code samples

GET /api/integration/v1/translationmemory/task HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/translationmemory/task \
  -H 'Accept: text/plain'

GET /api/integration/v1/translationmemory/task

Example responses

200 Response

[{"accountId":"3d07c219-0a88-45be-9cfc-91e9d095a1e9","id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","translationMemoryId":"5e0ba7bd-80c0-41ff-b3fa-24d36144aa9a","state":"string","insertedUnitCount":0}]
[
  {
    "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "translationMemoryId": "5e0ba7bd-80c0-41ff-b3fa-24d36144aa9a",
    "state": "string",
    "insertedUnitCount": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline
404 Not Found There are no unprocessed import tasks in the account None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [TMImportTaskModel] false none [TM import task model]
» accountId string(uuid) false none Account ID
» id string(uuid) false none Task ID
» translationMemoryId string(uuid) false none TM database ID
» state string¦null false none Task status
» insertedUnitCount integer(int32) false none Inserted unit count

Export TMX files from the TM database

Code samples

GET /api/integration/v1/translationmemory/{tmId}/file?exportMode=TmxDefault&withTags=true HTTP/1.1

# You can also use wget
curl -X GET /api/integration/v1/translationmemory/{tmId}/file?exportMode=TmxDefault&withTags=true

GET /api/integration/v1/translationmemory/{tmId}/file

Parameters

Name In Type Required Description
tmId path string(uuid) true TM ID
exportMode query TMExportMode true Export mode
withTags query boolean true Specifies whether to include tags into export results

Enumerated Values

Parameter Value
exportMode TmxDefault
exportMode TmxWithTrados2009PlusCompatibility
exportMode TmxWithTrados2007Compatibility
exportMode Excel

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed None
403 Forbidden The account cannot access the TM with the specified ID None
404 Not Found TM with the specified was not found None

Fetch matches from the specified TM

Code samples

POST /api/integration/v1/translationmemory/matches?tmId=497f6eca-6276-4993-bfeb-53cbbbba6f08 HTTP/1.1

Content-Type: application/json-patch+json
Accept: text/plain

# You can also use wget
curl -X POST /api/integration/v1/translationmemory/matches?tmId=497f6eca-6276-4993-bfeb-53cbbbba6f08 \
  -H 'Content-Type: application/json-patch+json' \
  -H 'Accept: text/plain'

POST /api/integration/v1/translationmemory/matches

Body parameter

{
  "sourceLanguage": "string",
  "targetLanguage": "string",
  "segmentModel": {
    "text": "string",
    "prevContext": "string",
    "nextContext": "string",
    "tags": [
      {
        "tagNumber": 0,
        "tagType": "string",
        "position": 0,
        "isVirtual": true,
        "isInvisible": true
      }
    ]
  },
  "matchThreshold": 0
}

Parameters

Name In Type Required Description
tmId query string(uuid) true ID of the TM for the match search
body body TMMatchesRequest true TM match segments request

Example responses

200 Response

{"sourceText":"string","targetText":"string","segmentMatch":0,"tags":[{"position":0,"order":0}],"assuranceLevel":"MT"}
{
  "sourceText": "string",
  "targetText": "string",
  "segmentMatch": 0,
  "tags": [
    {
      "position": 0,
      "order": 0
    }
  ],
  "assuranceLevel": "MT"
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed SegmentWithMatchesModel
400 Bad Request Returns if:

Add an array of target languages to a TM

Code samples

PUT /api/integration/v1/translationmemory/{tmId}/targets HTTP/1.1

Content-Type: application/json-patch+json

# You can also use wget
curl -X PUT /api/integration/v1/translationmemory/{tmId}/targets \
  -H 'Content-Type: application/json-patch+json'

PUT /api/integration/v1/translationmemory/{tmId}/targets

Body parameter

[
  "string"
]

Parameters

Name In Type Required Description
tmId path string(uuid) true TM ID
body body array[string] true Array of the required target languages

Responses

Status Meaning Description Schema
204 No Content Request has been successfully completed None
400 Bad Request Returns if:

Removes the specified import task

Code samples

DELETE /api/integration/v1/translationmemory/task/{taskId} HTTP/1.1

# You can also use wget
curl -X DELETE /api/integration/v1/translationmemory/task/{taskId}

DELETE /api/integration/v1/translationmemory/task/{taskId}

Parameters

Name In Type Required Description
taskId path string(uuid) true ID of a task to be imported to the TM

Responses

Status Meaning Description Schema
204 No Content The import task has been successfully deleted None
403 Forbidden The account cannot access the TM with the specified ID None
404 Not Found TM import task with the specified ID was not found None

Vendor

Fetch the list of vendors

Code samples

GET /api/integration/v1/vendor/list HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/vendor/list \
  -H 'Accept: text/plain'

GET /api/integration/v1/vendor/list

Example responses

200 Response

[{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","customFields":{"property1":"string","property2":"string"}}]
[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "customFields": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [VendorModel] false none [Vendor model]
» id string(uuid) false none ID
» name string¦null false none Company name
» customFields object¦null false none Custom fields
»» additionalProperties string false none none

Fetch a vendor by ID

Code samples

GET /api/integration/v1/vendor/{vendorAccountId} HTTP/1.1

Accept: text/plain

# You can also use wget
curl -X GET /api/integration/v1/vendor/{vendorAccountId} \
  -H 'Accept: text/plain'

GET /api/integration/v1/vendor/{vendorAccountId}

Parameters

Name In Type Required Description
vendorAccountId path string(uuid) true Vendor ID

Example responses

200 Response

{"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","name":"string","customFields":{"property1":"string","property2":"string"}}
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "customFields": {
    "property1": "string",
    "property2": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Request has been successfully completed VendorModel
400 Bad Request The specified vendor ID's format is incorrect None
404 Not Found The provided vendor ID does not exist or the vendor is not associated with the account None

Schemas

AccountModel

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "isPersonal": true,
  "type": "string",
  "dateCreated": "2019-08-24T14:15:22Z",
  "interInstallationAccountId": "c16d9809-1e67-440d-94b4-a0445ba230f2",
  "createdByUserId": "string"
}

Account details for external systems

Properties

Name Type Required Restrictions Description
id string(uuid) false none ID
name string¦null false none Name
isPersonal boolean false none Specifies whether it is the user's personal account
type string¦null false none Account type
dateCreated string(date-time) false none Creation date
interInstallationAccountId string(uuid) false none Account ID for interacting with resources shared between installations
createdByUserId string¦null false none Идентификатор пользователя, создавшего аккаунт

AddBatchResult

{
  "id": "string",
  "index": 0,
  "success": true
}

Entity creation result model for batch addition

Properties

Name Type Required Restrictions Description
id string¦null false none ID of a created entity
index integer(int32) false none ID of an entity assigned upon its addition to a batch
success boolean false none Entity was successfully created

AdditionalHeaderModel

{
  "name": "string",
  "value": "string"
}

User header model

Properties

Name Type Required Restrictions Description
name string¦null false none Header name
value string¦null false none Value

AgreementModel

{
  "agreementId": "string",
  "balances": [
    {
      "currency": "string",
      "freeMoney": 0,
      "deposit": 0,
      "total": 0
    }
  ]
}

Properties

Name Type Required Restrictions Description
agreementId string false none none
balances [Balance]¦null false none none

ApprovalStatus

"NotApproved"

Properties

Name Type Required Restrictions Description
anonymous string(int32) false none none

Enumerated Values

Property Value
anonymous NotApproved
anonymous Approved
anonymous ApprovalRequested

AssignedExecutiveModel

{
  "assignedWordsCount": 0,
  "progress": 0,
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "supplierType": "Freelancer"
}

Model of a linguist assigned to a document workflow stage

Properties

Name Type Required Restrictions Description
assignedWordsCount integer(int32) false none Assigned word count
progress number(double) false none Completion percentage
id string(uuid) false none User ID
supplierType SupplierType false none Linguist type

AssignExecutivesRequestModel

{
  "executives": [],
  "minWordsCountForExecutive": 0,
  "assignmentMode": "DistributeAmongAll"
}

Input model of a request for assigning account freelancers or users to a document

Properties

Name Type Required Restrictions Description
executives [AssignExecutivesRequestModel+Executive]¦null false none Linguists
minWordsCountForExecutive integer(int32)¦null false none Minimal word count per linguist. Optional parameter applicable if the word count for the linguist is not explicitly defined.
The remaining document portion assigned to the last linguist might be smaller than the minimum
assignmentMode AssignmentMode false none Linguist assignment mode

AssignExecutivesRequestModel+Executive

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "wordsCount": 0
}

Model for the assignment of a freelancer or account user to a document

Properties

Name Type Required Restrictions Description
id string(uuid) false none Identifier (UserId for freelancers, AccountUserId for linguists)
wordsCount integer(int32)¦null false none Word count assigned to the linguist. Optional.

AssignmentMode

"DistributeAmongAll"

Linguist assignment mode

Properties

Name Type Required Restrictions Description
anonymous string(int32) false none Linguist assignment mode

Enumerated Values

Property Value
anonymous DistributeAmongAll
anonymous Rocket
anonymous InviteOnly

AssignMyTeamExecutivesRequestModel

{
  "documentIds": [
    "string"
  ],
  "stageNumber": "string",
  "specializations": [
    "Education"
  ],
  "matchProjectClient": true
}

Model for assigning documents to MyTeam executors

Properties

Name Type Required Restrictions Description
documentIds [string]¦null false none Document identifiers
stageNumber string false none Workflow stage number
specializations [Specialization]¦null false none Specializations
matchProjectClient boolean false none Consider the project client

AutoAssignmentMode

"CurrentAssignees"

Auto-assignment mode

Properties

Name Type Required Restrictions Description
anonymous string(int32) false none Auto-assignment mode

Enumerated Values

Property Value
anonymous CurrentAssignees

Balance

{
  "currency": "string",
  "freeMoney": 0,
  "deposit": 0,
  "total": 0
}

Properties

Name Type Required Restrictions Description
currency string¦null false none none
freeMoney number(double) false none none
deposit number(double) false none none
total number(double) false read-only none

BalanceForExport

{
  "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  "agreements": [
    {
      "agreementId": "string",
      "balances": [
        {
          "currency": "string",
          "freeMoney": 0,
          "deposit": 0,
          "total": 0
        }
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
accountId string(uuid) false none none
agreements [AgreementModel]¦null false none none

BankRequisitesModel

{
  "bankName": "string",
  "bankAddress": "string",
  "bic": "string",
  "swift": "string",
  "bankCorrAccount": "string",
  "bankAccount": "string",
  "currency": "string"
}

Properties

Name Type Required Restrictions Description
bankName string¦null false read-only none
bankAddress string¦null false read-only none
bic string¦null false read-only none
swift string¦null false read-only none
bankCorrAccount string¦null false read-only none
bankAccount string¦null false read-only none
currency string¦null false read-only none

BilingualFileImportSetingsModel

{
  "targetSubstitutionMode": "All",
  "lockMode": "None",
  "confirmMode": "None"
}

Bilingual document upload settings model

Properties

Name Type Required Restrictions Description
targetSubstitutionMode TargetSubstitutionMode false none Target substitution mode
lockMode LockMode false none Mode of locking segments at import
confirmMode ConfirmMode false none Mode of segment confirmation at file upload

CallbackErrorModel

{
  "created": "2019-08-24T14:15:22Z",
  "url": "string",
  "reason": "string",
  "code": 0,
  "content": "string",
  "sourceIds": [
    "string"
  ]
}

Callback error description

Properties

Name Type Required Restrictions Description
created string(date-time) false none Callback send time
url string¦null false none Request URL
reason string¦null false none Request failure reason
code integer(int32)¦null false none Server response code
content string¦null false none Server response content
sourceIds [string]¦null false none List of event source IDs

CallbackPropertyModel

{
  "url": "string",
  "additionalHeaders": [
    {
      "name": "string",
      "value": "string"
    }
  ]
}

Notification properties change model

Properties

Name Type Required Restrictions Description
url string¦null false none URL for receiving notifications
additionalHeaders [AdditionalHeaderModel]¦null false none Additional headers array

CancelInvoiceModel

{
  "invoiceId": "string"
}

Invoice cancellation model

Properties

Name Type Required Restrictions Description
invoiceId string¦null false none Invoice ID

ClientAgentInvoiceJobModel

{
  "name": "string",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "description": "string",
  "originalCost": 0,
  "convertedCost": 0,
  "originalCurrency": "string",
  "sourceLanguage": "string",
  "targetLanguage": "string"
}

Properties

Name Type Required Restrictions Description
name string¦null false none none
projectId string(uuid)¦null false none none
description string¦null false none none
originalCost number(double) false none none
convertedCost number(double) false none none
originalCurrency string¦null false read-only none
sourceLanguage string¦null false none none
targetLanguage string¦null false none none

ClientAgentInvoiceModel

{
  "id": "string",
  "number": "string",
  "externalNumber": "string",
  "payerLegalName": "string",
  "payerVat": "string",
  "payerKpp": "string",
  "status": "string",
  "dateCreated": "2019-08-24T14:15:22Z",
  "datePaid": "2019-08-24T14:15:22Z",
  "dueDate": "2019-08-24T14:15:22Z",
  "jobs": [
    {
      "name": "string",
      "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
      "description": "string",
      "originalCost": 0,
      "convertedCost": 0,
      "originalCurrency": "string",
      "sourceLanguage": "string",
      "targetLanguage": "string"
    }
  ],
  "currency": "string",
  "totalCost": 0,
  "isInternalClient": true,
  "paymentDestination": "Balance",
  "bankRequisites": {
    "bankName": "string",
    "bankAddress": "string",
    "bic": "string",
    "swift": "string",
    "bankCorrAccount": "string",
    "bankAccount": "string",
    "currency": "string"
  }
}

Properties

Name Type Required Restrictions Description
id string¦null false none none
number string¦null false none none
externalNumber string¦null false none none
payerLegalName string¦null false none none
payerVat string¦null false none none
payerKpp string¦null false none none
status string¦null false none none
dateCreated string(date-time) false none none
datePaid string(date-time)¦null false none none
dueDate string(date-time)¦null false none none
jobs [ClientAgentInvoiceJobModel]¦null false none none
currency string¦null false none none
totalCost number(double) false none none
isInternalClient boolean false none none
paymentDestination InvoicePaymentReceiveDestination false none none
bankRequisites BankRequisitesModel false none none

ClientIndustryModel

{
  "id": "string",
  "name": "string"
}

Model of an entry in a client's specializations list

Properties

Name Type Required Restrictions Description
id string¦null false none Directory entry ID
name string¦null false none List entry value

ClientModel

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "netRate": {
    "id": "string",
    "name": "string",
    "newWordsRate": 0,
    "repetitionsRate": 0,
    "tmMatchRates": []
  },
  "contact": {
    "email": "string",
    "fullName": "string",
    "phoneNumber": "string",
    "position": "string",
    "comment": "string"
  }
}

Client model

Properties

Name Type Required Restrictions Description
id string(uuid) false none Сlient ID
name string¦null false none Name
netRate NetRateModel false none Rate discounts model
contact ContactModel false none Contact information model

ClientModelV2

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "netRate": {
    "id": "string",
    "name": "string",
    "newWordsRate": 0,
    "repetitionsRate": 0,
    "tmMatchRates": []
  },
  "mainContact": {
    "email": "string",
    "fullName": "string",
    "phoneNumber": "string",
    "position": "string",
    "comment": "string"
  },
  "additionalContacts": [
    {
      "email": "string",
      "fullName": "string",
      "phoneNumber": "string",
      "position": "string",
      "comment": "string"
    }
  ],
  "vat": "string",
  "countryCode": "string",
  "comment": "string",
  "website": "string",
  "industryId": "string",
  "legalName": "string",
  "address": "string",
  "languageId": 0,
  "vendorManager": "string",
  "customFields": {
    "property1": "string",
    "property2": "string"
  }
}

Client model

Properties

Name Type Required Restrictions Description
id string(uuid) false none Сlient ID
name string¦null false none Name
netRate NetRateModel false none Rate discounts model
mainContact ContactModel false none Contact information model
additionalContacts [ContactModel]¦null false none Additional contacts
vat string¦null false none VAT
countryCode string¦null false none Country code
comment string¦null false none Commentary
website string¦null false none Website
industryId string¦null false none Specialization
legalName string¦null false none Legal name
address string¦null false none Address
languageId integer(int32)¦null false none Language
vendorManager string¦null false none Manager
customFields object¦null false none Custom fields
» additionalProperties string false none none

ConfirmMode

"None"

Mode of segment confirmation at file upload

Properties

Name Type Required Restrictions Description
anonymous string(int32) false none Mode of segment confirmation at file upload

Enumerated Values

Property Value
anonymous None
anonymous ByStates
anonymous AtFirstStage
anonymous AtLastStage

ContactModel

{
  "email": "string",
  "fullName": "string",
  "phoneNumber": "string",
  "position": "string",
  "comment": "string"
}

Contact information model

Properties

Name Type Required Restrictions Description
email string¦null false none Client email
fullName string¦null false none Client name
phoneNumber string¦null false none Contact phone number
position string¦null false none Position
comment string¦null false none Commentary

CostDetailsModel

{
  "unitType": "Char",
  "rate": 0,
  "unitCount": 0,
  "detalizationRows": [
    {
      "name": "102% соответствия, повторы, новые слова",
      "unitCount": 0,
      "percentOfFullRate": 0
    }
  ]
}

DTO model of a quoted service price details

Properties

Name Type Required Restrictions Description
unitType WebApi.WorkUnitType false none none
rate number(double)¦null false none Rate
unitCount number(double)¦null false none Unit count
detalizationRows [DetalizationRowModel]¦null false none Show details

CreateBackupModel

{
  "glossaryIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "tmIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Create backup model

Properties

Name Type Required Restrictions Description
glossaryIds [string]¦null false none IDs of glossaries to be saved in a backup copy
tmIds [string]¦null false none IDs of TM to be saved in a backup copy

CreateClientPayInOrder

{
  "totalAmount": 0,
  "currency": "string",
  "serviceDescription": "string",
  "externalId": "string",
  "clientCompanyName": "string",
  "clientCountry": "string",
  "clientVatNumber": "string",
  "clientEmail": "string",
  "uiLanguage": "string",
  "backUrl": "string"
}

Payment request creation model

Properties

Name Type Required Restrictions Description
totalAmount number(double) false none Total amount for payment
currency string¦null false none Currency for payment
serviceDescription string¦null false none Description of services covered by payment
externalId string¦null false none Number of an invoice for provided services sent by the client to the balance owner
clientCompanyName string¦null false none Client company name
clientCountry string¦null false none Client country
clientVatNumber string¦null false none Client VAT
clientEmail string¦null false none Client email
uiLanguage string¦null false none UI language for displaying the means of payment
backUrl string¦null false none BackURL for redirection upon the payment completion

CreateDocumentPropertyModel

{
  "externalId": "string",
  "metaInfo": "string",
  "disassembleAlgorithmName": "string",
  "presetDisassembleAlgorithm": "string",
  "bilingualFileImportSetings": {
    "targetSubstitutionMode": "All",
    "lockMode": "None",
    "confirmMode": "None"
  },
  "targetLanguages": [
    "string"
  ],
  "enablePlaceholders": true,
  "enableOcr": true
}

Created document properties

Properties

Name Type Required Restrictions Description
externalId string¦null false none Optional external ID specified by a client
metaInfo string¦null false none Additional document-related user information (for integration)
disassembleAlgorithmName string¦null false none Optional algorithm of file disassembly
presetDisassembleAlgorithm string¦null false none Optional preset for the file disassembly algorithm
bilingualFileImportSetings BilingualFileImportSetingsModel false none Bilingual document upload settings model
targetLanguages [string]¦null false none Optional array of target languages. Project languages are applied by default.
enablePlaceholders boolean¦null false none Specifies whether to enable placeholders in the document body
enableOcr boolean¦null false none Optional parameter for enabling OCR

CreateInvoiceModel

{
  "jobIds": [
    "string"
  ],
  "targetCurrency": "string"
}

Invoice creation model

Properties

Name Type Required Restrictions Description
jobIds [string]¦null false none Job IDs array
targetCurrency string¦null false none The invoice currency (if not specified or null, the vendor currency will be applied)

CreateProjectBackupTaskState

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "requestTime": "2019-08-24T14:15:22Z",
  "taskState": "Sleep",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8"
}

Create project backup task status

Properties

Name Type Required Restrictions Description
id string(uuid) false none Unique task ID
requestTime string(date-time) false none Task request date and time
taskState TaskState false none none
projectId string(uuid)¦null false none Project ID

CreateProjectModel

{
  "name": "string",
  "number": {
    "useTemplate": true,
    "number": "string"
  },
  "description": "string",
  "deadline": "2019-08-24T14:15:22Z",
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "domainId": 0,
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  "vendorAccountIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "assignToVendor": true,
  "useMT": true,
  "pretranslate": true,
  "translationMemoryName": "string",
  "useTranslationMemory": true,
  "minTranslationAssuranceLevel": "MT",
  "autoPropagateRepetitions": true,
  "documentProperties": [
    {
      "externalId": "string",
      "metaInfo": "string",
      "disassembleAlgorithmName": "string",
      "presetDisassembleAlgorithm": "string",
      "bilingualFileImportSetings": {
        "targetSubstitutionMode": "All",
        "lockMode": "None",
        "confirmMode": "None"
      },
      "targetLanguages": [
        "string"
      ],
      "enablePlaceholders": true,
      "enableOcr": true
    }
  ],
  "workflowStages": [
    "Translation"
  ],
  "isForTesting": true,
  "externalTag": "string",
  "specializations": [
    "Education"
  ],
  "customFieldValues": {
    "property1": "string",
    "property2": "string"
  }
}

Project creation model

Properties

Name Type Required Restrictions Description
name string¦null false none Project name
number CreateProjectNumberModel false none Data class for project number creation
description string¦null false none Project description
deadline string(date-time)¦null false none Project deadline
sourceLanguage string¦null false none Project source language
targetLanguages [string]¦null false none Project target languages
domainId integer(int32)¦null false none Project group ID
clientId string(uuid)¦null false none Сlient ID
vendorAccountIds [string]¦null false none Vendor accounts IDs
assignToVendor boolean false none Project assigned to a vendor
useMT boolean false none Specifies whether the project uses MT
pretranslate boolean false none Specifies whether to enable the automatic pretranslation. If yes, two pretranslation rules are applied:
1. For the TM with the Write permission
2. For the MT, if enabled
translationMemoryName string¦null false none The name of the account TM that will have both Write and Read permissions
useTranslationMemory boolean¦null false none Specifies whether to enable read and write TM for the project
minTranslationAssuranceLevel IntegrationApiTMTranslationAssuranceLevel false none Minimum TM segment quality
autoPropagateRepetitions boolean¦null false none Specifies whether to enable auto-propagation of repeated segments at the project level (default is True)
documentProperties [CreateDocumentPropertyModel]¦null false none Document properties as they are ordered in a request. This parameter is optional.
workflowStages [StageType]¦null false none Project workflow stages for the created project. This parameter is optional.
isForTesting boolean false none Specifies whether the project is used for testing
externalTag string¦null false none External system tag
specializations [Specialization]¦null false none Specializations
customFieldValues object¦null false none Customized field values
» additionalProperties string false none none

CreateProjectNumberModel

{
  "useTemplate": true,
  "number": "string"
}

Data class for project number creation

Properties

Name Type Required Restrictions Description
useTemplate boolean false none Use a number generation template
number string¦null false none Project number (the value is ignored if a template generated number is applied)

CreateTranslationMemoryModel

{
  "name": "string",
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "description": "string",
  "clientId": "5e505642-9024-474d-9434-e5a44f505cc5"
}

TM creation model

Properties

Name Type Required Restrictions Description
name string¦null false none Name
sourceLanguage string¦null false none Source language
targetLanguages [string]¦null false none Target languages
description string¦null false none Description
clientId string(uuid)¦null false none Сlient ID

Currency

"USD"

Properties

Name Type Required Restrictions Description
anonymous string(int32) false none none

Enumerated Values

Property Value
anonymous USD
anonymous EUR
anonymous RUB
anonymous TRY
anonymous JPY
anonymous SGD
anonymous MYR
anonymous HKD
anonymous ARS
anonymous UAH
anonymous CNY
anonymous AED
anonymous AUD
anonymous BRL
anonymous CAD
anonymous CLP
anonymous EGP
anonymous GBP
anonymous IDR
anonymous ILS
anonymous INR
anonymous KES
anonymous KRW
anonymous LKR
anonymous MAD
anonymous MXN
anonymous NPR
anonymous PEN
anonymous PHP
anonymous PLN
anonymous THB
anonymous VND
anonymous SEK
anonymous TWD
anonymous PKR
anonymous NZD
anonymous TTD
anonymous ZAR
anonymous CHF
anonymous KZT
anonymous DKK

CurrencyExchangeRatesTableModel

{
  "start": "2019-08-24T14:15:22Z",
  "end": "2019-08-24T14:15:22Z",
  "rates": {
    "property1": 0,
    "property2": 0
  }
}

Currency exchange rate table with the start and end dates

Properties

Name Type Required Restrictions Description
start string(date-time) false none Currency exchange table start date
end string(date-time) false none Currency exchange table end date
rates object¦null false none Currency to US dollar exchange rates
» additionalProperties number(double) false none none

DetalizationRowModel

{
  "name": "102% соответствия, повторы, новые слова",
  "unitCount": 0,
  "percentOfFullRate": 0
}

Service details string model

Properties

Name Type Required Restrictions Description
name string¦null false none Service details string description
unitCount number(double) false none Unit count
percentOfFullRate number(double) false none Percentage of the full rate for the specific unit category

DirectoryItemModel

{
  "id": "string",
  "name": "string"
}

Directory entry model

Properties

Name Type Required Restrictions Description
id string¦null false none ID
name string¦null false none Name

DirectoryModel

{
  "type": "Language",
  "items": [
    {
      "id": "string",
      "name": "string"
    }
  ]
}

Directory model

Properties

Name Type Required Restrictions Description
type DirectoryType false none Directory type
items [DirectoryItemModel]¦null false none Elements

DirectoryType

"Language"

Directory type

Properties

Name Type Required Restrictions Description
anonymous string(int32) false none Directory type

Enumerated Values

Property Value
anonymous Language
anonymous Vendor
anonymous Domain
anonymous Client
anonymous Group
anonymous ProjectStatus
anonymous DocumentStatus
anonymous NetRate
anonymous Currency
anonymous FreelancerServiceType
anonymous Specialization
anonymous SpecializationKnowledgeLevel
anonymous LspServiceType
anonymous JobStatus
anonymous Country
anonymous SupplierType
anonymous WorkUnitType
anonymous TranslationAssuranceLevel

DocumentDisassemblingStatus

"InProgress"

Document disassembly status

Properties

Name Type Required Restrictions Description
anonymous string(int32) false none Document disassembly status

Enumerated Values

Property Value
anonymous InProgress
anonymous Error
anonymous Success

DocumentModel

{
  "id": "string",
  "name": "string",
  "fullPath": "string",
  "filename": "string",
  "creationDate": "2019-08-24T14:15:22Z",
  "deadline": "2019-08-24T14:15:22Z",
  "sourceLanguage": "string",
  "documentDisassemblingStatus": "InProgress",
  "targetLanguage": "string",
  "status": "Created",
  "wordsCount": 0,
  "statusModificationDate": "2019-08-24T14:15:22Z",
  "pretranslateCompleted": true,
  "workflowStages": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "progress": 0,
      "wordsTranslated": 0,
      "unassignedWordsCount": 0,
      "status": "NotAssigned",
      "statusModificationDate": "2019-08-24T14:15:22Z",
      "executives": [
        {
          "assignedWordsCount": 0,
          "progress": 0,
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "supplierType": "Freelancer"
        }
      ],
      "vendor": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "customFields": {
          "property1": "string",
          "property2": "string"
        }
      }
    }
  ],
  "externalId": "string",
  "metaInfo": "string",
  "placeholdersAreEnabled": true,
  "revisionLabel": "string"
}

Document model

Properties

Name Type Required Restrictions Description
id string¦null false none Document ID
name string¦null false none Document name
fullPath string¦null false none Full path to the document in the project
filename string¦null false none Source file name, including the extension
creationDate string(date-time) false none Creation date
deadline string(date-time)¦null false none Document translation deadline
sourceLanguage string¦null false none Source language
documentDisassemblingStatus DocumentDisassemblingStatus false none Document disassembly status
targetLanguage string¦null false none Target language
status DocumentStatus false none Document status
wordsCount integer(int32) false none Word count in the source text
statusModificationDate string(date-time)¦null false none Late of the last status change
pretranslateCompleted boolean false none Specifies whether pretranslation has completed, if ordered
workflowStages [DocumentWorkflowStageModel]¦null false none Workflow stages for the document
externalId string¦null false none External identifier assigned by the client upon the document creation
metaInfo string¦null false none Additional user information about the document
placeholdersAreEnabled boolean false none Specifies whether placeholders are enabled for the document
revisionLabel string¦null false none Document version ID label

DocumentStatisticsModel

{
  "name": "string",
  "statistics": [
    {
      "name": "Perfect",
      "words": 0,
      "percent": 0,
      "segments": 0,
      "pages": 0,
      "charsWithoutSpaces": 0,
      "charsWithSpaces": 0,
      "effectiveWordsForBilling": 0
    }
  ]
}

Document statistics

Properties

Name Type Required Restrictions Description
name string¦null false none Name of the document for which statistics are collected
statistics [StatisticsRowModel]¦null false none Statistics regarding the work done for the project

DocumentStatus

"Created"

Document status

Properties

Name Type Required Restrictions Description
anonymous string(int32) false none Document status

Enumerated Values

Property Value
anonymous Created
anonymous InProgress
anonymous Completed
anonymous Updated
anonymous TargetUpdated

DocumentWorkflowStageModel

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "progress": 0,
  "wordsTranslated": 0,
  "unassignedWordsCount": 0,
  "status": "NotAssigned",
  "statusModificationDate": "2019-08-24T14:15:22Z",
  "executives": [
    {
      "assignedWordsCount": 0,
      "progress": 0,
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "supplierType": "Freelancer"
    }
  ],
  "vendor": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "customFields": {
      "property1": "string",
      "property2": "string"
    }
  }
}

Document workflow stage model

Properties

Name Type Required Restrictions Description
id string(uuid) false none ID
progress number(double) false none Completion percentage
wordsTranslated integer(int32) false none Translated words count
unassignedWordsCount integer(int32) false none Unassigned words count
status WorkflowStageStatus false none Workflow stage status
statusModificationDate string(date-time)¦null false none Status change date
executives [AssignedExecutiveModel]¦null false none Assigned linguists
vendor VendorModel false none Vendor model

EmptyProjectFoldersRemoveTaskStatus

"Done"

Properties

Name Type Required Restrictions Description
anonymous string(int32) false none none

Enumerated Values

Property Value
anonymous Done
anonymous Failed
anonymous InProgress

ExecutiveModel

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "supplierType": "Freelancer"
}

Linguist details

Properties

Name Type Required Restrictions Description
id string(uuid) false none User ID
supplierType SupplierType false none Linguist type

ExecutiveStageProjectCostModel

{
  "assigned": {
    "total": {
      "wordsCount": 0,
      "effectiveWordsCount": 0
    },
    "newSegmentsVolume": {
      "wordsCount": 0,
      "effectiveWordsCount": 0
    },
    "lockedVolume": {
      "wordsCount": 0,
      "effectiveWordsCount": 0
    },
    "repetitionsVolume": {
      "wordsCount": 0,
      "effectiveWordsCount": 0
    },
    "crossDocumentRepetitionsVolume": {
      "wordsCount": 0,
      "effectiveWordsCount": 0
    },
    "tmMatchRanges": [
      {
        "fromQuality": 0,
        "toQuality": 0,
        "volume": {
          "wordsCount": 0,
          "effectiveWordsCount": 0
        }
      }
    ],
    "segmentsWithZeroWordsVolume": {
      "wordsCount": 0,
      "effectiveWordsCount": 0
    },
    "sourcePlaceholdersCount": 0,
    "translatableTotal": {