Unify and manage your data

Create or update Autopilot Configuration

Learn how the Create or update Autopilot configuration API manages tenant configuration versions and replaces existing settings.

The Create or update Autopilot configuration API creates a new Autopilot configuration or replaces the current active configuration for a tenant. It validates the request, saves the updated configuration, and assigns a new version.

The service stores the previous configuration in history so that you can track changes and retrieve earlier versions. You can define tenant-level default settings and lookup type specific overrides in a single request. The service applies the updated configuration immediately after saving the request.

HTTP method and endpoint

Use the following HTTP method and endpoint path to submit the request:

PUT /configuration/{tenantId}/autopilot

The following table describes the endpoint path parameters.

ParameterTypeRequiredDescription
tenantIdStringYesTenant identifier.

Request headers

The following request headers must be included.

HeaderValueRequired
AuthorizationBearer {token}Yes

Request body

The following table describes the request body parameters, including accepted values and defaults.

FieldTypeDescription
tenantIdstringTenant identifier. Must match the path parameter.
defaultsobjectDefault Autopilot configuration applied at the tenant level.
Defaults
enabledbooleanEnables or disables Autopilot.
modestringOperating mode. Required when enabled is true.
autoMapEnabledbooleanEnables automatic mapping.
autoMapThresholdnumberThreshold for automatic mapping (0.70 to 1.0 ).
suggestionEnabledbooleanEnables suggestions for mapping.
suggestionThresholdnumberThreshold for suggestions (0.50 to 1.0).
misspelledThresholdnumberThreshold for misspelling detection (0.70 to 1.0).
requiredFrequencyintegerMinimum frequency required.
frequencyWindowHoursintegerTime window (1–24 hours).
lookupTypesarrayList of lookup-type-specific configurations.
lookupTypes
uristringLookup type URI. Must be non-empty and unique.
settingsobjectOverrides default configuration for the lookup type.
settings.enabledbooleanEnables Autopilot for this lookup type.
settings
modestringOperating mode for this lookup type.
autoMapEnabledbooleanEnables automatic mapping.
autoMapThresholdnumberThreshold for automatic mapping (0.70 to 1.0).
suggestionThresholdnumberThreshold for mapping suggestions (0.50 to 1.0).
requiredFrequencyintegerMinimum frequency required.
Note: Ensure that each lookup type in the RDM configuration has a clear and accurate description. Autopilot uses these descriptions to understand what the lookup type represents.

Example request

{
  "tenantId": "my_tenant",
  "defaults": {
    "enabled": true,
    "mode": "ACTIVE",
    "autoMapEnabled": true,
    "autoMapThreshold": 0.90,
    "suggestionEnabled": true,
    "suggestionThreshold": 0.75,
    "misspelledThreshold": 0.85,
    "requiredFrequency": 3,
    "frequencyWindowHours": 24
  },
  "lookupTypes": [
    {
      "uri": "rdm/lookupTypes/Country",
      "settings": {
        "enabled": true,
        "mode": "ACTIVE",
        "autoMapEnabled": true,
        "autoMapThreshold": 0.70,
        "suggestionThreshold": 0.50,
        "requiredFrequency": 5
      }
    }
  ]
}

Response body

The following table describes the fields returned in the response body. Returns the saved Autopilot configuration with updated metadata.

