System
Retrieve Edge installation information
Example Request:
curl "https://controller-host:8001/api/v2/system/info" \
-X GET
Example Response:
{
"etsVersion": "8.0.0",
"etsBuild": "15e651c0fe0021f45dd058d82fbe4366e9083cd4",
"features": {
"autoChainManagement": "enabled",
"edgeCloud": "disabled",
"groupShare": "enabled"
}
}
Retrieve information about the currently installed version of Edge
HTTP Request
GET /api/v2/system/info
Returns
Returns system information about the currently installed version of Edge as an EdgeInfo
object with the following attributes:
Name | Type | Description |
---|---|---|
etsVersion |
string | The currently installed version of Edge |
etsBuild |
string | The build GUID of the currently installed version of Edge |
features |
map of strings | List of optional features and whether they are enabled with the following attributes |
→ edgeCloud |
string | 'enabled' if EdgeCloud support is turned on, 'disabled' otherwise. |
→ groupShare |
string | 'enabled' if GroupShare support is turned on, 'disabled' otherwise. |
→ autoChainManagement |
string | 'enabled' if automatic translation chain management is turned on, 'disabled' otherwise. |
Retrieve input size limits
Example Request:
curl "https://controller-host:8001/api/v2/system/input-size-limits" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"languageDetectionMaxSizeInMB": 100,
"translationMaxSizeInMB": 100,
"dictionaryMaxSizeInMB": 100,
"trainingDataMaxSizeInMB": 3000,
"themesMaxSizeInMB": 20,
"importFeedbackMaxSizeInMB": 100,
"brandMaxSizeInMB": 50
}
Retrieve the current input size limits.
HTTP Request
GET /api/v2/system/input-size-limits
Returns
Returns input size limit configuration as InputSizeLimits
object with the following attributes:
Name | Type | Description |
---|---|---|
languageDetectionMaxSizeInMB |
string | Input file size limit (MB) for language detection |
translationMaxSizeInMB |
string | Input file size limit (MB) for translation |
dictionaryMaxSizeInMB |
string | Input file size limit (MB) for dictionary upload |
trainingDataMaxSizeInMB |
string | Input file size limit (MB) for training data |
themesMaxSizeInMB |
string | Input file size limit (MB) for themes upload |
importFeedbackMaxSizeInMB |
string | Input file size limit (MB) for feedback import |
brandMaxSizeInMB |
string | Input file size limit (MB) for brand upload |
Retrieve SMTP settings
Example Request:
curl "https://controller-host:8001/api/v2/system/smtp" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"host": "smtp.example.com",
"port": 486,
"username": "admin",
"sender": "notifications@example.com",
"enabled": false
}
Retrieve the current SMTP server configuration used to send emails to Language Weaver Edge users. For security reasons, the password will not be displayed.
HTTP Request
GET /api/v2/system/smtp
Returns
Returns SMTP settings as an SmtpSettings
object with the following attributes:
Name | Type | Description |
---|---|---|
host |
string | Host of SMTP server |
port |
int | Port of SMTP server |
username |
string | Username to login to SMTP server |
sender |
string | Email address to appear in the sender field |
enabled |
boolean | Whether SMTP is enabled in Language Weaver Edge |
Test SMTP settings
Example Request:
curl "https://controller-host:8001/api/v2/system/smtp/test" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d host="smtp.example.com" \
-d password="password" \
-d port="587" \
-d username="admin" \
--data-urlencode destinationEmail="jsmith@example.com"
Example Response:
{
"success": true
}
Test the current SMTP server configuration by sending a test email to a designated email address.
HTTP Request
PUT /api/v2/system/smtp/test
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
host |
string | Host of SMTP server | |
port |
string | Port of SMTP server | |
username (optional) |
string | Username to login to SMTP server | |
password (optional) |
string | Password to login to SMTP server | |
destinationEmail |
string | Email address to which to send test email | |
sender (optional) |
string | Email address to appear in the sender field |
Returns
Returns the result of the SMTP test as a TestResult
object with the following attributes:
Name | Type | Description |
---|---|---|
success |
boolean | Whether or not the test was successful |
Update SMTP settings
Example Request:
curl "https://controller-host:8001/api/v2/system/smtp" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d enabled="true" \
-d host="smtp.example.com" \
-d password="password" \
-d port="587" \
-d username="admin" \
--data-urlencode sender="notifications@example.com"
Example Response:
{
"host": "smtp.example.com",
"port": 587,
"username": "admin",
"sender": "notifications@example.com",
"enabled": true
}
Change the SMTP server configuration used to send emails to Language Weaver Edge users.
HTTP Request
PUT /api/v2/system/smtp
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
host |
string | Host of SMTP server | |
port |
string | Port of SMTP server | |
username (optional) |
string | Username to login to SMTP server | |
password (optional) |
string | Password to login to SMTP server | |
sender (optional) |
string | Email address to appear in the sender field | |
enabled (optional) |
boolean | Whether SMTP is enabled in Language Weaver Edge |
Returns
Returns the updated SMTP settings as an SmtpSettings
object.
Retrieve LDAP settings
Example Request:
curl "https://controller-host:8001/api/v2/system/ldap" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"connection": {
"host": "ldap01",
"port": 636,
"tls": true,
"insecureSkipVerify": true
},
"bind": {
"user": ""
},
"search": {
"base": "DC=global,DC=example,DC=com",
"loginParser": "(.*)",
"loginToLdap": "$1",
"userFinder": "(userPrincipalName=$1)",
"loginGroups": null,
"roleGroups": [],
"attributes": {
"name": "cn",
"email": "mail"
}
},
"syncIntervalInSecs": 3600,
"enabled": false
}
Retrieve the current LDAP configuration used for authenticating Language Weaver Edge users.
HTTP Request
GET /api/v2/system/ldap
Returns
Returns LDAP settings as an LdapSettings
object with the following attributes:
Name | Type | Description |
---|---|---|
connection |
object | Connection to LDAP server (expanded below) |
→ host |
string | Host of LDAP server |
→ port |
int | Port of LDAP server |
→ tls |
boolean | Whether LDAP server uses TLS |
→ insecureSkipVerify |
boolean | Whether to skip verification of the LDAP server's certificate chain and hostname |
bind |
object | Bind user for LDAP searches (expanded below) |
→ user |
string | LDAP user to bind when performing user search |
→ password |
string | LDAP password for bind user; required if bind.user is specified; specify __PRESERVE__ to preserve the existing password -- for security reasons, the password will not be displayed |
search |
object | LDAP user search (expanded below) |
→ base |
string | Base for LDAP search (e.g., dc=global,dc=example,dc=com) |
→ loginParser |
string | Regular expression used to parse user logins; capture groups can be used in filters (e.g., (.)@(.) means that with a login of someone@example.com, $1 will resolve to someone and $2 to example.com) |
→ loginToLdap |
string | Transformation of a user login into a value acceptable for LDAP binding (e.g., $0 or $1@example.com) |
→ userFinder |
string | Transformation of a user login into an LDAP query for finding the user (e.g., (userPrincipalName=$0) or (sAMAccountName=$1)) |
→ loginGroups |
array of strings | In order to log into Language Weaver Edge, the user must be a member of one of these groups (if empty, any user is allowed to log in if the password matches) |
→ adminGroups |
array of strings | In order to be an admin user in Language Weaver Edge, the user must be a member of one of these groups (if empty, no LDAP users will be admin users) |
→ attributes |
object | How to extract user name, email and a unique user ID from LDAP search (the default values should work for most LDAP installations) (expanded below) |
→ → name |
string | The user name attribute in LDAP (default: name) |
→ → email |
string | The email attribute in LDAP (default: mail) |
syncIntervalInSecs |
int | Interval used to set how often Language Weaver Edge contacts the LDAP server to verify user is still active |
enabled |
boolean | Whether LDAP is enabled in Language Weaver Edge |
Test LDAP settings
Example Request:
curl "https://controller-host:8001/api/v2/system/ldap/test" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-H "Content-Type: application/json" \
-d '{"ldapConfig":{"connection":{"host":"ldap02","port":636,"tls":true,"insecureSkipVerify":true},"bind":{"user":""},"search":{"base":"DC=global,DC=example,DC=com","loginParser":"(.*)","loginToLdap":"$1","userFinder":"(userPrincipalName=$1)","loginGroups":["CN=edgeuser.group,OU=acme,DC=example,DC=com"],"adminGroups":["CN=edgeadmin.group,OU=acme,DC=example,DC=com"],"roleGroups":[{"role":"admin","groups":["CN=edgeadmin.group,OU=acme,DC=example,DC=com"]},{"role":"linguist","groups":["CN=edgelinguist.group,OU=acme,DC=example,DC=com"]},{"role":"translator","groups":["CN=edgetranslator.group,OU=acme,DC=example,DC=com"]}],"attributes":{"name":"cn","email":"mail"}},"syncIntervalInSecs":3600,"enabled":true},"username":"jsmith@example.com","password":"abcd1234"}'
Example Response:
{
"validations": [
{
"code": "connect",
"description": "LDAP server connection",
"status": "pass",
"message": ""
},
{
"code": "bind",
"description": "binding of bind user",
"status": "skip",
"message": "no bind username or password provided"
},
{
"code": "login",
"description": "full login: authentication",
"status": "pass",
"message": ""
},
{
"code": "login.allowed",
"description": "full login: login group membership",
"status": "pass",
"message": "user can login (name: jsmith@example.com, email: jsmith@example.com)"
},
{
"code": "login.admin",
"description": "full login: role group membership",
"status": "pass",
"message": "user is an admin user"
}
]
}
Test an LDAP configuration by running a series of validation checks.
HTTP Request
PUT /api/v2/system/ldap/test
Request Body
LDAP settings to test, as an LdapSettingsToTest
object in JSON format, with the following attributes:
Name | Type | Description | Default Value |
---|---|---|---|
ldapConfig |
object | LDAP settings as an LdapSettings object |
|
username (optional) |
string | Username of test user | |
password (optional) |
string | Password of test user |
Returns
Returns the results of the LDAP validation checks as a ValidationResults
object with the following attributes:
Name | Type | Description |
---|---|---|
validations |
array of objects | List of validation results as an array of ValidationResult objects (expanded below) |
→ code |
string | Code of validation test |
→ description |
string | Human-friendly description of validation test |
→ status |
string | Status after validation test was attempted: pass , fail , or skip |
→ message |
string | Optional message further explaining status |
Update LDAP settings
Example Request:
curl "https://controller-host:8001/api/v2/system/ldap" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-H "Content-Type: application/json" \
-d '{"ldapConfig":{"connection":{"host":"ldap02","port":636,"tls":true,"insecureSkipVerify":true},"bind":{"user":""},"search":{"base":"DC=global,DC=example,DC=com","loginParser":"(.*)","loginToLdap":"$1","userFinder":"(userPrincipalName=$1)","loginGroups":["CN=edgeuser.group,OU=acme,DC=example,DC=com"],"adminGroups":["CN=edgeadmin.group,OU=acme,DC=example,DC=com"],"roleGroups":[{"role":"admin","groups":["CN=edgeadmin.group,OU=acme,DC=example,DC=com"]},{"role":"linguist","groups":["CN=edgelinguist.group,OU=acme,DC=example,DC=com"]},{"role":"translator","groups":["CN=edgetranslator.group,OU=acme,DC=example,DC=com"]}],"attributes":{"name":"cn","email":"mail"}},"syncIntervalInSecs":3600,"enabled":true},"username":"jsmith@example.com","password":"abcd1234"}'
Example Response:
{
"connection": {
"host": "ldap02",
"port": 636,
"tls": true,
"insecureSkipVerify": true
},
"bind": {
"user": ""
},
"search": {
"base": "DC=global,DC=example,DC=com",
"loginParser": "(.*)",
"loginToLdap": "$1",
"userFinder": "(userPrincipalName=$1)",
"loginGroups": [
"CN=edgeuser.group,OU=acme,DC=example,DC=com"
],
"adminGroups": [
"CN=edgeadmin.group,OU=acme,DC=example,DC=com"
],
"roleGroups": [
{
"role": "admin",
"groups": [
"CN=edgeadmin.group,OU=acme,DC=example,DC=com"
]
},
{
"role": "linguist",
"groups": [
"CN=edgelinguist.group,OU=acme,DC=example,DC=com"
]
},
{
"role": "translator",
"groups": [
"CN=edgetranslator.group,OU=acme,DC=example,DC=com"
]
}
],
"attributes": {
"name": "cn",
"email": "mail"
}
},
"syncIntervalInSecs": 3600,
"enabled": true
}
Change the LDAP configuration used for authenticating Language Weaver Edge users.
HTTP Request
PUT /api/v2/system/ldap
Request Body
LDAP settings to save, as an LdapSettings
object in JSON format.
Returns
Returns the updated LDAP settings as an LdapSettings
object.
Check if SAML (Single Sign-on) authentication is available
Example Request:
curl "https://controller-host:8001/api/v2/system/saml/available" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"available": true
}
Check if SAML (Single Sign-on) authentication is available, without requiring Administrator-level access
HTTP Request
GET /api/v2/system/saml/available
Returns
Returns an object with the following attributes:
Name | Type | Description |
---|---|---|
available |
boolean | Whether SAML available (i.e. configured and enabled) |
Retrieve SAML settings
Example Request:
curl "https://controller-host:8001/api/v2/system/saml" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"enabled": true,
"identityProvider": {
"metadataUrl": "https://login.microsoftonline.com/df02c2f8-e418-484f-8bd6-c7f2e154f300/federationmetadata/2007-06/federationmetadata.xml",
"insecureSkipVerify": false,
"azure": {
"applicationId": "1234-1234-1234-9999"
},
"forceAuthentication": false,
"attributes": {
"name": "",
"email": ""
}
},
"loginGroups": [
"some-group-id"
],
"roleGroups": null,
"loginRoles": null,
"roles": null
}
Retrieve the current SAML configuration used for Single Sign-on.
HTTP Request
GET /api/v2/system/saml
Returns
Returns SAML settings as an object with the following attributes:
Name | Type | Description |
---|---|---|
enabled |
boolean | Whether SAML is enabled in Language Weaver Edge |
identityProvider |
object | Identity Provider configuration (expanded below) |
→ metadataUrl |
string | URL used to retrieve the Identity Provider metadata |
→ insecureSkipVerify |
boolean | If true, Language Weaver Edge will skip the verification of the certifiate supplied by the Identity Provider |
→ azure |
object | Azure specific configuration (expanded below) |
→ → applicationId |
string | Azure only: The Application ID on the Azure side |
→ forceAuthentication |
boolean | Ask the Identity Provider to always require authentication (i.e. prompt the user for a password), even if the session is still available |
→ loginGroups |
array of strings | If not empty, the user is required to be a member of one of these groups in order to log in. The Identity Provider must be configured to send the group membership as claims |
Update SAML settings
Example Request:
curl "https://controller-host:8001/api/v2/system/saml" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d enabled="true" \
-d identityProvider.attributes.email="email" \
-d identityProvider.attributes.name="name" \
-d identityProvider.azure.applicationId="1234-1234-1234-9999" \
-d identityProvider.forceAuthentication="false" \
-d loginGroup="some-group-id" \
--data-urlencode identityProvider.metadataUrl="https://login.microsoftonline.com/df02c2f8-e418-484f-8bd6-c7f2e154f300/federationmetadata/2007-06/federationmetadata.xml" \
--data-urlencode role="admin=adminRole" \
--data-urlencode role="admin=otherAdminRole" \
--data-urlencode role="linguist=linguistRole" \
--data-urlencode roleGroup="admin=CN=edgeadmin.group,OU=acme,DC=example,DC=com" \
--data-urlencode roleGroup="admin=CN=otheredgeadmin.group,OU=acme,DC=example,DC=com" \
--data-urlencode roleGroup="linguist=CN=edgelinguist.group,OU=acme,DC=example,DC=com"
Example Response:
{
"enabled": true,
"identityProvider": {
"metadataUrl": "https://login.microsoftonline.com/df02c2f8-e418-484f-8bd6-c7f2e154f300/federationmetadata/2007-06/federationmetadata.xml",
"insecureSkipVerify": false,
"azure": {
"applicationId": "1234-1234-1234-9999"
},
"forceAuthentication": false,
"attributes": {
"name": "name",
"email": "email"
}
},
"loginGroups": [
"some-group-id"
],
"roleGroups": null,
"loginRoles": null,
"roles": null
}
Change the SAML configuration used for Single Sign-on
HTTP Request
PUT /api/v2/system/saml
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
enabled (optional) |
boolean | Whether SAML is enabled | |
identityProvider.azure.applicationId (optional) |
string | Azure only: Application ID on the Azure side | |
identityProvider.metadataUrl (optional) |
string | URL used to retrieve Identity Provider metadata | |
identityProvider.insecureSkipVerify (optional) |
boolean | If true, Language Weaver Edge will skip the verification of the certifiate supplied by the Identity Provider | |
identityProvider.forceAuthentication (optional) |
boolean | If true, the Identity Provider will always ask for the user password, even if the user still has a valid session on the Identity Provider side | |
identityProvider.attributes.name (optional) |
string | After login, the Identity Provider sends the user name in an attribute. This field allows overriding the name of the attribute. Overriding is usually not required. | |
identityProvider.attributes.email (optional) |
string | After login, the Identity Provider sends the user email in an attribute. This field allows overriding the name of the attribute. Overriding is usually not required. | |
loginGroup (optional) |
string | If not empty, the user is required to be a member of one of these groups in order to log in. The Identity Provider must be configured to send the group membership as claims. This parameter can be repeated if there is more than one group. | |
roleGroup (optional) |
string array | If not empty, the user is required to be a member of one of these groups in order to be a member of the corresponding role. The Identity Provider must be configured to send the group membership as claims. This parameter can be repeated if there is more than one group. | |
role (optional) |
string array | If not empty, the user is required to have the SAML role in order to be a member of the corresponding LWE role. The Identity Provider must be configured to send the roles as claims. This parameter can be repeated if there is more than one role. |
Returns
Returns the updated SAML settings as an object.
Retrieve proxy settings
Example Request:
curl "https://controller-host:8001/api/v2/system/proxy" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"host": "proxy.example.com",
"port": 8080,
"username": "admin",
"enabled": false
}
Retrieve the proxy configuration through which Edge Cloud connections are made. For security reasons, the password will not be displayed.
HTTP Request
GET /api/v2/system/proxy
Returns
Returns proxy settings as a ProxySettings
object with the following attributes:
Name | Type | Description |
---|---|---|
host |
string | Host of proxy server |
port |
int | Port of proxy server |
username |
string | Username to login to proxy server |
enabled |
boolean | Whether proxy is enabled in Language Weaver Edge |
Update proxy settings
Example Request:
curl "https://controller-host:8001/api/v2/system/proxy" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d enabled="true" \
-d host="proxy2.example.com" \
-d password="password" \
-d port="567" \
-d username="admin"
Example Response:
{
"host": "proxy2.example.com",
"port": 567,
"username": "admin",
"enabled": true
}
Change the proxy configuration through which Edge Cloud connections are made.
HTTP Request
PUT /api/v2/system/proxy
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
host |
string | Host of proxy server | |
port |
string | Port of proxy server | |
username (optional) |
string | Username to login to proxy server | |
password (optional) |
string | Password to login to proxy server | |
enabled (optional) |
boolean | Whether proxy is enabled in Language Weaver Edge |
Returns
Returns the updated proxy settings as a ProxySettings
object.
Retrieve TLS settings
Example Request:
curl "https://controller-host:8001/api/v2/system/tls" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"enabled": false,
"certificatePath": "/opt/sdl/ets/auth/tls/default/cert.pem",
"privateKeyPath": "/opt/sdl/ets/auth/tls/default/key.pem"
}
Retrieve the TLS configuration through which Edge services are served.
HTTP Request
GET /api/v2/system/tls
Returns
Returns TLS settings as a TlsSettings
object with the following attributes:
Name | Type | Description |
---|---|---|
enabled |
boolean | Whether TLS is enabled in Language Weaver Edge |
minimumVersion |
string | The minimum version of TLS to use (1.1 or 1.2 ) |
maximumVersion |
string | The maximum version of TLS to use (1.1 or 1.2 ) |
certificatePath |
string | Path to TLS certificate |
privateKeyPath |
string | Path to TLS private key |
Update TLS settings
Example Request:
curl "https://controller-host:8001/api/v2/system/tls" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d enabled="true" \
-d privateKeyPassword="foobar" \
--data-urlencode privateKeyPath="/opt/sdl/ets/auth/tls/default/key-new.pem"
Example Response:
{
"enabled": true,
"certificatePath": "/opt/sdl/ets/auth/tls/default/cert.pem",
"privateKeyPath": "/opt/sdl/ets/auth/tls/default/key-new.pem"
}
Change the TLS configuration through which Edge services are served. Note: You must manually restart Language Weaver Edge Manager on the Controller host for these changes to take effect.
HTTP Request
PUT /api/v2/system/tls
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
enabled (optional) |
boolean | Whether TLS is enabled in Language Weaver Edge | |
minimumVersion (optional) |
string | The minimum version of TLS to use (1.1 , 1.2 or 1.3 ) |
1.2 |
maximumVersion (optional) |
string | The maximum version of TLS to use (1.1 , 1.2 or 1.3 ) |
|
certificatePath (optional) |
string | Path to TLS certificate | |
privateKeyPath (optional) |
string | Path to TLS private key | |
privateKeyPassword (optional) |
string | Password to access private key |
Returns
Returns the updated TLS settings as a TlsSettings
object.
Retrieve Edge Cloud settings
Example Request:
curl "https://controller-host:8001/api/v2/system/edge-cloud" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"host": "api.languageweaver.com",
"port": 443,
"clientId": "7A30s2",
"enabled": true
}
Retrieve the current Edge Cloud configuration used to connect to a MT Cloud server.
HTTP Request
GET /api/v2/system/edge-cloud
Returns
Returns Edge Cloud settings as an EdgeCloudConfig
object with the following attributes:
Name | Type | Description |
---|---|---|
host |
string | Host of MT Cloud server |
port |
int | Port of MT Cloud server |
clientId |
string | Client ID to login to MT Cloud server |
enabled |
boolean | Whether Edge Cloud is enabled in Language Weaver Edge |
Test Edge Cloud settings
Example Request:
curl "https://controller-host:8001/api/v2/system/edge-cloud/test" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d clientId="7A30s2" \
-d clientSecret="AbC_123" \
-d host="api.languageweaver.com" \
-d port="443"
Example Response:
{
"success": true
}
Test the Edge Cloud configuration by running a series of validation checks.
HTTP Request
PUT /api/v2/system/edge-cloud/test
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
host (optional) |
string | Host of MT Cloud server | |
port (optional) |
string | Port of MT Cloud server | |
clientId (optional) |
string | Client ID to login to MT Cloud server | |
clientSecret (optional) |
string | Client secret to login to MT Cloud server |
Returns
Returns the result of the Edge Cloud test as a TestResult
object with the following attributes:
Name | Type | Description |
---|---|---|
success |
boolean | Whether or not the test was successful |
Update Edge Cloud settings
Example Request:
curl "https://controller-host:8001/api/v2/system/edge-cloud" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d clientId="7A30s2" \
-d clientSecret="AbC_123" \
-d enabled="true" \
-d host="api.languageweaver.com" \
-d port="443"
Example Response:
{
"host": "api.languageweaver.com",
"port": 443,
"clientId": "7A30s2",
"enabled": true
}
Change the Edge Cloud configuration used to connect to a MT Cloud server.
HTTP Request
PUT /api/v2/system/edge-cloud
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
host (optional) |
string | Host of MT Cloud server | |
port (optional) |
string | Port of MT Cloud server | |
clientId (optional) |
string | Client ID to login to MT Cloud server | |
clientSecret (optional) |
string | Client secret to login to MT Cloud server | |
enabled (optional) |
boolean | Whether Edge Cloud is enabled in Language Weaver Edge | false |
Returns
Returns the updated Edge Cloud settings as an EdgeCloudConfig
object.
Retrieve GroupShare settings
Example Request:
curl "https://controller-host:8001/api/v2/system/group-share" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"host": "http://groupShareHost",
"port": 80,
"username": "User",
"enabled": true
}
Retrieve the current GroupShare configuration used to connect to a GroupShare server.
HTTP Request
GET /api/v2/system/group-share
Returns
Returns GroupShare settings as an GroupShareConfig
object with the following attributes:
Name | Type | Description |
---|---|---|
host |
string | Host of GroupShare server |
port |
int | Port of GroupShare server |
username |
string | Username to login to GroupShare server |
enabled |
boolean | Whether GroupShare is enabled in Language Weaver Edge |
Test GroupShare settings
Example Request:
curl "https://controller-host:8001/api/v2/system/group-share/test" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d password="password" \
-d port="80" \
-d username="User" \
--data-urlencode host="http://groupShareHost"
Example Response:
{
"success": true
}
Test the GroupShare configuration by running a series of validation checks.
HTTP Request
PUT /api/v2/system/group-share/test
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
host (optional) |
string | Host of GroupShare server | |
port (optional) |
int | Port of GroupShare server | |
username (optional) |
string | Username to login to GroupShare server | |
password (optional) |
string | Password to login to GroupShare server |
Returns
Returns the result of the GroupShare test as a TestResult
object with the following attributes:
Name | Type | Description |
---|---|---|
success |
boolean | Whether or not the test was successful |
Update GroupShare settings
Example Request:
curl "https://controller-host:8001/api/v2/system/group-share" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d enabled="true" \
-d password="password" \
-d port="80" \
-d username="User" \
--data-urlencode host="http://groupShareHost"
Example Response:
{
"host": "http://groupShareHost",
"port": 80,
"username": "User",
"enabled": true
}
Change the GroupShare configuration used to connect to a GroupShare server.
HTTP Request
PUT /api/v2/system/group-share
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
host (optional) |
string | Host of GroupShare server | |
port (optional) |
int | Port of GroupShare server | |
username (optional) |
string | Username to login to GroupShare server | |
password (optional) |
string | Password to login to GroupShare server | |
enabled (optional) |
boolean | Whether GroupShare is enabled in Language Weaver Edge | false |
Returns
Returns the updated GroupShare settings as an GroupShareConfig
object.
Retrieve reports settings
Example Request:
curl "https://controller-host:8001/api/v2/system/reports" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"translations": {
"enabled": true,
"purgeMaxAgeInSecs": 8640000,
"dbAddIntervalInSecs": 1,
"maxQueueSize": 200,
"maxBufferSize": 500
}
}
Retrieve the reports configuration.
HTTP Request
GET /api/v2/system/reports
Returns
Returns the reports configuration object with the database path excluded.
Update the reports settings
Example Request:
curl "https://controller-host:8001/api/v2/system/reports/translations" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d dbAddIntervalInSecs="1" \
-d enabled="true" \
-d maxBufferSize="500" \
-d maxQueueSize="200" \
-d purgeMaxAgeInSecs="8640000"
Example Response:
{
"enabled": true,
"purgeMaxAgeInSecs": 8640000,
"dbAddIntervalInSecs": 1,
"maxQueueSize": 200,
"maxBufferSize": 500
}
Change the reports configuration.
HTTP Request
PUT /api/v2/system/reports/translations
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
enabled (optional) |
boolean | Whether translations will be added to the reports database | false |
purgeMaxAgeInSecs (optional) |
int | Maximum age of translations in the reports database kept during daily purges | 8640000 |
dbAddIntervalInSecs (optional) |
int | Interval of how often queued translations are added to the reports database | 1 |
maxQueueSize (optional) |
int | Maximum size before queued translations are added to the reports database | 200 |
maxBufferSize (optional) |
int | Maximum buffer size to store translations before queueing | 500 |
Returns
Returns the updated translation report configuration object with the database path excluded.
Retrieve Public URL settings
Example Request:
curl "https://controller-host:8001/api/v2/system/public-url" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"publicUrl": "https://public-host:8001",
"privateApiUrl": "https://controller-host:8001",
"privateWebUrl": "https://controller-host:8000"
}
Retrieve the Public URL settings.
HTTP Request
GET /api/v2/system/public-url
Returns
Returns the public URL settings as a URLSettings
object with the following attributes:
Name | Type | Description |
---|---|---|
publicUrl |
string | The API and web URL that is used to access this Edge instance from external networks. This can be set to a reverse proxy's address. |
privateApiUrl |
string | The API URL that is used to access this Edge instance from internal networks. |
privateWebUrl |
string | The web URL that is used to access this Edge instance from internal networks. |
Update Public URL settings
Example Request:
curl "https://controller-host:8001/api/v2/system/public-url" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
--data-urlencode publicUrl="https://public-host:8001"
Example Response:
{
"publicUrl": "https://public-host:8001",
"privateApiUrl": "https://controller-host:8001",
"privateWebUrl": "https://controller-host:8000"
}
Change the Public URL settings.
HTTP Request
PUT /api/v2/system/public-url
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
publicUrl |
string | The public URL to prepend URLs with. |
Returns
Returns the updated public URL as a URLSettings
object.
Retrieve front-end HTTP settings
Example Request:
curl "https://controller-host:8001/api/v2/system/http-headers" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"headers": [
"Header1: Value1",
"Header2: Value2"
]
}
Retrieves HTTP settings for the Web user interface.
HTTP Request
GET /api/v2/system/http-headers
Returns
Returns the HTTP settings as a FrontEndHTTP
object with the following attributes:
Name | Type | Description |
---|---|---|
Headers |
string array | A list of additional HTTP headers the server will use for every response. |
Update front-end HTTP settings
Example Request:
curl "https://controller-host:8001/api/v2/system/http-headers" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
--data-urlencode headers="Header1: Value1" \
--data-urlencode headers="Header2: Value2"
Example Response:
{
"headers": [
"Header1: Value1",
"Header2: Value2"
]
}
Updates HTTP settings for the Web user interface.
HTTP Request
PUT /api/v2/system/http-headers
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
headers |
string array | HTTP Headers to add |
Returns
Returns the HTTP settings as a FrontEndHTTP
object.
Retrieve asynchronous translation purge configuration
Example Request:
curl "https://controller-host:8001/api/v2/system/translations/purge" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"maxAgeInSecs": 0,
"enabled": false
}
Retrieve the asynchronous translation purge configuration.
HTTP Request
GET /api/v2/system/translations/purge
Returns
Returns the translation purge configuration as a TranslationPurgeConfig
object with the following attributes:
Name | Type | Description |
---|---|---|
maxAgeInSecs |
int | Maximum age a translation is kept before being purged. The age begins when the translation is completed. Specified age must be at least one second. |
enabled |
boolean | Whether translations will have their records regularly purged after they exceed their maximum age. |
Update asynchronous translation purge configuration
Example Request:
curl "https://controller-host:8001/api/v2/system/translations/purge" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d enabled="false" \
-d maxAgeInSecs="8640000"
Example Response:
{
"maxAgeInSecs": 8640000,
"enabled": false
}
Change the asynchronous translation purge configuration.
HTTP Request
PUT /api/v2/system/translations/purge
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
maxAgeInSecs (optional) |
int | Maximum age a translation is kept before being purged. The age begins when the translation is completed. | 8640000 |
enabled (optional) |
boolean | Whether translations will have their records regularly purged after they exceed their maximum age. | false |
Returns
Returns the updated translation configuration as a TranslationPurgeConfig
object.
Retrieve translation chain settings
Example Request:
curl "https://controller-host:8001/api/v2/system/translation-chains" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"autoManage": true,
"enabled": true
}
Retrieve the current status of system-wide translation chain features.
HTTP Request
GET /api/v2/system/translation-chains
Returns
Returns the current settings as a ChainManagementSettings
object with the following attributes:
Name | Type | Description |
---|---|---|
autoManage |
boolean | Whether the system automatically creates and disposes of translation chains as the necessary resources become available/unavailable. |
enabled |
boolean | Whether translation chains are enabled on the system. |
Update translation chain settings
Example Request:
curl "https://controller-host:8001/api/v2/system/translation-chains" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d autoManage="true" \
-d enabled="true"
Example Response:
{
"autoManage": true,
"enabled": true
}
Update system-wide settings for translation chains
HTTP Request
PUT /api/v2/system/translation-chains
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
autoManage (optional) |
boolean | Whether the system automatically creates and disposes of translation chains as the necessary resources become available/unavailable. | |
enabled (optional) |
boolean | Whether translation chains are enabled on the system. |
Returns
Returns the current settings as a ChainManagementSettings
object.
Retrieve language detection settings
Example Request:
curl "https://controller-host:8001/api/v2/system/language-detections" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"timeoutInSecs": 300,
"filter": "sdl"
}
Retrieve the current status of system-wide language detection settings.
HTTP Request
GET /api/v2/system/language-detections
Returns
Returns the current settings as a LanguageDetectionConfig
object with the following attributes:
Name | Type | Description |
---|---|---|
filter |
string | Filter type set for language detections, including auto-detect translations. |
timeoutInSecs |
int | The duration that the system will wait for an in-progress language detection request. |
Update language detection settings
Example Request:
curl "https://controller-host:8001/api/v2/system/language-detections" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d filter="sdl"
Example Response:
{
"timeoutInSecs": 300,
"filter": "sdl"
}
Update system-wide settings for language detection
HTTP Request
PUT /api/v2/system/language-detections
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
filter (optional) |
string | Filter type to use for all language detection requests. Choices: running to only display detected languages that are the source language of a running translation engine, installed to only display languages that are the source language of an installed language pair, sdl to only display Language Weaver-supported languages, or all to display all detected languages. |
|
timeoutInSecs (optional) |
int | The duration that the system will wait for an in-progress language detection request. |
Returns
Returns the current settings as a LanguageDetectionConfig
object.
Retrieve language pair adaptation settings
Example Request:
curl "https://controller-host:8001/api/v2/system/language-pair-adaptation" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"languagePairsDir": "/opt/sdl/ets/data/adapted-lps",
"minimumTrainingUnits": 1000,
"minimumTestUnits": 50,
"minimumDiskSpaceRequiredInMB": 10000,
"maximumSegmentsToParse": 0
}
Retrieve the system-wide settings for language pair adaptation.
HTTP Request
GET /api/v2/system/language-pair-adaptation
Returns
Returns language pair adaptation settings as an LanguagePairTrainerConfig
object with the following attributes:
Name | Type | Description |
---|---|---|
languagePairsDir |
string | Directory to store adapted language pairs |
minimumTrainingUnits |
int | Minimum training units for adaptation |
minimumTestUnits |
int | Minimum test units for adaptation |
minimumDiskSpaceRequiredInMB |
int | Minimum disk space required in MB for adapation |
Update language pair adaptation settings
Example Request:
curl "https://controller-host:8001/api/v2/system/language-pair-adaptation" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d maximumSegmentsToParse="30000000" \
-d minimumDiskSpaceRequiredInMB="15000" \
-d minimumTestUnits="100" \
-d minimumTrainingUnits="2000" \
--data-urlencode languagePairsDir="/opt/sdl/ets/data/adaptation"
Example Response:
{
"languagePairsDir": "/opt/sdl/ets/data/adaptation",
"minimumTrainingUnits": 2000,
"minimumTestUnits": 100,
"minimumDiskSpaceRequiredInMB": 15000,
"maximumSegmentsToParse": 30000000
}
Update the system-wide settings for language pair adaptation.
HTTP Request
PUT /api/v2/system/language-pair-adaptation
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
languagePairsDir (optional) |
string | Directory to store adapted language pairs | |
minimumTrainingUnits (optional) |
int | Minimum training units for adaptation | |
minimumTestUnits (optional) |
int | Minimum test units for adaptation | |
minimumDiskSpaceRequiredInMB (optional) |
int | Minimum disk space required in MB for adapation | |
maximumSegmentsToParse (optional) |
int | Maximum number of segments to parse for adapation across all sources |
Returns
Returns the updated language pair adaptation settings as an LanguagePairTrainerConfig
object.
Retrieve themes settings
Example Request:
curl "https://controller-host:8001/api/v2/system/themes" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"enabled": true
}
Retrieve the themes configuration.
HTTP Request
GET /api/v2/system/themes
Returns
Returns the themes configuration object.
Update the themes settings
Example Request:
curl "https://controller-host:8001/api/v2/system/themes" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d enabled="true"
Example Response:
{
"enabled": true
}
Change the themes configuration.
HTTP Request
PUT /api/v2/system/themes
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
enabled (optional) |
boolean | Whether custom theme will be enabled |
Returns
Returns the updated themes configuration object.
Retrieve brands settings
Example Request:
curl "https://controller-host:8001/api/v2/system/brands" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"enabled": true
}
Retrieve the brands configuration.
HTTP Request
GET /api/v2/system/brands
Returns
Returns the brands configuration object.
Update the brands settings
Example Request:
curl "https://controller-host:8001/api/v2/system/brands" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d enabled="true"
Example Response:
{
"enabled": true
}
Change the brands configuration.
HTTP Request
PUT /api/v2/system/brands
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
enabled (optional) |
boolean | Whether brands will be enabled |
Returns
Returns the updated brands configuration object.
Retrieve the webhooks settings
Example Request:
curl "https://controller-host:8001/api/v2/system/webhooks" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"username": "jsmith@example.com",
"purgeMaxAgeInSecs": 8640000,
"enabled": true,
"authenticationType": "Basic"
}
Retrieve the webhooks configuration.
HTTP Request
GET /api/v2/system/webhooks
Returns
Returns the webhooks configuration object.
Update the webhooks settings
Example Request:
curl "https://controller-host:8001/api/v2/system/webhooks" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
--data-urlencode username="jsmith@example.com"
Example Response:
{
"username": "jsmith@example.com",
"purgeMaxAgeInSecs": 8640000,
"enabled": true,
"authenticationType": "Basic"
}
Update the webhooks configuration.
HTTP Request
PUT /api/v2/system/webhooks
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
username (optional) |
string | The username to pass with each webhook via basic authentication | |
password (optional) |
string | The password to pass with each webhook via basic authentication | |
enabled (optional) |
string | Whether or not webhooks are enabled | |
purgeMaxAgeInSecs (optional) |
int | Maximum age of webhook events kept during purges | 8640000 |
Returns
Returns the webhooks configuration object.
Retrieve the labels settings
Example Request:
curl "https://controller-host:8001/api/v2/system/labels" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"enabled": true,
"enforceForTranslation": false,
"labelLengthLimit": 225,
"maxLabelCount": 5000,
"maxLabelsPerTranslation": 10,
"preventMultiSelect": false
}
Retrieve the labels configuration.
HTTP Request
GET /api/v2/system/labels
Returns
Returns the labels configuration object.
Update the labels settings
Example Request:
curl "https://controller-host:8001/api/v2/system/labels" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"enabled": true,
"enforceForTranslation": false,
"labelLengthLimit": 225,
"maxLabelCount": 5000,
"maxLabelsPerTranslation": 10,
"preventMultiSelect": false
}
Update the labels configuration.
HTTP Request
PUT /api/v2/system/labels
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
enabled (optional) |
string | Whether or not labels are enabled via the UI | |
enforceForTranslation (optional) |
string | Whether or not labels are required for translation via the UI | |
labelLengthLimit (optional) |
int | Maximum length of a label name | |
maxLabelCount (optional) |
int | Maximum number of total labels | 5000 |
maxLabelsPerTranslation (optional) |
int | Maximum number of labels allowed per translation | 10 |
preventMultiSelect (optional) |
string | Prevent selection of multiple labels for translation via the UI |
Returns
Returns the labels configuration object.
Retrieve the event logging settings
Example Request:
curl "https://controller-host:8001/api/v2/system/eventlog" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"enabled": true,
"logFailedEvents": true,
"routesToLog": [
"/api/v2/system/eventlog",
"/api/v2/users"
]
}
Retrieve the event logging configuration.
HTTP Request
GET /api/v2/system/eventlog
Returns
Returns the event logging settings as a EventLoggingConfig
object.
Name | Type | Description |
---|---|---|
enabled |
boolean | Whether event logging is enabled |
routesToLog |
array of strings | An array of the routes we would like to log. If it is simply '["all"]' or empty, all routes will be logged. |
logFailedEvents |
boolean | Whether failed http events will be logged. |
Update the event logging settings
Example Request:
curl "https://controller-host:8001/api/v2/system/eventlog" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d enabled="true" \
-d logFailedEvents="true" \
--data-urlencode routesToLog="/api/v2/system/eventlog" \
--data-urlencode routesToLog="/api/v2/users"
Example Response:
{
"enabled": true,
"logFailedEvents": true,
"routesToLog": [
"/api/v2/system/eventlog",
"/api/v2/users"
]
}
Update the event logging configuration.
HTTP Request
PUT /api/v2/system/eventlog
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
enabled (optional) |
boolean | Whether or not event logging is enabled | |
routesToLog (optional) |
string | A route to enable event logging for. Multiple routeToLogs can be specified to add multiple routes. Specify "all" to log all routes. | |
logFailedEvents (optional) |
boolean | Whether or not to log failed HTTP events |
Returns
Returns the updated event logging settings as a EventLoggingConfig
object
Update the auto adaptation settings
Example Request:
curl "https://controller-host:8001/api/v2/system/auto-adaptation" \
-X PUT \
-u u_jsmith@example.com_u0VmztKJrwqf: \
-d dictionariesEnabled="true" \
-d enabled="true" \
-d feedbackEnabled="true" \
-d includePendingFeedback="false" \
-d threshold="1000" \
-d translationMemoriesEnabled="false"
Example Response:
{
"sources": {
"translationMemories": {
"enabled": false
},
"dictionaries": {
"enabled": true
},
"feedback": {
"enabled": true
}
},
"enabled": true,
"threshold": 1000,
"successfulTrainingsToKeep": 3,
"unsuccessfulTrainingsToKeep": 1,
"includePendingFeedback": false,
"gracePeriodInSecs": 0
}
Update the auto adaptation configuration.
HTTP Request
PUT /api/v2/system/auto-adaptation
Request Parameters
Name | Type | Description | Default Value |
---|---|---|---|
enabled (optional) |
boolean | Whether overall auto adaptation is enabled | |
threshold (optional) |
int | The overall threshold to trigger an adaptation | |
includePendingFeedback (optional) |
boolean | Whether to include pending feedback in the gathered feedback data | |
dictionariesEnabled (optional) |
boolean | Whether dictionaries are enabled as an auto adaptation source | |
translationMemoriesEnabled (optional) |
boolean | Whether submitted translation memories are enabled as an auto adaptation source | |
feedbackEnabled (optional) |
boolean | Whether feedback is enabled as an auto adaptation source |
Returns
Returns the auto adaptation configuration object.
Retrieve the auto adaptation settings
Example Request:
curl "https://controller-host:8001/api/v2/system/auto-adaptation" \
-X GET \
-u u_jsmith@example.com_u0VmztKJrwqf:
Example Response:
{
"translationMemories": {
"enabled": false
},
"dictionaries": {
"enabled": true
},
"feedback": {
"enabled": true
}
}
Retrieve the auto adaptation configuration.
HTTP Request
GET /api/v2/system/auto-adaptation
Returns
Returns the auto adaptation settings as a AutoAdaptationSources
object.
Name | Type | Description |
---|---|---|
enabled |
boolean | Whether overall auto adaptation is enabled |
threshold |
int | The overall threshold to trigger an adaptation |
successfulTrainingsToKeep |
int | The number of successful training jobs to keep per language pair ID |
unsuccessfulTrainingsToKeep |
int | The number of unsuccessful (cancelled or failed) training jobs to keep per language pair ID |
includePendingFeedback |
boolean | Whether to include pending feedback in the gathered feedback data |
sources |
object | The sources factored into the auto adaptations |
→ translationMemories |
object | Settings pertaining to translation memories input |
→ → enabled |
boolean | Whether this source is enabled as an auto adaptation source |
→ dictionaries |
object | Settings pertaining to dictionaries input |
→ → enabled |
boolean | Whether this source is enabled as an auto adaptation source |
→ feedback |
object | Settings pertaining to feedback input |
→ → enabled |
boolean | Whether this source is enabled as an auto adaptation source |