Scan match statistics by lookup type using filter
Learn how to scan Autopilot match statistics for a specific lookup type using with cursor-based pagination.
The Scan statistics by lookup type API retrieves Autopilot match statistics for a specific lookup type using pagination. It supports advanced filtering and sorting through expressions.
The API returns results in pages and includes a scrollId in each response. You use this scrollId in subsequent requests to retrieve the next set of results. This approach enables efficient traversal of filtered and sorted datasets.
HTTP method and endpoint
Use the following HTTP method and endpoint path to submit the request:
POST /configuration/{tenantId}/autopilot/stats/{lookupType}/_scan?filter={filter}&limit={limit}&sort={sort}&order={order}
The following table describes the endpoint path parameters.
| Parameter | Type | Required | Description |
|---|---|---|---|
tenantId | String | Yes | Tenant identifier |
lookupType | String | Yes | Lookup type |
Request headers
The following request headers must be included.
| Header | Value | Required |
|---|---|---|
Authorization | Bearer {token} | Yes |
Query parameters
The following table describes the query parameters.
| Parameter | Type | Required | Description | Accepted values / Default |
|---|---|---|---|---|
filter | String | No | Additional filter expression. | — |
limit | Integer | No | Page size. | Default: 100, max: 100 |
sort | String | No | Sort field name. | — |
order | String | No | Sort order. | asc or desc |
Request body
The request body must be omitted or set to null in the initial request. In subsequent requests, include the scrollId returned from the previous response in the request body to fetch the next set of results, for example using the scroll ID "xyz".
Response body
The following table describes the fields returned in the response body.
| Field | Type | Description |
|---|---|---|
scrollId | String | Identifier used to retrieve the next set of results in the current scroll session. |
values | Array | List of result objects returned in the response. |
tenantId | String | Tenant identifier associated with the result. |
lookupType | String | Name of the lookup type. |
source | String | Source system or origin of the unmapped value. |
unmappedValue | String | Original source value that did not previously have a lookup mapping. |
candidateLookupCode | String | Lookup code selected as the candidate for mapping, when available. |
candidateValue | String | Display value of the selected lookup candidate, when available. |
semanticScore | Number | Similarity score assigned to the candidate match. |
centroidMatch | Boolean | Indicates whether the candidate matched the centroid-based comparison logic. |
currentFrequency | Number | Observed frequency of the unmapped value in the current evaluation window. |
requiredFrequency | Number | Minimum frequency threshold required before the value can be processed automatically. |
frequencyAtMapping | Number | Frequency count recorded at the time the mapping or lookup creation decision was made. |
frequencyWindowHours | Number | Time window, in hours, used to calculate source frequency. |
status | String | Status of the result, such as LOOKUP_CREATED or MISSPELLED. |
mappedAt | Number | Timestamp, in epoch milliseconds, when the value was mapped or the lookup was created, when available. |
mappedBy | String | User that created the mapping or lookup, when available. |
createdAt | Number | Timestamp, in epoch milliseconds, when the result record was created. |
sourceFrequency | Object | Frequency summary for the unmapped value. |
sourceFrequency.totalCount | Number | Total number of times the unmapped value appeared in the evaluated period. |
sourceFrequency.hourlyFrequency | Object | Hourly breakdown of observed frequency, keyed by epoch-millisecond time buckets. |
updateDate | Number | Timestamp, in epoch milliseconds, when the result was last updated. |
aiConfidence | Number | Confidence score assigned by the AI model for the proposed result. |
aiReasoning | String | Explanation of why the result was selected. |
configVersion | Number | Version of the configuration used when the result was generated. |
Response body
The following example shows a successful response.
{
"scrollId": "xyz",
"values": [
{
"tenantId": "my_tenant",
"lookupType": "Currencies",
"source": "SAP",
"unmappedValue": "GBP Pound",
"semanticScore": 0.0,
"centroidMatch": false,
"currentFrequency": 2,
"requiredFrequency": 1,
"frequencyAtMapping": 2,
"frequencyWindowHours": 1,
"status": "LOOKUP_CREATED",
"mappedAt": 1775498802218,
"mappedBy": "SYSTEM",
"createdAt": 1775498800892,
"sourceFrequency": {
"totalCount": 2,
"hourlyFrequency": {
"1775498400000": 2
}
},
"updateDate": 1775498802218,
"aiConfidence": 0.98,
"aiReasoning": "GBP Pound refers to the currency used in the United Kingdom, which matches the description for this lookup type.",
"configVersion": 6
},
{
"tenantId": "my_tenant",
"lookupType": "Currencies",
"source": "SAP",
"unmappedValue": "GBP Poumd",
"candidateLookupCode": "GBP Pound",
"candidateValue": "GBP Pound",
"semanticScore": 0.87547207,
"centroidMatch": false,
"currentFrequency": 4,
"requiredFrequency": 1,
"frequencyAtMapping": 0,
"frequencyWindowHours": 1,
"status": "MISSPELLED",
"createdAt": 1775498801429,
"sourceFrequency": {
"totalCount": 4,
"hourlyFrequency": {
"1775498400000": 4
}
},
"updateDate": 1775498838488,
"aiConfidence": 0.97,
"aiReasoning": "The unmapped value 'GBP Poumd' is a misspelling of the candidate 'GBP Pound', which refers to the British pound currency.",
"configVersion": 6
}
]
}