RWS Logo
Show / Hide Table of Contents

Dictionary Terms Management

The purpose of this set of API calls is to enable dictionary term management from the API perspective. They will allow users to manage terms for a specific dictionary.

Create term

This call creates a new term within a specific dictionary.

Linux

curl -XPOST -H 'Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI' -H 'Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555' -H "Content-type: application/json" -d '{
   "source": "play",
   "target": "jouer",
   "comment": "english to french",
   "caseSensitive": true
}' 'https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms'
Windows

curl -XPOST -H "Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI" -H "Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555" -H "Content-type: application/json" -d ^
"{^
  \"source\": \"play\",^
  \"target\": \"jouer\",^
  \"comment\": \"english to french\",^
  \"caseSensitive\": \"true\"^
}" https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms

Access token type
User credentials - Allowed User Roles: Admin, Linguist

HTTP Request
POST /v4/accounts/{accountId}/dictionaries/{dictionaryId}/terms

Headers

Name Value (example) Description
Authorization Bearer asd0eXAi... Bearer token
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 Optional unique request identifier (UUID) provided by client

Request Parameters

Request JSON:

{
   "source": "play",
   "target": "jouer",
   "comment": "english to french",
   "caseSensitive": true
}

Format
JSON

Name Type Mandatory Default value Description
source string yes String specifying the source text of the dictionary term. The combination of source and caseSensitive values must be unique within the specified dictionary.
target string yes String specifying the target text of the dictionary term
comment string no Empty string Description of the dictionary term
caseSensitive boolean no false Indicates whether the source is case-sensitive (true), distinguishing values based on capitalization, or case-insensitive (false), treating values as equivalent regardless of letter case.

Response JSON:

{
   "dictionaryId": "e8b01170-1bc4-4d61-89f7-fc2f65733442",
   "accountId": 12,
   "source": "play",
   "target": "jouer",
   "comment": "english to french",
   "caseSensitive": true
}

Response

Headers

Name Value (example) Description
BeGlobal-Request-ID dbbbc062-88a7-4783-8d52-dea795e517f4 Unique request identifier (UUID)
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 The identifier provided in the request (UUID)

Format
JSON

Name Type Description
dictionaryId string Id of the dictionary
accountId integer Unique numeric identifier for the account associated to the dictionary
source string Source text of the dictionary term
target string Target text of the dictionary term
comment string Description of the dictionary term
caseSensitive boolean Case-sensitivity flag of the dictionary term

Error JSON:

{
   "errors":[
      {
         "code":1023,
         "description":"Term already exists: play"
      }
   ]
}

Error Response

Format
JSON

Name Type Description
errors list A list with the errors that occurred
code integer The code of the error
description string The description of the error

Returned HTTP Codes:

Http Code Description
200 When the term is successfully created for the specified dictionary
400 When the input data is not valid
401 When the authentication process failed or the access token is not valid
403 Forbidden to access resource
500 Application internal error

Get all terms for a dictionary

This call should be used to retrieve information about all the terms of a dictionary. You need to provide the account id and dictionary id as path params.
In addition, a page number and a page size parameter should be provided. Both parameters are optional.

Linux

curl -XGET -H 'Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI' -H 'Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555' \
'https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms?pageNumber=1&pageSize=10'
Windows

curl -XGET -H "Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI" -H "Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555" ^
https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms?pageNumber=1&pageSize=10

Access token type
User credentials - Allowed User Roles: Admin, Linguist, Translator

HTTP Request
GET /v4/accounts/{accountId}/dictionaries/{dictionaryId}/terms?pageNumber={pageNumber}&pageSize={pageSize}

Headers

Name Value (example) Description
Authorization Bearer asd0eXAi... Bearer token
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 Optional unique request identifier (UUID) provided by client

Query Parameters

Name Type Mandatory Default value Description
pageNumber int no 1 Integer specifying the requested page number
pageSize int no 10 Integer specifying the requested page size, limited to 100

Response JSON:

{
  "totalCount": 2,
  "pageSize": 10,
  "pageNumber": 1,
  "dictionaryId": "e8b01170-1bc4-4d61-89f7-fc2f65733442",
  "accountId": 12,
  "terms": [
       {
          "comment": "english to french",
          "source": "play",
          "target": "jouer",
          "caseSensitive": true
       },
       {
          "comment": "second term from english to french",
          "source": "sometimes",
          "target": "parfois",
          "caseSensitive": false
       }
  ]
}

Response

Headers

Name Value (example) Description
BeGlobal-Request-ID dbbbc062-88a7-4783-8d52-dea795e517f4 Unique request identifier (UUID)
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 The identifier provided in the request (UUID)

Format
JSON

