---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# EncoderStore - Global

# EncoderStore - Global {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read

The EncoderStore API provides methods to store and retrieve encoders.

This API requires the Predictive Intelligence plugin (com.glide.platform_ml) and is provided within the `sn_ml` namespace.

## EncoderStore - add(Object mlEncoder) {#ariaid-title2}

Adds a new encoder object to the store and returns a unique name.
Note:  
Label values do not need to be unique. For example, if you run this method with the same label 10 times, this method adds 10 different uniquely-named objects to the store.
{#EncoderStore-add_O__table_vwy_1fr_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| mlEncoder | [Encoder](https://servicenow-prod.fluidtopics.net/lD2dU3P5hPYTlVdnWNZofg#EncoderAPI "The Encoder API provides a scriptable object used in Predictive Intelligence stores. This object converts input data into vectors of numbers, based on encoder-specific goals and configurations. Encoders can be used independently to run encodings or can be configured as part of solutions to encode text columns.") | [Encoder()](https://servicenow-prod.fluidtopics.net/lD2dU3P5hPYTlVdnWNZofg#Encoder-Encoder_O "Creates an encoder.") object to add to the store. |
[Table 1. Parameters]

{#EncoderStore-add_O__table_vwy_1fr_llb} {#EncoderStore-add_O__table_wwy_1fr_llb__entry__2}

| Type | Description |
|-|-|
| String | System-generated solution name. |
[Table 2. Returns]

{#EncoderStore-add_O__table_wwy_1fr_llb}  
The following example shows how to add an encoder to the store. Use [Encoder - submitTrainingJob()](https://servicenow-prod.fluidtopics.net/lD2dU3P5hPYTlVdnWNZofg#Encoder-submitTrainingJob "Submits a training job.")
to run the training job after adding it to the store.

    // Create a dataset 
    var myData = new sn_ml.DatasetDefinition({

      'tableName' : 'incident',
      'fieldNames' : ['assignment_group', 'short_description', 'description'],
      'encodedQuery' : 'activeANYTHING'

    });

    // Create a solution 
    var myEncoder = new sn_ml.Encoder({

      'label': "my encoder definition",
      'datasets' : [myData],
      'predictedFieldName' : 'assignment_group',
      'inputFieldNames':['short_description']

    });

    // Add the encoder to the store to later be able to retrieve it.
    var my_unique_name = sn_ml.EncoderStore.add(myEncoder);

## EncoderStore - deleteObject(String name) {#ariaid-title3}

Removes a specified encoder object from the store.
{#EncoderStore-deleteObject_S__table_rmj_lfr_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| name | String | Name of the [Encoder()](https://servicenow-prod.fluidtopics.net/lD2dU3P5hPYTlVdnWNZofg#Encoder-Encoder_O "Creates an encoder.") object to be deleted. |
[Table 3. Parameters]

{#EncoderStore-deleteObject_S__table_rmj_lfr_llb} {#EncoderStore-deleteObject_S__table_smj_lfr_llb__entry__2}

| Type | Description |
|-|-|
| None |   |
[Table 4. Returns]

{#EncoderStore-deleteObject_S__table_smj_lfr_llb}  
The following example shows how to delete an encoder from the store.

    sn_ml.EncoderStore.deleteObject("ml_sn_global_global_encoder");

## EncoderStore - get(String name) {#ariaid-title4}

Gets an encoder object from a store.
{#EncoderStore-get_S__table_zvw_v2r_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| name | String | Name of an encoder in a store. |
[Table 5. Parameters]

{#EncoderStore-get_S__table_zvw_v2r_llb} {#EncoderStore-get_S__table_aww_v2r_llb__entry__2}

| Type | Description |
|-|-|
| Object | [Encoder](https://servicenow-prod.fluidtopics.net/lD2dU3P5hPYTlVdnWNZofg#EncoderAPI "The Encoder API provides a scriptable object used in Predictive Intelligence stores. This object converts input data into vectors of numbers, based on encoder-specific goals and configurations. Encoders can be used independently to run encodings or can be configured as part of solutions to encode text columns.") object. Returns an error if the object does not exist. |
[Table 6. Returns]

{#EncoderStore-get_S__table_aww_v2r_llb}  
The following example shows how to get an encoder object from the store using the
get() method and view its training status using the [Encoder - getActiveVersion()](https://servicenow-prod.fluidtopics.net/lD2dU3P5hPYTlVdnWNZofg#Encoder-getActiveVersion "Gets the active EncoderVersion object.") and [EncoderVersion -
getStatus()](https://servicenow-prod.fluidtopics.net/8m0IyHRhGsxfd5zKTCjT7g#EncoderV-getStatus_B "Gets training completion status.") methods.

    // Get status
    var myEncoder = sn_ml.EncoderStore.get('ml_incident_categorization');

    gs.print(JSON.stringify(JSON.parse(myEncoder.getActiveVersion().getStatus(), null, 2)));

Output:

    {
     "state":"solution_complete",
     "percentComplete":"100",
     "hasJobEnded":"true"
    }

## EncoderStore - getAllNames(Object options) {#ariaid-title5}

Gets the names of all encoder definition records in the store.
{#EncoderStore-getAllNames__id_bfn_kwh_wnb__entry__3}

| Name | Type | Description |
|-|-|-|
| options | Object | Options for restricting results within the specified properties. { "label": "String", "domainName": "String", "scope": "String" }; |
| options.label | String | Optional. Label of your solution object. |
| options.domainName | String | Optional. Name of the domain for your solution object. Refer to [Domain separation and Predictive Intelligence](https://www.servicenow.com/docs/access?context=domain-separation-predictive-intelligence&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US). |
| options.scope | String | Optional. Name of an [application scope](https://www.servicenow.com/docs/access?context=c_ApplicationScope&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US) for your solution object. |
[Table 7. Parameters]

{#EncoderStore-getAllNames__id_bfn_kwh_wnb} {#EncoderStore-getAllNames__table_aww_v2r_llb__entry__2}

| Type | Description |
|-|-|
| Array | List of strings representing encoder object names in the store. |
[Table 8. Returns]

{#EncoderStore-getAllNames__table_aww_v2r_llb}  
In the following example, the
getAllNames() method returns a list of all names in the
store.

    gs.print(JSON.stringify(JSON.parse(sn_ml.EncoderStore.getAllNames()), null, 2));

Output:

    [
      "ml_x_snc_global_global_classification_word_corpus",
      "ml_x_snc_global_global_predictability_estimate",
      "GloVe",
      "ml_x_snc_global_global_encoder",
      "ml_x_snc_global_global_predictability_estimate_1"
    ]

In the following example, the
getAllNames() method returns only names associated with
values set in the options parameter.

    var options = {
      'label' : 'my encoder definition',
      'domainName' : 'global',
      'scope' : 'global'
    };
    var solNames = sn_ml.EncoderStore.getAllNames(options);
    gs.print(JSON.stringify(JSON.parse(solNames), null, 2));

Output:

    [
      "ml_x_snc_global_global_my_encoder_definition"
    ]

## EncoderStore - update(String name, Object mlEncoder) {#ariaid-title6}

Updates an encoder object in a store.
{#EncoderStore-update_S_O__table_v5p_wxr_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| name | String | Name of the encoder to update. |
| mlEncoder | [Encoder](https://servicenow-prod.fluidtopics.net/lD2dU3P5hPYTlVdnWNZofg#EncoderAPI "The Encoder API provides a scriptable object used in Predictive Intelligence stores. This object converts input data into vectors of numbers, based on encoder-specific goals and configurations. Encoders can be used independently to run encodings or can be configured as part of solutions to encode text columns.") | [Encoder()](https://servicenow-prod.fluidtopics.net/lD2dU3P5hPYTlVdnWNZofg#Encoder-Encoder_O "Creates an encoder.") object properties to update. |
[Table 9. Parameters]

{#EncoderStore-update_S_O__table_v5p_wxr_llb} {#EncoderStore-update_S_O__table_w5p_wxr_llb__entry__2}

| Type | Description |
|-|-|
| None |   |
[Table 10. Returns]

{#EncoderStore-update_S_O__table_w5p_wxr_llb}  
The following example shows how to update an encoder object in the store.

    var encoderUpdate = new sn_ml.Encoder({
      'label': 'my encoder definition',
      'dataset' : myData,
      'predictedFieldName' : 'assignment_group',
      'inputFieldNames': ['short_description']
    });

    sn_ml.EncoderStore.update('ml_sn_global_global_incident_service', encoderUpdate);


