Documentation is incomplete (especially regarding possible HTTP errorcodes and error messages from the termtagger).
Base URL:
http://<host>:9001/termTagger
1. Version & Health Check
Description
Checks if the service is running and returns version information.
Request
curl -X GET "http://<host>:9001/termTagger" -H "Accept: text/html"
Response (200 OK, shortened)
<html>
<h1>TermTagger Version Information</h1>
<h2>TermTagger REST Server</h2>
<b>Version:</b> 0.16
<h2>TermTagger:</h2>
<b>Version:</b> 9.01
<h2>OpenTMS Version: </h2>0.2.1
</html>
2. Upload TBX File
Description
Uploads a TBX file to the TermTagger.
The TBX file is referenced using its MD5 hash as its ID.
The header Field x-tbxid is optional for an optional nginx proxy before the termtagger instances to distribute same TBX files to the same instance.
Request
curl -X POST "http://<host>:9001/termTagger/tbxFile/" -H "Content-Type: application/json" -H "x-tbxid: 2b412073d5185fa4b8d7831e0ee6472d" -d '{
"tbxFile": "2b412073d5185fa4b8d7831e0ee6472d",
"tbxdata": "<?xml version=\"1.0\"?><martif>...</martif>"
}'
Response (200 OK)
{
"uuid": "2b412073d5185fa4b8d7831e0ee6472d",
"added": true
}
3. Check TBX File
Description
Checks whether a TBX file with the given ID exists in memory.
Request
curl -I "http://<host>:9001/termTagger/tbxFile/2b412073d5185fa4b8d7831e0ee6472d" -H "x-tbxid: 2b412073d5185fa4b8d7831e0ee6472d"
Response
- 200 OK – File exists
- 404 Not Found – File not found
4. Tag Text with Terms
Description
Sends segments to the TermTagger to find and mark terms from the loaded TBX file.
Request
curl -X POST "http://<host>:9001/termTagger/termTag/" -H "Content-Type: application/json" -H "x-tbxid: 2b412073d5185fa4b8d7831e0ee6472d" -d '{
"tbxFile": "2b412073d5185fa4b8d7831e0ee6472d",
"sourceLang": "en",
"targetLang": "en",
"segments": [
{
"id": "387278",
"field": "targetEdit",
"source": "Outstanding features",
"target": "Outstanding features"
}
],
"debug": 0,
"fuzzy": 0,
"stemmed": 1,
"fuzzyPercent": 70,
"maxWordLengthSearch": 2,
"minFuzzyStartLength": 2,
"minFuzzyStringLength": 5,
"targetStringMatch": 0,
"task": "{a4393eb5-46a7-4f5e-ba1a-70873c74a7a6}"
}'
Response (200 OK, example)
{
"bCorrectRequest": true,
"segments": [
{
"field": "targetEdit",
"id": "387278",
"source": "Outstanding features",
"target": "Outstanding features"
}
],
"tbxFile": "2b412073d5185fa4b8d7831e0ee6472d"
}
Note:
Matches are marked in the HTML of the segments with <div class="term ...">
:
<div class="term preferredTerm transFound exact" data-tbxid="term_01_1_en_1_00003">VisualTranslation</div>
5. Remove TBX File
Description
Removes a TBX file from the TermTagger memory.
Request
curl -X DELETE "http://<host>:9001/termTagger/tbxFile/2b412073d5185fa4b8d7831e0ee6472d" -H "x-tbxid: 2b412073d5185fa4b8d7831e0ee6472d"
Response
- 200 OK
- Empty body
Example Workflow
# 1. Check service
curl -X GET "http://<host>:9001/termTagger"
# 2. Upload TBX file
curl -X POST "http://<host>:9001/termTagger/tbxFile/" ...
# 3. Process segments
curl -X POST "http://<host>:9001/termTagger/termTag/" ...
# 4. Delete TBX file
curl -X DELETE "http://<host>:9001/termTagger/tbxFile/<id>" ...