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.
| Parameter | Type | Required | Description |
|---|---|---|---|
tenantId | String | Yes | Tenant identifier. |
Request headers
The following request headers must be included.
| Header | Value | Required |
|---|---|---|
Authorization | Bearer {token} | Yes |
Request body
The following table describes the request body parameters, including accepted values and defaults.
| Field | Type | Description |
|---|---|---|
tenantId | string | Tenant identifier. Must match the path parameter. |
defaults | object | Default Autopilot configuration applied at the tenant level. |
| Defaults | ||
enabled | boolean | Enables or disables Autopilot. |
mode | string | Operating mode. Required when enabled is true. |
autoMapEnabled | boolean | Enables automatic mapping. |
autoMapThreshold | number | Threshold for automatic mapping (0.70 to 1.0 ). |
suggestionEnabled | boolean | Enables suggestions for mapping. |
suggestionThreshold | number | Threshold for suggestions (0.50 to 1.0). |
misspelledThreshold | number | Threshold for misspelling detection (0.70 to 1.0). |
requiredFrequency | integer | Minimum frequency required. |
frequencyWindowHours | integer | Time window (1–24 hours). |
lookupTypes | array | List of lookup-type-specific configurations. |
| lookupTypes | ||
uri | string | Lookup type URI. Must be non-empty and unique. |
settings | object | Overrides default configuration for the lookup type. |
settings.enabled | boolean | Enables Autopilot for this lookup type. |
| settings | ||
mode | string | Operating mode for this lookup type. |
autoMapEnabled | boolean | Enables automatic mapping. |
autoMapThreshold | number | Threshold for automatic mapping (0.70 to 1.0). |
suggestionThreshold | number | Threshold for mapping suggestions (0.50 to 1.0). |
requiredFrequency | integer | Minimum frequency required. |
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.
| Parameter | Type | Required | Description |
|---|---|---|---|
tenantId | String | Yes | Unique identifier of the tenant. |
defaults | Object | Yes | Default configuration settings. |
| defaults | |||
enabled | Boolean | No | Enables or disables the feature by default. |
mode | String | No | Default operating mode. |
autoMapEnabled | Boolean | No | Enables automatic mapping. |
autoMapThreshold | Number | No | Threshold for automatic mapping. |
suggestionEnabled | Boolean | No | Enables suggestions. |
suggestionThreshold | Number | No | Threshold for suggestions. |
createLookupEnabled | Boolean | No | Enables automatic lookup creation. |
.createLookupThreshold | Number | No | Threshold for automatic lookup creation. |
suggestLookupEnabled | Boolean | No | Enables lookup suggestions. |
suggestLookupThreshold | Number | No | Threshold for lookup suggestions. |
misspelledThreshold | Number | No | Threshold used to detect misspelled values. |
requiredFrequency | Integer | No | Minimum frequency required before applying the behavior. |
frequencyWindowHours | Integer | No | Frequency evaluation window in hours. |
| lookupTypes | |||
lookupTypes | Array<Object> | No | List of lookup type-specific overrides. |
uri | String | Yes | URI of the lookup type. |
| settings | |||
settings | Object | Yes | Override settings for the specified lookup type. |
enabled | Boolean | No | Indicates whether the feature is enabled for the lookup type. |
mode | String | No | Operating mode for the lookup type. |
autoMapEnabled | Boolean | No | Indicates whether automatic mapping is enabled for the lookup type. |
autoMapThreshold | Number | No | Threshold for automatic mapping for the lookup type. |
suggestionEnabled | Boolean | No | Indicates whether suggestions are enabled for the lookup type. |
suggestionThreshold | Number | No | Threshold for suggestions for the lookup type. |
createLookupEnabled | Boolean | No | Indicates whether automatic lookup creation is enabled for the lookup type. |
createLookupThreshold | Number | No | Threshold for automatic lookup creation for the lookup type. |
suggestLookupEnabled | Boolean | No | Indicates whether lookup suggestions are enabled for the lookup type. |
suggestLookupThreshold | Number | No | Threshold for lookup suggestions for the lookup type. |
misspelledThreshold | Number | No | Threshold used to detect misspelled values for the lookup type. |
requiredFrequency | Integer | No | Minimum number of occurrences required before applying the lookup type behavior. |
frequencyWindowHours | Integer | No | Time window, in hours, used when evaluating lookup type frequency. |
updatedBy | String | No | User who updated the configuration. |
updateDate | Number | No | Update timestamp in epoch milliseconds. |
version | Integer | No | Configuration version number. |
anyEnabled | Boolean | No | Indicates 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
tenantIdin the request body must match thetenantIdpath parameter. - The configuration must include at least one of
defaultsorlookupTypes. - Each
lookupTypesentry must include a non-emptyuri. Duplicateurivalues are not allowed. - When provided, all threshold values must:
- Be between
0.0and1.0 - Have at most two decimal places
- Be between
- Minimum threshold values:
autoMapThresholdmust be at least0.70suggestionThresholdmust be at least0.50createLookupThresholdmust be at least0.70suggestLookupThresholdmust be at least0.50misspelledThresholdmust be at least0.70
- When
enabledistrueand any feature is active:modeis requiredmisspelledThresholdis required
- When both
autoMapEnabledandsuggestionEnabledaretruesuggestionThresholdmust be less thanautoMapThreshold
- When both
createLookupEnabledandsuggestLookupEnabledaretruesuggestLookupThresholdmust be less thancreateLookupThreshold
- When provided,
requiredFrequencymust be at least1 - When provided,
frequencyWindowHoursmust be between1and24