Name Type Description
dictionaryId string Id of the dictionary
accountId integer Unique numeric identifier for the account associated to the dictionary
source string Source text of the dictionary term
target string Target text of the dictionary term
comment string Description of the dictionary term
totalCount integer Total number of terms in the dictionary
pageNumber integer Requested page number
pageSize integer Requested page size
caseSensitive boolean Case-sensitivity flag of the dictionary term

Error JSON:

{
   "errors":[
      {
         "code":1002,
         "description":"account with id 12 does not exist"
      }
   ]
}

Error Response

Format
JSON

Name Type Description
errors list A list with the errors that occurred
code integer The code of the error
description string The description of the error

Returned HTTP Codes:

Http Code Description
200 When the dictionary terms were returned
400 When the input data is not valid
401 When the authentication process failed or the access token is not valid
403 Forbidden to access resource
500 Application internal error

Update term

This call is used to update a list of terms within a dictionary. The list with existing term sources to update and new terms values, needs to be provided in the json body. All source, target and comment need to be provided. Partial updates are not allowed.

Linux

curl -XPUT -H 'Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI' -H 'Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555' -H "Content-type: application/json" -d '{
   "update": [
    {
     "currentTerm" : {
         "source": "play",
         "caseSensitive": true
     },
     "updatedTerm" : {
        "source": "player",
        "target": "joueur",
        "comment": "comment",
        "caseSensitive": true
     }
    }
   ]
}' 'https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms'
Windows

curl -XPUT -H "Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI" -H "Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555" -H "Content-type: application/json" -d ^
"{^
"update": [^
    {^
    "\currentTerm\" : {^
       \"source\": \"play\",^
       \"caseSensitive\": \"true\"^
      },^
    "\currentTerm\" : {^
       \"source\": \"player\",^
       \"target\": \"joueur\",^
       \"comment\": \"comment\",^
       \"caseSensitive\": \"true\"^
      }^
     }^
     ]^
}" https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms

Access token type
User credentials - Allowed User Roles: Admin, Linguist

HTTP Request
PUT /v4/accounts/{accountId}/dictionaries/{dictionaryId}/terms

Headers

Name Value (example) Description
Authorization Bearer asd0eXAi... Bearer token
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 Optional unique request identifier (UUID) provided by client

Request Parameters

Request JSON:

{
   "update":[
      {
         "currentTerm":{
            "source":"play",
            "caseSensitive": true
         },
         "updatedTerm":{
            "source":"player",
            "target":"joueur",
            "comment":"comment",
            "caseSensitive": true
         }
      }
   ]
}

Format
JSON

Name Property Type Mandatory Default value Description
update list yes List of terms to be updated
currentTerm object yes Term to be updated
source string yes String specifying the source text of the dictionary term to be updated
caseSensitive boolean no false Flag specifying the case-sensitivity of the dictionary term to be updated
updatedTerm object yes Term's new information
source string yes String specifying the source text of the dictionary term. The combination of source and caseSensitive values must be unique within the specified dictionary.
target string yes String specifying the target text of the dictionary term
comment string no Empty string Description of the dictionary term
caseSensitive boolean no false Indicates whether the source is case-sensitive (true), distinguishing values based on capitalization, or case-insensitive (false), treating values as equivalent regardless of letter case.

Response JSON:

{
   "dictionaryId":"e8b01170-1bc4-4d61-89f7-fc2f65733442",
   "accountId":12,
   "terms":[
      {
         "source":"player",
         "target":"joueur",
         "comment":"comment",
         "caseSensitive": true
      }
   ]
}

Response

Headers

Name Value (example) Description
BeGlobal-Request-ID dbbbc062-88a7-4783-8d52-dea795e517f4 Unique request identifier (UUID)
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 The identifier provided in the request (UUID)

Format
JSON

Name Type Description
dictionaryId string Id of the dictionary
accountId integer Unique numeric identifier for the account associated to the dictionary
source string Source text of the dictionary term
target string Target text of the dictionary term
comment string Description of the dictionary term
caseSensitive boolean Case-sensitivity flag of the dictionary term

Error JSON:

{
   "errors":[
      {
         "code":1023,
         "description":"Term not found: play"
      }
   ]
}

Error Response

Format
JSON

Name Type Description
errors list A list with the errors that occurred
code integer The code of the error
description string The description of the error

Returned HTTP Codes:

Http Code Description
200 When the term is successfully updated for the specified dictionary
400 When the input data is not valid
401 When the authentication process failed or the access token is not valid
403 Forbidden to access resource
500 Application internal error

Delete term

This call is used to delete a list of terms within a dictionary. The terms sources to delete needs to be provided in the json body.

Linux

curl -XPUT -H 'Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI' -H 'Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555' -H "Content-type: application/json" -d '{
    "delete": [
      {
        "source": "play",
        "caseSensitive": true
      },
      {
        "source": "player",
        "caseSensitive": false
      }
    ]
}' 'https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms'
Windows

