Search documentation
karat

+

K

User Documentation ↗
Version 2.0

List Scan Records

GET/api/v2/sds/scanConfigurations/{scanConfigurationId}/records
Warning

This endpoint is in preview and may be modified or removed at any time. To use this endpoint, add preview=true to the request query parameters.

Retrieve a page of scan records for a specific ScanConfigurationId.

Third-party applications using this endpoint via OAuth2 must request the following operation scope: api:sds-records-read.

Path parameters

scanConfigurationId
string

Identifier of a ScanConfiguration. Can refer to a recurring scan or a one-time scan.

Query parameters

scopeRid
string

The space containing the scanned resources.

scanRecordIsActiveFilter
string (enum)optional

If no value is provided, active as well as completed scans will be returned.

Enum values: ALL_SCANS, ACTIVE_SCANS, COMPLETED_SCANS

scanResultStatusFilter
string (enum)optional

If no value is provided, all scan records regardless of ScanResultStatus will be returned.

Enum values: RUNNING, FAILED, SUCCEEDED_WITH_MATCHES, SUCCEEDED_WITHOUT_MATCHES, CANCELLED, UNPROCESSABLE_SKIPPED, NO_PERMISSION_SKIPPED, NO_NEW_DATA_SKIPPED

pageSize
integeroptional

The page size to use for the endpoint.

pageToken
stringoptional

The page token indicates where to start paging. This should be omitted from the first page's request. To fetch the next page, clients should take the value from the nextPageToken field of the previous response and use it to populate the pageToken field of the next request.

preview
booleanoptional

Enables the use of preview functionality.

Response body

ListScanRecordsResponse
object
Hide child attributes

Hide child attributes

data
list<ScanRecord>optional
Show child attributes

Show child attributes

nextPageToken
stringoptional

The page token indicates where to start paging. This should be omitted from the first page's request. To fetch the next page, clients should take the value from the nextPageToken field of the previous response and use it to populate the pageToken field of the next request.

Examples

Request

Copied!
1 2 3 curl \ \t-H "Authorization: Bearer $TOKEN" \ "https://$HOSTNAME/api/v2/sds/scanConfigurations/ri.foundry-inference.main.auto-inference-config.7f99a5a0-7692-420f-a79c-53756c3e9259/records?scopeRid=ri.compass.main.folder.833bc64a-f8fb-4ade-834e-6814242613ae&scanRecordIsActiveFilter=ALL_SCANS&scanResultStatusFilter=SUCCEEDED_WITH_MATCHES&preview=true"

Response

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 { "data": [ { "branchId": "master", "matchActionRids": [ "ri.foundry-inference.main.inference-action.a3cff674-6303-4900-a0f6-3d3ea44bcdcc" ], "completedTime": "2026-03-16T18:51:04.218Z", "matchConditionRids": [ "ri.foundry-inference.main.match-condition.c12f6d47-197a-3f9a-ba1e-e1331133fa9e" ], "startTime": "2026-03-16T18:51:00.527Z", "id": "a5621a18-0412-4304-8eb8-22de9bbeeffe", "scanResult": [ { "matchConditionRid": "ri.foundry-inference.main.match-condition.c12f6d47-197a-3f9a-ba1e-e1331133fa9e", "numberOfScannedRows": 15000, "result": { "type": "datasetMatch", "matchedColumns": [ { "columnName": "email_address", "numberOfMatchedRows": 120 }, { "columnName": "phone_number", "numberOfMatchedRows": 45 } ] } }, { "matchConditionRid": "ri.foundry-inference.main.match-condition.a1b2c3d4-5678-9abc-def0-1234567890ab", "numberOfScannedRows": 15000, "result": { "type": "noMatch" } } ], "scannedResource": "ri.foundry.main.dataset.437313ac-11dc-4e23-8c4c-3d510f1b10be", "scanConfigurationId": "ri.foundry-inference.main.auto-inference-config.7f99a5a0-7692-420f-a79c-53756c3e9259", "status": "SUCCEEDED_WITH_MATCHES" } ], "nextPageToken": "v1.QnVpbGQgdGhlIEZ1dHVyZTogaHR0cHM6Ly93d3cucGFsYW50aXIuY29tL2NhcmVlcnMvP2xldmVyLXNvdXJjZSU1YiU1ZD1BUElEb2NzI29wZW4tcG9zaXRpb25z" }

Error responses

Error Name
ScanConfigurationNotFoundError CodeNOT_FOUND
Status Code404
DescriptionThe ScanConfiguration could not be found.
ParametersscanConfigurationId