1Execute Data Profile Job on Dataset
Overview
This API triggers a data profiling job for a Dataset. Use this API to analyze Dataset quality, structure, statistics, and profiling information.
Method: POST
Request URL: {kyvos-url}/rest/v2/datasets/{name-or-id}/data-profile
Authorization
API Key: sessionid
This method authenticates requests using a session ID which acts like an API key.
BasicAuth: HTTP Authorization Scheme
This method authenticates requests using a username and password sent in the HTTP Authorization header.
Headers
Header Name | Type | Description | Possible Values |
|---|---|---|---|
Content-Type (Required) | String | Specifies media type of request body. |
|
sessionid | String | The session ID is the token received from the login API. Note: Session ID is required for token-based authentication. | – |
Path Parameters
Parameter Name | Type | Description | Possible Values |
|---|---|---|---|
name-or-id (Required) | String | Name or ID of the Dataset on which the data profile job needs to be executed. Note: If the Dataset name is provided, either folderName or folderId must also be provided. | – |
Query Parameters
Parameter Name | Type | Description | Possible Values |
|---|---|---|---|
by | String | Specifies whether the name-or-id parameter should be interpreted as a Dataset name or a Dataset ID. If by=name, provide the Dataset name in the name-or-id parameter. If by=id, provide the Dataset ID in the name-or-id parameter. The default value is name. | – |
folderName | String | Name of the folder containing the Dataset. If the Dataset is present in the root directory, specify [Root]. Note: If neither folderName nor folderId is provided, the Dataset will be treated as a root-level entity by default. | – |
folderId | String | ID of the folder containing the Dataset. | – |
Request Body
Parameter Name | Type | Description | Possible Values |
|---|---|---|---|
runType | String | Job frequency to run. | Now: This will immediately start the job. Once: Job will run at the specified time. Recurring: Job will run regularly at the specified time. |
onceDateTime | String | Date time in format (DD/MM/YYYY HH:mm). Note: Required when runType is ONCE. | – |
userParams | String | Parameters information to be used in data profiling. It should be provided as a JSON string. Note: An example JSON is provided under the Resources section below. | – |
jobConnectionName | String | Name of job connection. | – |
dataProfileJson | String | Data profiling settings provided as a JSON-formatted string. Note: An example JSON is provided under the Resources section below. | – |
Responses
200 Success
{
"code": 0,
"message": "Data profile job launched on dataset."
}Status Code | Description |
|---|---|
401 | Authorization information is missing or invalid. |
404 | No matching record found. |
500 | Internal Server Error. |
Resources
Below are examples of JSON structures which can be used as references for the userParams and dataProfileJson parameters in the request body.
userParams:
[
{
"name":"parameterName",
"value":"parameterValue"
}
]dataProfileJson:
{
"samplingOptions":"SAMPLE/ALL",
"fieldsGroup":"COMPLETE/CUSTOM",
"fields":[
{
"fieldId":"id of element",
"displayName":"name of element"
}
]
}Use Cases
1. Run Data Profile Job for All Fields
In this use case, a data profile job is started for all the fields in a dataset. An example JSON request is provided below.
Example Request
{
"samplingOptions":"ALL",
"fieldsGroup":"COMPLETE"
} Outcome: Starts the data profile job immediately for all fields.
2. Schedule a Data Profile Job
In this use case, a data profile job is scheduled for the specified columns in a dataset. An example JSON request is provided below.
Example Request
{
"samplingOptions":"SAMPLE/ALL",
"fieldsGroup":"CUSTOM",
"fields":[
{
"fieldId":"id of element",
"displayName":"name of element"
}
]
} Outcome: Schedules the data profile job to run at the specified time.
JSON Field Definitions for Use Cases Examples
Field | Value | Description | Example / Notes | Possible value |
samplingOptions | String | Specifies whether to profile all data or a sample subset. Use "SAMPLE" for large datasets to improve performance, "ALL" for complete accuracy. |
|
|
fieldsGroup | String | Determines which fields to include in profiling. It supports two values: CUSTOM: Profiles only the fields selected by the user from the following list of available fields. COMPLETE: Profiles all the available fields.
|
|
|
fields | Array of Object | List of specific fields to profile. Required when fieldsGroup is "CUSTOM". Optional when fieldsGroup is "COMPLETE". |
| Array of field objects |
fields[].fieldId | String | Unique identifier of the column/field to profile. Must match an existing column ID from the dataset's transformation steps. |
| Valid column ID string |
fields[].displayName | string | Display name of the field. Used for identification in profiling results and UI display |
| – |