curl -XPUT -H "Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI" -H "Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555" -H "Content-type: application/json" ^
"{^
    \"delete\": [^
      {^
        \"source\": \"play\",^
        \"caseSensitive\": \"true\"^
      },^
      {^
        \"source\": \"player\",^
        \"caseSensitive\": \"false\"^
      }^
    ]^
}" https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms

Access token type
User credentials - Allowed User Roles: Admin

HTTP Request
PUT /v4/accounts/{accountId}/dictionaries/{dictionaryId}/terms

Headers

Name Value (example) Description
Authorization Bearer asd0eXAi... Bearer token
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 Optional unique request identifier (UUID) provided by client

Request Parameters

Request JSON:

{
   "delete":[
      {
         "source":"play",
         "caseSensitive": true
      },
     {
         "source":"player",
         "caseSensitive": false
     }
   ]
}

Format
JSON

Name Type Mandatory Default value Description
delete list yes List of terms to be deleted
source string yes String specifying the source text of the dictionary term. The combination of source and caseSensitive values must be unique within the specified dictionary.
caseSensitive boolean no false Specifying the case-sensitivity of the dictionary term

Response

Headers

Name Value (example) Description
BeGlobal-Request-ID dbbbc062-88a7-4783-8d52-dea795e517f4 Unique request identifier (UUID)
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 The identifier provided in the request (UUID)

When the dictionary term is deleted successfully, no content is returned.

Error JSON:

{
   "errors":[
      {
          "code":1023,
          "description":"Term not found: play"
      }
   ]
}

Error Response

Format
JSON

Name Type Description
errors list A list with the errors that occurred
code integer The code of the error
description string The description of the error

Returned HTTP Codes:

Http Code Description
204 When the term is deleted from the specified dictionary
400 When the input data is not valid
401 When the authentication process failed or the access token is not valid
403 Forbidden to access resource
500 Application internal error

Search terms in a dictionary

This call should be used to search specific terms in a dictionary. You need to provide the account id and dictionary id as path params.
Also in the request body the search criteria can be specified, see below. The search matches by prefix of any property specified in the search criteria. If multiple properties are specified for search, a reunion for all matched terms will be provided (ex: source: "a" and target: "b" all terms with source prefix "a" and all terms with target prefix "b" will be returned).
In addition, a page number and a page size parameter should be provided. Both parameters are optional.

Linux

curl -XPOST -H 'Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI' -H 'content-type: application/json' -H 'Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555' -d '{
    "source": "p",
    "target": "p",
    "comment": "p"
}' 'https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms/search?pageNumber=1&pageSize=10'
Windows

curl -XPOST -H "Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI" -H "content-type: application/json" -H "Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555" ^
"{^
  \"source\": \"p\",^
  \"target\": \"p\",^
  \"comment\": \"p\"^
}" https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms/search?pageNumber=1&pageSize=10

Access token type
User credentials - Allowed User Roles: Admin, Linguist, Translator

HTTP Request
POST /v4/accounts/{accountId}/dictionaries/{dictionaryId}/terms/search?pageNumber={pageNumber}&pageSize={pageSize}

Headers

Name Value (example) Description
Authorization Bearer asd0eXAi... Bearer token
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 Optional unique request identifier (UUID) provided by client

Query Parameters

Name Type Mandatory Default value Description
pageNumber int no 1 Integer specifying the requested page number
pageSize int no 10 Integer specifying the requested page size, limited to 100

Request Parameters

Request JSON:

{
   "source": "p",
   "target": "p",
   "comment": "p"
}

Format
JSON

Name Type Mandatory Default value Description
source string no Empty string String specifying the prefix of the source term (case insensitive)
target string no Empty string String specifying the prefix of the target term (case insensitive)
comment string no Empty string String specifying the prefix of the comment (case insensitive)

Response JSON:

{
  "totalCount": 2,
  "pageSize": 10,
  "pageNumber": 1,
  "dictionaryId": "e8b01170-1bc4-4d61-89f7-fc2f65733442",
  "accountId": 12,
  "terms": [
       {
          "comment": "english to french",
          "source": "play",
          "target": "jouer",
          "caseSensitive": true
       },
       {
          "comment": "second term from english to french",
          "source": "sometimes",
          "target": "parfois",
          "caseSensitive": false
       }
  ]
}

Response

Headers

Name Value (example) Description
BeGlobal-Request-ID dbbbc062-88a7-4783-8d52-dea795e517f4 Unique request identifier (UUID)
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 The identifier provided in the request (UUID)

Format
JSON

