Show / Hide Table of Contents

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

This endpoint does not require authentication.

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: super admin

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.

This endpoint is restricted to the following roles: super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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.

This endpoint is restricted to the following roles: admin, super admin

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
In This Page
Back to top