The available Swagger UI for the Congree REST API is located in the following URL: http:///congree/swagger
Congree REST API endpoints are located at http:///congree/api
/congree/api/Account/v1/SignOut | Releases locked license |
You can use this call to release a locked license. Otherwise, a locked license will be released after a 20 minutes timeout.
A Congree license is locked after the first Congree REST API call.
/congree/api/AuthoringMemory/v1/ImportXml?lang={CultureName} | HTTP request used to add content to the Congree Sentence Database |
The culture name in the format languagecode2-country/regioncode2. languagecode2 is a lowercase two-letter code derived from ISO 639-1. country/regioncode2 is derived from ISO 3166 and usually consists of two uppercase letters, or a BCP-47 language tag.
E.g. /congree/api/AuthoringMemory/v1/ImportXml?lang=de-DE
The content type should be multipart/form-data and it should contain file XML.
{ "DetectedParagraphsCount": 0, "DetectedSentencesCount": 0, "AddedSentencesCount": 0, "FailedParagraphsCount": 0 } |
The content has to be well-formed XML with resolved entity references.
Maximum size: 10 MB
mmmapi/AuthoringMemory/v1/Search/ |
/api/AuthoringMemory/v1/Attributes | Adds new attributes with values | |
/api/AuthoringMemory/v1/Attributes | Returns available attributes | |
/api/AuthoringMemory/v1/Attributes | Deleted available attributes |
Attributes can be specified by:
/api/AuthoringMemory/v1/Sentences/{sentenceId}/Attributes | Adds new attibutes or values to the sentence | |
/api/AuthoringMemory/v1/Sentences/{sentenceId}/Attributes | Gets attributes for certain sentence | |
/api/AuthoringMemory/v1/Sentences/{sentenceId}/Attributes | Deletes attributes or values of the sentence | |
/congree/api/AuthoringMemory/v1/Sentences | Get sentences based on the provided filter | |
/congree/api/AuthoringMemory/v1/Sentences | Cleans up Authoring Memory sentences | |
/congree/api/AuthoringMemory/v2/Sentences | Deletes sentences from Authoring Memory |
The body of the request should contain the options you can find in the table below in the following form:
{ "ClearImportedSentences" : true, "ClearDataGroomingSentences": true } |
Option name | Description |
---|---|
ClearImportedSentences | Deletes imported (via API /congree/api/AuthoringMemory/v1/ImportXml) sentences |
ClearDataGroomingSentences | Deletes all sentences from Congree Data Grooming and also related sentences from the Authoring Memory |
In order to get the task status and results, use the methods described in Tasks. The result is an empty object.
{ "Id": "00000000-0000-0000-0000-000000000000" } |
{ "Id": "514290f4-fc30-48e3-99b8-0973011bd2e5" } |
/congree/api/Information/v1/Version | Returns Congree Server and Web API versions |
{ "CongreeWebApiVersion": "string", "CongreeVersion": "string" } |
{ "CongreeWebApiVersion": "5.0.14353.13448.20190325.Dev", "CongreeVersion": "5.0.14353.13448.20190325.Dev" } |
/congree/api/Information/v1/Components | Returns available components |
The response structure corresponds to CongreeComponentInfo class, see Type definitions - IBulkCheckService - Auxiliary types.
[ { "Id": "string", "Name": "string" } ] |
[ { "Id": "CLTEditorWord", "Name": "Congree for Microsoft Word" }, { "Id": "CLTFeatureDataGrooming", "Name": "Congree Authoring Memory Candidates" }, { "Id": "CltFeatAuthMemory", "Name": "Congree Authoring Memory" }, { "Id": "CltFeatLangCheckDe", "Name": "Congree Language Check German" }, { "Id": "CltFeatBcs", "Name": "Congree Language Check German" }, { "Id": "CltFeatLangCheckEn", "Name": "Congree Language Check English" }, { "Id": "CltEditorPpt", "Name": "Congree for Microsoft PowerPoint" }, { "Id": "CltEditorOutlook", "Name": "Congree for Microsoft Outlook" }, { "Id": "CltEditorArbortext", "Name": "Congree for PTC® Arbortext Editor™" }, { "Id": "CltEditorXmetal", "Name": "Congree for JustSystems XMetaL® Author" }, { "Id": "CltEditorFrame", "Name": "Congree for Adobe® FrameMaker®" }, { "Id": "CltEditorIndesign", "Name": "Congree for Adobe® InDesign®" }, { "Id": "CltEditorAnytime", "Name": "Congree Indie" }, { "Id": "CltEditorXmax", "Name": "Congree for JustSystems XMetaL® XMAX™" }, { "Id": "CltFeatAmNative", "Name": "Authoring Memory Non-native Authoring" }, { "Id": "CltFeatTerm", "Name": "Congree Terminology" }, { "Id": "CltFeatTermExtract", "Name": "Congree Term Extraction" }, { "Id": "CltEditorAuthit", "Name": "Congree for ASC Author-it®" }, { "Id": "CltEditorProxy", "Name": "Congree Client Proxy" } ] |
/congree/api/Linguistic/v1/Check?ruleSet={rulesetName} | Checks the document |
The request should be included in the body in the following form:
{ "Xml": "string", "Options": { "IncludeValidTerms": true, "IncludeReporting": true, "IncludeContextMapping": true, "ExtractTermCandidates": true } } |
“string” has some restrictions. It must be valid XML. It cannot just be any string. |
Option name | Description |
---|---|
IncludeValidTerms | Include valid terms from Style Guide in the result |
IncludeReporting | Include Language Check Report in the result |
IncludeContextMapping | Split input XML into contexts and map linguistic errors to the contexts. This option are enabled if IncludeReporting is true |
ExtractTermCandidates | Extract terminology candidates from input XML and include them in the result |
The response structure corresponds to LinguisticCheckResult3 class, see Congree Bulk Check Service documentation, see Type definitions - IBulkCheckService - Linguistic-related types.
{ "ResultXml": "string", "Errors": [ { "Id": "string", "ContextId": 0, "Type": "Abbreviation", "Descriptions": [ { "Code": "string", "Description": { "Header": "string", "Instruction": "string", "Explanation": "string" }, "Explanation": [ { "Type": "Text", "Text": "string" } ], "ExplanationRewrite": [ { "Type": "Text", "Text": "string" } ] } ], "Proposals": [ { "Text": "string", "AdditionalInfo": "string", "BaseTermForm": "string", "ConceptId": 0 } ] } ], "TermCandidates": [ { "Id": "string", "Text": "string", "Context": "string", "IsExist": true } ], "Reporting": { "TotalCheckedWords": 0, "ReleaseLevel": 0, "RelativeReleaseLevel": 0, "SafeReleaseLevel": 0, "SafeReleaseLevelTitle": "string", "AcceptableReleaseLevel": 0, "AcceptableReleaseLevelTitle": "string", "UnsafeReleaseLevel": 0, "UnsafeReleaseLevelTitle": "string", "ReportingByTypes": [ { "Type": "Abbreviation", "ErrorCount": 0, "Severity": 0, "RelativeSeverity": 0 } ] }, "FailedParagraphsInfo": { "FailedParagraphsAmount": 0 } } |
Here comes an example to describe "String" in more detail:
<ul><li><?cngr-ctx-b 6?>Wie verständlich einzelne Passagen <?cngr-lc-b 13?>waren<?cngr-lc-e 13?><?cngr-ctx-e 6?></li><li> |
Please note that in the example, Processing Instructions are used to mark ranges:
Processing Instruction | Explanation |
---|---|
ctx = context (a paragraph ID) | |
lc = Language Check (a highlight/error ID) | |
e = end of the range | |
b = beginning of the range |
Please find the additional response content explained below.
Sample texts are split into parts. Parts with Type = ‘Text’ are plain text and should be passed through; Parts with Type = ‘Explanation’ contain text to be highlighted. To get the final result, one should concatenate texts of parts, highlighting (in any way) appropriate parts. |
/congree/api/Linguistic/v1/StartCheckTask?ruleSet={rulesetName} | Checks the document in asynchronous mode |
The request is the same as for /congree/api/Linguistic/v1/Check?ruleSet=rulesetName but the result is a task id.
In order to get the task status and results, use methods described in Tasks. The result is the same as for /congree/api/Linguistic/v1/Check
{ "Id": "00000000-0000-0000-0000-000000000000" } |
{ "Id": "514290f4-fc30-48e3-99b8-0973011bd2e5" } |
/congree/api/Linguistic/v1/Languages | Gets available languages |
/api/Linguistic/StyleGuide/v1/Templates/{culture} | Create a new style guide | |
/api/Linguistic/StyleGuide/v1/Templates/{culture} | Get all style guides for the specified culture | |
/api/Linguistic/StyleGuide/v1/Templates/{culture} | Edit a style guide | |
/api/Linguistic/StyleGuide/v1/Templates/{culture} | Delete style guides |
StyleGuide can be specified as follows:
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/{type} | Creates some configuration of the specified culture and type | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/{type} | Gets some configuration of the specified culture and type | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/{type} | Edit configurations | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/{type} | Delete configurations |
Attributes for Configurations:
Parameters:
The request should be included in the body in the following form:
{ "Id": 0, "Name": "string", "Copy": true } |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Rules/{configurationId} | Gets language check rules for specific language and configuration | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Rules/{configurationId} | Edit rules configuration |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Synonyms/{configurationId} | Adds new synonyms | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Synonyms/{configurationId} | Get synonyms | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Synonyms/{configurationId} | Edit synonyms | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Synonyms/{configurationId} | Delete synonyms |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/TermCandidateFilters | Adds new term candidate filters | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/TermCandidateFilters | Gets term candidate filters | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/TermCandidateFilters | Edit term candidate filter | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/TermCandidateFilters | Delete term candidate filter | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/VariantsRecognition | Gets terminology variants recognition rules for the specified language and configuration | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/Terminology/{configurationId}/VariantsRecognition | Edit terminology variants recognition rules configuration |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns | Adds new term candidate filters | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns | Gets term candidate filters | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns | Edit term candidate filter | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns | Delete term candidate filter | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations | Adds new abbreviations | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations | Gets all abbreviations | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations | Edit abbreviation | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations | Deletes abbreviations by Id | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings | Adds new Incorrect Spellings | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings | Get all Incorrect Spellings | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings | Edit Incorrect Spellings | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings | Deletes an Incorrect Spelling by Id | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits | Adds new Measuring Units | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits | Get all Measuring Units | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits | Edit Measuring Units | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits | Deletes a Measuring Unit by Id | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/SystemLexiconValidation | Validates content in the system UserLexicon |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns/{entryId}/Forms | Get all word forms for the specified Noun entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns/{entryId}/Forms | Store word forms for the specified Noun entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Nouns/{entryId}/Forms | Clear configured word forms for the specified Noun entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations/{entryId}/Forms | Get all word forms for the specified Abbreviation entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations/{entryId}/Forms | Store word forms for the specified Abbreviation entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/Abbreviations/{entryId}/Forms | Clear configured word forms for the specified Abbreviation entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits/{entryId}/Forms | Get all word forms for the specified Measuring unit entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits/{entryId}/Forms | Store word forms for the specified Measuring unit entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/MeasuringUnits/{entryId}/Forms | Clear configured word forms for the specified Measuring unit entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings/{entryId}/Forms | Get all word forms for the specified Incorrect spelling entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings/{entryId}/Forms | Store word forms for the specified Incorrect spelling entry | |
/api/Linguistic/StyleGuide/v1/Configurations/{culture}/UserLexicon/{configurationId}/IncorrectSpellings/{entryId}/Forms | Clear configured word forms for the specified Incorrect spelling entry |
/congree/api/Settings/v1/Document | Gets list of available document-specific rule sets |
[ "string" ] |
[ "Congree Standard", "Compathy", "Congree Word" ] |
/congree/api/Settings/v1/Document/{RulesetName} | Gets all document-specific rule set settings |
{RulesetName} is the name of the document-specific rule set. Available settings groups are described here.
{ <Settings group name>: <Settings object> } |
/congree/api/Settings/v1/Document/{RulesetName}/{SettingsGroupName} | Gets specified document-specific rule set settings |
{SettingsGroupName} is the name of the settings group. Parameter can contain a set of comma separated groups. Available settings groups are described here.
{ <Settings group name>: <Settings object> } |
Group name: LanguageSettings
Structure:
{ "Language": string } |
Group name: LinguisticReportingConfiguration
Structure (corresponds to LinguisticReportConfiguration, see Congree Bulk Check Service documentation, Type definitions - IBulkCheckSettingsService - Document settings XML description):
{ "ConfigurationName": string, "Language": string, "WordCountFactor": double, "HighRatingLimit": double, "HighRatingName": string, "MediumRatingLimit": double, "MediumRatingName": string, "LowRatingLimit": double, "LowRatingName": string, "Rules": [ { "RuleName": string, "CategoryType": string, "Weight": double } ], "Categories": [ { "ErrorType": string, "Priority": double } ] } |
{ "ConfigurationName": "Congree Standard DE", "Language": "de", "WordCountFactor": 1.2, "HighRatingLimit": 95.0, "HighRatingName": "Safe", "MediumRatingLimit": 85.0, "MediumRatingName": "Acceptable", "LowRatingLimit": 0.0, "LowRatingName": "Unsafe", "Rules": [ { "RuleName": "alt", "CategoryType": "Spelling", "Weight": 10.0 }, { "RuleName": "unknown", "CategoryType": "Spelling", "Weight": 10.0 }, { "RuleName": "ADM", "CategoryType": "Terminology", "Weight": 0.0 }, { "RuleName": "DEPR", "CategoryType": "Terminology", "Weight": 10.0 }, { "RuleName": "PARTDEPR", "CategoryType": "Terminology", "Weight": 5.0 }, { "RuleName": "POSNEG", "CategoryType": "Terminology", "Weight": 0.0 }, { "RuleName": "VARPOSNEG", "CategoryType": "Terminology", "Weight": 0.0 } ], "Categories": [ { "ErrorType": "Abbreviation", "Priority": 1.0 }, { "ErrorType": "Spelling", "Priority": 10.0 }, { "ErrorType": "Style", "Priority": 1.0 }, { "ErrorType": "Terminology", "Priority": 10.0 }, { "ErrorType": "Grammar", "Priority": 3.0 } ] } |
Group name: ParagraphRecognition
"ParagraphRecognition": { "IsAutomaticMode": bool, "SymbolsAmountToCheck": int, "CheckUnitDefinitions": [ { "Name": string, "Treatment": string, "StructureClass": string, "Parents": string, "Attributes": string, "Rules": [ { "ErrorType": string, "ErrorCode": string, "IsDeactivated": bool } ] } ], "InlineElementDefinitions": [ { "Name": string, "Treatment": string, "IsReadOnly": bool, "LanguageCheckSpecifics": string, "Parents": string, "Attributes": string } ] } |
"ParagraphRecognition": { "IsAutomaticMode": false, "SymbolsAmountToCheck": 2, "CheckUnitDefinitions": [ { "Name": "p", "Treatment": "Check", "StructureClass": "Regular", "Parents": null, "Attributes": null, "Rules": [ { "ErrorType": "Grammar", "ErrorCode": "gESL325en", "IsDeactivated": false }, { "ErrorType": "Grammar", "ErrorCode": "gESL324en", "IsDeactivated": true }, // ... ] }, // ... ], "InlineElementDefinitions": [ { "Name": "systemoutput", "Treatment": "Check", "IsReadOnly": false, "LanguageCheckSpecifics": "c=noun,literal=yes,grkl=sic", "Parents": null, "Attributes": null }, // ... ] } |
/congree/api/Reporting/v1/Linguistic | Stores the Language Check Report. |
The report should be included in the body in following form:
DocumentId - is guid which uniquely identifies the document.
{ "DocumentRuleSet": "string", "DocumentId": "00000000-0000-0000-0000-000000000000", "TotalCheckedWords": 0, "ReleaseLevel": 0, "RelativeReleaseLevel": 0, "ErrorData": [ { "ErrorType": "Abbreviation", "ErrorCount": 0, "ErrorSeverity": 0 } ] } |
You can build report based on the response of linguistic check with parameter "IncludeReporting": true.
{ "documentRuleSet" : "Congree Standard", "documentId": "33BB8BDB-3E9F-4944-9E23-2FFA56C143EE", "TotalCheckedWords": 498, "ReleaseLevel": 3.82, "RelativeReleaseLevel": 1.7976470588235292, "ErrorData": [ { "ErrorType": "Abbreviation", "ErrorCount": 0, "ErrorSeverity": 100.0 }, { "ErrorType": "Grammar", "ErrorCount": 4, "ErrorSeverity": 97.59 }, { "ErrorType": "Spelling", "ErrorCount": 2, "ErrorSeverity": 59.84 }, { "ErrorType": "Style", "ErrorCount": 7, "ErrorSeverity": 98.59 }, { "ErrorType": "Terminology", "ErrorCount": 9, "ErrorSeverity": 47.79 } ] } |
The current third-party system is defined at authorization step.
/congree/api/Settings/v1/ThirdParty/Current | Gets all settings of the current third-party system. |
{ <Settings group name>: <Settings object> } |
{ "CongreeWebInterfaceSettings": { "Rules": [ { "Rule": "Rule 1", "RuleSets": [ "Congree Standard" ] } ] } } |
/congree/api/Reporting/v1/ThirdParty/Current/{SettingsGroupName} | Gets settings of the current third-party system specified by the settings group. |
{SettingsGroupName} support comma separated set of settings groups.
{ <Settings group name>: <Settings object> } |
{ "CongreeWebInterfaceSettings": { "Rules": [ { "Rule": "Rule 1", "RuleSets": [ "Congree Standard" ] } ] } } |
Represents settings from group "Congree Web Interface" for Bulk Check Service.
Group name: CongreeWebInterfaceSettings
Structure:
{ "Rules": [ { "Rule": string, "RuleSets": [ string ] } ] } |
{ "Rules": [ { "Rule": "Rule 1", "RuleSets": [ "Congree Standard" ] } ] } |
Tasks endpoints allows to get the current status of the asynchronous task and it result.
/congree/api/Tasks/v1/Status/{taskId} | Gets task status |
{ "State": "string", "ErrorInfo": { "Code": int, "Message": "string" } } |
Available states: Pending, InProgress, Success, Failed
ErrorInfo present in state Failed only. In other cases it is null.
/congree/api/Tasks/v1/Result/{taskId} | Gets task result |
Available only for finished tasks (states: Success, Failed)
{ "Result": <result object> } |
In failed state "Result" contains ErrorInfo object. In success state - corresponding result. Result available 5 minutes after the task is completed.
/congree/api/Terminology/v1/TermCandidate?ruleSet={ruleSetName}&addOnlyUnknown={true or false} | Stores new term candidate |
Term candidate should be included in the body in following form (corresponding to the TermCandidateModel class, see Congree Bulk Check Service documentation, Type definitions - IBulkCheckService - DataGrooming-related types).
{ "Text": "string", "Context": "string" } |
/congree/api/Terminology/v1/SearchTerm?ruleSet={ruleSetName}&term={term text}&culture={CultureName} | Searches term in terminology system |
The culture name in the format languagecode2-country/regioncode2. languagecode2 is a lowercase two-letter code derived from ISO 639-1. country/regioncode2 is derived from ISO 3166 and usually consists of two uppercase letters, or a BCP-47 language tag.
Responce structure corresponds Type definitions - IBulkCheckService - Terminology-related types.
[ { "Concept": { "ConceptId": 0, "Properties": [ { "Values": [ "string" ], "Name": "string" } ], "Definitions": [ { "Culture": "string", "Text": "string", "Note": "string" } ], "Synonyms": [ { "Id": 0, "Term": "string", "Properties": [ { "Values": [ { "Usage": "string", "Value": "string", "IsMultiValue": boolean } ], "Name": "string" } ] } ] }, "Id": 0, "Term": "string", "Properties": [ { "Values": [ { "Usage": "string", "Value": "string", "IsMultiValue": boolean } ], "Name": "string" } ] } ] |
[ { "Concept": { "ConceptId": 1, "Properties": [ { "Values": [ "555588" ], "Name": "Note" }, { "Values": [ { "Usage": "Undefined", "Value": "V2", "IsMultiValue": false } ], "Name": "PL1" } ], "Definitions": [ { "Culture": "de-DE", "Text": "Definition", "Note": "" } ], "Synonyms": [ { "Id": 0, "Term": "Test", "Properties": [ { "Values": [ { "Usage": "Normal", "Value": "main entry term", "IsMultiValue": false } ], "Name": "Term type" }, { "Values": [ { "Usage": "Normal", "Value": "noun", "IsMultiValue": false } ], "Name": "Part of speech" }, { "Values": [ { "Usage": "Recommended", "Value": "standard", "IsMultiValue": false } ], "Name": "Usage" } ] } ] }, "Id": 2, "Term": "Proband", "Properties": [ { "Values": [ { "Usage": "Normal", "Value": "main entry term", "IsMultiValue": false } ], "Name": "Term type" }, { "Values": [ { "Usage": "Normal", "Value": "noun", "IsMultiValue": false } ], "Name": "Part of speech" }, { "Values": [ { "Usage": "Normal", "Value": "masculine", "IsMultiValue": false } ], "Name": "Grammatical gender" }, { "Values": [ { "Usage": "Recommended", "Value": "standard", "IsMultiValue": false } ], "Name": "Usage" } ] } ] |