Name Type Description
dictionaryId string Id of the dictionary
accountId integer Unique numeric identifier for the account associated to the dictionary
source string Source text of the dictionary term
target string Target text of the dictionary term
comment string Description of the dictionary term
totalCount integer Total number of terms matched by the search criteria in the specified dictionary
pageNumber integer Requested page number
pageSize integer Requested page size
caseSensitive boolean Specifying the case-sensitivity of the dictionary term

Error JSON:

{
   "errors":[
      {
         "code":1002,
         "description":"account with id 12 does not exist"
      }
   ]
}

Error Response

Format
JSON

Name Type Description
errors list A list with the errors that occurred
code integer The code of the error
description string The description of the error

Returned HTTP Codes:

Http Code Description
200 When the dictionary terms were returned
400 When the input data is not valid
401 When the authentication process failed or the access token is not valid
403 Forbidden to access resource
500 Application internal error

Import dictionary

This call is used to import all terms from a .xlsx file in a dictionary which already exists. You need to provide the account id and dictionary id. File will have the following structure: First populated line will be a header which contains source on first column, target on second column, comment on the third one and caseSensitive on the fourth column--> | source | target | comment | caseSensitive |

After that, every line will contain source on first column, target on second one and comment on the third.

   - source and target are mandatory

   - comment and caseSensitive are optional

If the file contains any errors the import call will return the first 10 errors but all valid terms will be imported.

Linux

curl -XPOST -H 'Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI' \
   -H 'Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555' \
   -H "Content-type: multipart/form-data" \
   -F 'content=@dictionary.xlsx' \
   -F overwriteDuplicates=true \
 'https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms'
Windows

curl -XPOST -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhUk0TVRkQk5qZzRwczovL2F"^
    -H "Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555"^
    -H "Content-type: multipart/form-data"^
    -F "content=@\"dictionary.xlsx\""^
    -F "overwriteDuplicates=true"^
  https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms

Access token type
User credentials - Allowed User Roles: Admin, Linguist

HTTP Request
POST /v4/accounts/{accountId}/dictionaries/{dictionaryId}/terms

Headers

Name Value (example) Description
Authorization Bearer asd0eXAi... Bearer token
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 Optional unique request identifier (UUID) provided by client

Request Parameters

Format
multipart/form-data

Name Type Mandatory Default value Description
overwriteDuplicates boolean no false Value specifying that imported elements with same source will overwrite or not old values
content file yes The binary content of the file. If the imported file contains terms with duplicated source, the last one will be added to the dictionary with the rules specified by "overwriteDuplicates".

Response

Error JSON:

{
   "errors":[
        {
            "code": 18,
            "description": "source from line 4 parameter is missing or is empty."
        },
        {
            "code": 1023,
            "description": "Term already exists: das"
        }
   ]
}

Error Response

Format
JSON

Name Type Description
errors list A list with the errors that occurred
code integer The code of the error
description string The description of the error

Returned HTTP Codes:

Http Code Description
204 When the terms are successfully imported in the specified dictionary
400 When the input data is not valid
401 When the authentication process failed or the access token is not valid
403 Forbidden to access resource
500 Application internal error

Export dictionary

This call should be used to retrieve in a file all the terms for the dictionary. You need to provide the account id and dictionary id for which you want the info.

Linux

curl -XGET -H 'Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI' -H 'Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555' \
'https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms/export'
Windows

curl -XGET -H "Authorization: Bearer asd0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsI" -H "Trace-ID: 2c0c4dda-8333-4538-983e-e098de7cf555" ^
https://api.languageweaver.com/v4/accounts/12/dictionaries/e8b01170-1bc4-4d61-89f7-fc2f65733442/terms/export

Access token type
User credentials - Allowed User Roles: Admin, Linguist, Translator

HTTP Request
GET /v4/accounts/{accountId}/dictionaries/{dictionaryId}/terms/export

Headers

Name Value (example) Description
Authorization Bearer asd0eXAi... Bearer token
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 Optional unique request identifier (UUID) provided by client

Response

Headers

Name Value (example) Description
BeGlobal-Request-ID dbbbc062-88a7-4783-8d52-dea795e517f4 Unique request identifier (UUID)
Trace-ID 2c0c4dda-8333-4538-983e-e098de7cf555 The identifier provided in the request (UUID)

Format
BINARY

The binary content of all terms for the dictionary. Binary should be converted to .xlsx

Error JSON:

{
   "errors":[
      {
         "code":1002,
         "description":"account with id 12 does not exist"
      }
   ]
}

Error Response

Format
JSON

Name Type Description
errors list A list with the errors that occurred
code integer The code of the error
description string The description of the error

Returned HTTP Codes:

Http Code Description
200 When the dictionary terms were returned
400 When the input data is not valid
401 When the authentication process failed or the access token is not valid
403 Forbidden to access resource
500 Application internal error





In this page
Back to top