ParameterTypeRequiredDescription
tenantIdStringYesUnique identifier of the tenant.
defaultsObjectYesDefault configuration settings.
defaults
enabledBooleanNoEnables or disables the feature by default.
modeStringNoDefault operating mode.
autoMapEnabledBooleanNoEnables automatic mapping.
autoMapThresholdNumberNoThreshold for automatic mapping.
suggestionEnabledBooleanNoEnables suggestions.
suggestionThresholdNumberNoThreshold for suggestions.
createLookupEnabledBooleanNoEnables automatic lookup creation.
.createLookupThresholdNumberNoThreshold for automatic lookup creation.
suggestLookupEnabledBooleanNoEnables lookup suggestions.
suggestLookupThresholdNumberNoThreshold for lookup suggestions.
misspelledThresholdNumberNoThreshold used to detect misspelled values.
requiredFrequencyIntegerNoMinimum frequency required before applying the behavior.
frequencyWindowHoursIntegerNoFrequency evaluation window in hours.
lookupTypes
lookupTypesArray<Object>NoList of lookup type-specific overrides.
uriStringYesURI of the lookup type.
settings
settingsObjectYesOverride settings for the specified lookup type.
enabledBooleanNoIndicates whether the feature is enabled for the lookup type.
modeStringNoOperating mode for the lookup type.
autoMapEnabledBooleanNoIndicates whether automatic mapping is enabled for the lookup type.
autoMapThresholdNumberNoThreshold for automatic mapping for the lookup type.
suggestionEnabledBooleanNoIndicates whether suggestions are enabled for the lookup type.
suggestionThresholdNumberNoThreshold for suggestions for the lookup type.
createLookupEnabledBooleanNoIndicates whether automatic lookup creation is enabled for the lookup type.
createLookupThresholdNumberNoThreshold for automatic lookup creation for the lookup type.
suggestLookupEnabledBooleanNoIndicates whether lookup suggestions are enabled for the lookup type.
suggestLookupThresholdNumberNoThreshold for lookup suggestions for the lookup type.
misspelledThresholdNumberNoThreshold used to detect misspelled values for the lookup type.
requiredFrequencyIntegerNoMinimum number of occurrences required before applying the lookup type behavior.
frequencyWindowHoursIntegerNoTime window, in hours, used when evaluating lookup type frequency.
updatedByStringNoUser who updated the configuration.
updateDateNumberNoUpdate timestamp in epoch milliseconds.
versionIntegerNoConfiguration version number.
anyEnabledBooleanNoIndicates whether any configuration is enabled.

Example response

{
    "tenantId": "my_tenant",
    "defaults": {
        "enabled": true,
        "mode": "ACTIVE",
        "autoMapEnabled": true,
        "autoMapThreshold": 0.9,
        "suggestionEnabled": true,
        "suggestionThreshold": 0.8,
        "createLookupEnabled": true,
        "createLookupThreshold": 0.9,
        "suggestLookupEnabled": true,
        "suggestLookupThreshold": 0.8,
        "misspelledThreshold": 0.7,
        "requiredFrequency": 1,
        "frequencyWindowHours": 1
    },
    "lookupTypes": [
        {
            "uri": "rdm/lookupTypes/Country",
            "settings": {
                "enabled": true,
                "mode": "ACTIVE",
                "autoMapEnabled": false,
                "autoMapThreshold": 0.7,
                "suggestionEnabled": false,
                "suggestionThreshold": 0.5,
                "createLookupEnabled": false,
                "createLookupThreshold": 0.9,
                "suggestLookupEnabled": false,
                "suggestLookupThreshold": 0.75,
                "misspelledThreshold": 0.7,
                "requiredFrequency": 5,
                "frequencyWindowHours": 1
            }
        },
        {
            "uri": "rdm/lookupTypes/City",
            "settings": {
                "enabled": true,
                "mode": "ACTIVE",
                "autoMapEnabled": true,
                "autoMapThreshold": 0.95,
                "suggestionEnabled": true,
                "suggestionThreshold": 0.8,
                "createLookupEnabled": false,
                "createLookupThreshold": 0.9,
                "suggestLookupEnabled": false,
                "suggestLookupThreshold": 0.8,
                "misspelledThreshold": 0.85,
                "requiredFrequency": 5,
                "frequencyWindowHours": 24
            }
        }
    ],
    "updatedBy": "my_user",
    "updateDate": 1777458890014,
    "version": 9,
    "anyEnabled": true
}

Validation rules

  • The tenantId in the request body must match the tenantId path parameter.
  • The configuration must include at least one of defaults or lookupTypes.
  • Each lookupTypes entry must include a non-empty uri. Duplicate uri values are not allowed.
  • When provided, all threshold values must:
    • Be between 0.0 and 1.0
    • Have at most two decimal places
  • Minimum threshold values:
    • autoMapThreshold must be at least 0.70
    • suggestionThreshold must be at least 0.50
    • createLookupThreshold must be at least 0.70
    • suggestLookupThreshold must be at least 0.50
    • misspelledThreshold must be at least 0.70
  • When enabled is true and any feature is active:
    • mode is required
    • misspelledThreshold is required
  • When both autoMapEnabled and suggestionEnabled are true
    • suggestionThreshold must be less than autoMapThreshold
  • When both createLookupEnabled and suggestLookupEnabled are true
    • suggestLookupThreshold must be less than createLookupThreshold
  • When provided, requiredFrequency must be at least 1
  • When provided, frequencyWindowHours must be between 1 and 24