Available in VPC
Create a scanner.
Request
This section describes the request format. The method and URI are as follows:
| Method | URI |
|---|---|
| POST | /api/v1/catalogs/{catalogId}/scanners |
Request headers
For information about the headers common to all Data Catalog APIs, see Data Catalog request headers.
Request path parameters
You can use the following path parameters with your request:
| Field | Type | Required | Description |
|---|---|---|---|
catalogId |
Integer | Required | Catalog ID
|
Request body
You can include the following data in the body of your request:
| Field | Type | Required | Description |
|---|---|---|---|
name |
String | Required | Scanner name |
type |
String | Required | Data type
|
location |
String | Optional | Scan path
|
connectionId |
Integer | Optional | Connection ID
|
scanFileLimitCnt |
Integer | Optional | Scan range
|
scheduleType |
String | Required | Execution cycle
|
schedule |
String | Optional | Execution cycle value
|
excludePattern |
String | Optional | Application pattern |
includePattern |
String | Optional | Inclusion pattern |
isUseHivePartitionOnly |
Boolean | Optional | Whether to recognize only Hive partitions |
databaseName |
String | Required | Output database name |
tablePrefixName |
String | Optional | Created table prefix name |
description |
String | Optional | Scanner description |
opAddType |
String | Required | Update method when adding to schema
|
opDelType |
String | Optional | Update method when deleting a schema
|
maxTableThreshold |
Integer | Optional | Maximum number of tables to create |
isMergeForce |
Boolean | Optional | Whether to force table merging |
Request example
The request example is as follows:
curl --location --request POST 'https://datacatalog.apigw.ntruss.com/api/v1/catalogs/4**/scanners' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
-data '{
"databaseName": "mydatabase",
"description": "description",
"excludePattern": "*.csv",
"includePattern": "*.xml",
"isMergeForce": false,
"isUseHivePartitionOnly": false,
"location": "s3a://mybucket/test/",
"name": "my-scanner",
"opAddType": "UPDATE_TABLE",
"opDelType": "DEL_NO",
"schedule": "1 0 * * *",
"scheduleType": "CRON",
"tablePrefixName": "test-",
"type": "OBJECT_STORAGE"
}'
Response
This section describes the response format.
Response body
The response body includes the following data:
| Field | Type | Required | Description |
|---|---|---|---|
scannerId |
Integer | - | Scanner ID |
name |
String | - | Scanner name |
status |
String | - | Scanner status
|
description |
String | - | Scanner description
|
type |
String | - | Source data type |
location |
String | - | Source data path |
schedule |
String | - | Cron expression for scanner execution cycle
|
scheduleType |
String | - | Scanner execution cycle
|
opAddType |
String | - | Collection options when adding schema
|
opDelType |
String | - | Options when deleting schema
|
includePattern |
String | - | Patterns to include in scan |
excludePattern |
String | - | Patterns to exclude from scan
|
tablePrefixName |
String | - | Output data prefix
|
lastExecStartTime |
String | - | Last scanner execution date and time
|
lastExecElapsedTime |
Integer | - | Last scanner execution time (second) |
lastResult |
String | - | Last scanner execution result |
isSchedulePaused |
Integer | - | Whether to pause the execution cycle
|
catalogId |
Integer | - | Catalog ID |
connectionId |
Integer | - | Connection ID |
connectionName |
String | - | Connection name |
classifierResponseList |
Array | - | Classifier list: classifierResponseList
|
databaseName |
String | - | Database name for the output data |
createTime |
String | - | Scanner creation date and time
|
updateTime |
String | - | Update date and time
|
lastHistoryUuid |
String | - | Last execution history UUID |
classifierResponseList
The following describes classifierResponseList.
| Field | Type | Required | Description |
|---|---|---|---|
disabled |
Boolean | - | Non-availability
|
classifierId |
Integer | - | Classifier ID |
catalogId |
Integer | - | Catalog ID |
name |
String | - | Classifier name |
type |
String | - | Classifier type
|
value |
String | - | Details by classifier type
|
createTime |
String | - | Classifier creation date and time
|
Response status codes
For information about the HTTP status codes common to all Data Catalog APIs, see Data Catalog response status codes.
Response example
The response example is as follows:
{
"scannerId": 9**,
"name": "my-scanner",
"status": "SCANNER_IDLE",
"description": "description",
"type": "OBJECT_STORAGE",
"location": "s3a://mybucket/test/",
"schedule": "1 0 * * *",
"scheduleType": "CRON",
"opAddType": "UPDATE_TABLE",
"opDelType": "DEL_NO",
"tablePrefixName": "test-",
"lastExecStartTime": "2026-03-19T14:44:55+0900",
"lastExecElapsedTime": 6,
"lastResult": "SUCCESS",
"isSchedulePaused": 0,
"catalogId": 4**,
"databaseName": "mydatabase",
"createTime": "2026-03-18T09:34:42+0900",
"updateTime": "2026-03-19T14:45:15+0900",
"lastHistoryUuid": "********"
}