Add a Classification and Language Service
- Last Updated: May 13, 2026
- 4 minute read
- Semaphore
- Documentation
To add a Classification & Language Service to Studio:
-
Login to Semaphore Studio with a user assigned the
SemaphoreSuperAdministratorrole. -
Select the Services tab.
-
Select Classification & Language Service tab from the side menu.
-
Click + New Classification & Language Service to add a new Classification Service.

-
Enter values for the following fields:
-
Name: The name of the Classification Service to be added.
-
Description: A description of the Classification Service to be added.
-
Environment: Select the licenced environment for the Classification Service to be added from the drop-down.
-
Configure Semaphore Inter-Service URL: (optional) The URL that is dedicated to the back-end server accessing the Classification Service. For example, specify a value if the back-end infrastructure uses a host name/IP address for the server and external users use a different host name/IP address to access the same server.
-
Configure Semaphore External Cloud Service: This is used if the Classification Service you want to connect to is hosted in Semaphore Cloud. If selected, you need to specify the Cloud API Key and the Cloud Token URL. Then, in the Client URL, you must specify the Classification Service URL from the Basic API help for your tenancy. The information can be obtained as follows:
-
In a browser, log into Semaphore Cloud.
-
From Semaphore Cloud, click Home at the top of the page; then, select the Basic API help link (a circle with an "i" in it).
-
From the help screen, copy the required information and paste it into the new Semantic Enhancement Service you are configuring in Studio as follows:
-
The Classification URL is the Client URL.
-
The API Key shown is the Cloud API Key.
-
The URL specified in the Generate a token section into the Cloud Token URL field.
-
The Client URL this refers to the URL of CS for this New Classification Service.

-
-
-
-
Click Test to verify the URL provided is online and accessible by Studio.

-
Click Submit to add the new Classification Service into Studio.

Restrict access to the Classification Service
Starting in versions 5.2, there is a new Security setting to the on the Classification Service overview panel. By default, it is possible for any system to publish to a Classification Service instance and for any user to administrator the rulenet. To prevent this, the Classification Service instance needs to be adopted by this Studio instance. The icon on in the Security column indicates the adoption status.
The Classification Service instance has not been adopted. Click the icon to adopt it.
The Classification Service instance has been adopted by this Studio instance. If you need to unadopt it, click this icon.
The Classification Service instance has been adopted by another Studio instance. It will need to be unadopted by that instance before it can be adopted or managed here.
The adoption status of the Classification Service instance is unknown. This typically means that the Classification Service is offline.
Unadopting a Classification Service without Studio
If you need to unadopt a Classification Service instance outside of Studio (for example, the adoptive Studio instance has been uninstalled), you must to log onto the Classification Service server box and remove the contents of the <cs_install_dir>/certificates directory.
Perform administrative functions without Studio
Once a Classification Services instance has been adopted, administrative functions can only be carried out via Studio unless a header token is provided with the request.
If you are using the stand-alone publisher, you must configure the token in the config.xml file. To do this, in the RulebasePublisher bean of the config.xml file, set the value of the csToken property to specify the token obtained through the Studio interface. To obtain the token, as a SemaphoreSuperAdminstrator, access the following URL:
<studio_host>:<studio_port>/graphql (e.g.
`http://192.168.0.14:5080/graphql`).
Then, enter the following query and press Run.:
{
classificationServices {
uri
label
}
}
You will be presented with the internal URI and label of the Classification Server instances. For the instance you want, access the URL:
<studio_host:<studio_port>/api/service/<internal_uri>/token?lifeTime=<token_life_in_milliseconds>
(e.g. http://192.168.0.14:5080/api/service/urn:uuid:5b7091a2-6e7c-4193-9380-015fe8738c9c/token?lifeTime=31556736000) A JSON snippet will be returned that contains the tokenId. Use the supplied value in the Publisher configuration.