curl -X POST "https://YOUR_BASE_URL/comparisons" \
-H "Authorization: Bearer <api-key>" \
-H "Workspace-Id: <workspace-id>" \
-H "Content-Type: application/json" \
-d '{
"name": "orders table comparison",
"source_datasource_id": "aaaaaaaa-0000-0000-0000-000000000001",
"target_datasource_id": "bbbbbbbb-0000-0000-0000-000000000002",
"source_dataset_id": "cccccccc-0000-0000-0000-000000000003",
"target_dataset_id": "dddddddd-0000-0000-0000-000000000004",
"configuration": {
"source_columns": ["order_id", "customer_id", "total"],
"target_columns": ["order_id", "customer_id", "total"],
"primary_keys_source": ["order_id"],
"primary_keys_target": ["order_id"]
}
}'
import requests
url = "https://YOUR_BASE_URL/comparisons"
headers = {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
}
payload = {
"name": "orders table comparison",
"source_datasource_id": "aaaaaaaa-0000-0000-0000-000000000001",
"target_datasource_id": "bbbbbbbb-0000-0000-0000-000000000002",
"source_dataset_id": "cccccccc-0000-0000-0000-000000000003",
"target_dataset_id": "dddddddd-0000-0000-0000-000000000004",
"configuration": {
"source_columns": ["order_id", "customer_id", "total"],
"target_columns": ["order_id", "customer_id", "total"],
"primary_keys_source": ["order_id"],
"primary_keys_target": ["order_id"],
},
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const payload = {
name: "orders table comparison",
source_datasource_id: "aaaaaaaa-0000-0000-0000-000000000001",
target_datasource_id: "bbbbbbbb-0000-0000-0000-000000000002",
source_dataset_id: "cccccccc-0000-0000-0000-000000000003",
target_dataset_id: "dddddddd-0000-0000-0000-000000000004",
configuration: {
source_columns: ["order_id", "customer_id", "total"],
target_columns: ["order_id", "customer_id", "total"],
primary_keys_source: ["order_id"],
primary_keys_target: ["order_id"],
},
};
const response = await fetch("https://YOUR_BASE_URL/comparisons", {
method: "POST",
headers: {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
"Content-Type": "application/json",
},
body: JSON.stringify(payload),
});
const data = await response.json();
console.log(data);
{
"message": "Comparison created successfully",
"data": {
"id": "eeeeeeee-0000-0000-0000-000000000005",
"name": "orders table comparison",
"source_dataset_id": "cccccccc-0000-0000-0000-000000000003",
"target_dataset_id": "dddddddd-0000-0000-0000-000000000004",
"configuration": {
"source_columns": ["order_id", "customer_id", "total"],
"target_columns": ["order_id", "customer_id", "total"],
"primary_keys_source": ["order_id"],
"primary_keys_target": ["order_id"],
"case_sensitive": false,
"quick_comparison": false
},
"workspace_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"user_id": "ffffffff-0000-0000-0000-000000000006"
}
}
Comparisons
Create Comparison
Create a new comparison between a source and target dataset.
POST
/
comparisons
curl -X POST "https://YOUR_BASE_URL/comparisons" \
-H "Authorization: Bearer <api-key>" \
-H "Workspace-Id: <workspace-id>" \
-H "Content-Type: application/json" \
-d '{
"name": "orders table comparison",
"source_datasource_id": "aaaaaaaa-0000-0000-0000-000000000001",
"target_datasource_id": "bbbbbbbb-0000-0000-0000-000000000002",
"source_dataset_id": "cccccccc-0000-0000-0000-000000000003",
"target_dataset_id": "dddddddd-0000-0000-0000-000000000004",
"configuration": {
"source_columns": ["order_id", "customer_id", "total"],
"target_columns": ["order_id", "customer_id", "total"],
"primary_keys_source": ["order_id"],
"primary_keys_target": ["order_id"]
}
}'
import requests
url = "https://YOUR_BASE_URL/comparisons"
headers = {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
}
payload = {
"name": "orders table comparison",
"source_datasource_id": "aaaaaaaa-0000-0000-0000-000000000001",
"target_datasource_id": "bbbbbbbb-0000-0000-0000-000000000002",
"source_dataset_id": "cccccccc-0000-0000-0000-000000000003",
"target_dataset_id": "dddddddd-0000-0000-0000-000000000004",
"configuration": {
"source_columns": ["order_id", "customer_id", "total"],
"target_columns": ["order_id", "customer_id", "total"],
"primary_keys_source": ["order_id"],
"primary_keys_target": ["order_id"],
},
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const payload = {
name: "orders table comparison",
source_datasource_id: "aaaaaaaa-0000-0000-0000-000000000001",
target_datasource_id: "bbbbbbbb-0000-0000-0000-000000000002",
source_dataset_id: "cccccccc-0000-0000-0000-000000000003",
target_dataset_id: "dddddddd-0000-0000-0000-000000000004",
configuration: {
source_columns: ["order_id", "customer_id", "total"],
target_columns: ["order_id", "customer_id", "total"],
primary_keys_source: ["order_id"],
primary_keys_target: ["order_id"],
},
};
const response = await fetch("https://YOUR_BASE_URL/comparisons", {
method: "POST",
headers: {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
"Content-Type": "application/json",
},
body: JSON.stringify(payload),
});
const data = await response.json();
console.log(data);
{
"message": "Comparison created successfully",
"data": {
"id": "eeeeeeee-0000-0000-0000-000000000005",
"name": "orders table comparison",
"source_dataset_id": "cccccccc-0000-0000-0000-000000000003",
"target_dataset_id": "dddddddd-0000-0000-0000-000000000004",
"configuration": {
"source_columns": ["order_id", "customer_id", "total"],
"target_columns": ["order_id", "customer_id", "total"],
"primary_keys_source": ["order_id"],
"primary_keys_target": ["order_id"],
"case_sensitive": false,
"quick_comparison": false
},
"workspace_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"user_id": "ffffffff-0000-0000-0000-000000000006"
}
}
string
required
Bearer token. Format:
Bearer <api-key>string
required
Your workspace UUID.
boolean
default:"false"
If
true, creates the comparison without triggering execution.string
required
Display name for the comparison.
string
required
UUID of the source data source.
string
required
UUID of the target data source.
string
UUID or name of the source dataset. Required if
source_query is not set.string
UUID or name of the target dataset. Required if
target_query is not set.object
required
Comparison configuration.
Show configuration
Show configuration
array
required
List of column names to compare from the source dataset.
array
required
List of column names to compare from the target dataset.
array
required
Primary key columns in the source dataset.
array
required
Primary key columns in the target dataset.
string
SQL WHERE clause to filter source rows.
string
SQL WHERE clause to filter target rows.
string
Custom SQL query for the source. Overrides
source_dataset_id.string
Custom SQL query for the target. Overrides
target_dataset_id.boolean
default:"false"
Whether string comparisons are case-sensitive.
boolean
default:"false"
Run a fast row-count-only comparison instead of a full diff.
boolean
default:"false"
Include schema differences in the comparison.
Response
object
string
Status message.
curl -X POST "https://YOUR_BASE_URL/comparisons" \
-H "Authorization: Bearer <api-key>" \
-H "Workspace-Id: <workspace-id>" \
-H "Content-Type: application/json" \
-d '{
"name": "orders table comparison",
"source_datasource_id": "aaaaaaaa-0000-0000-0000-000000000001",
"target_datasource_id": "bbbbbbbb-0000-0000-0000-000000000002",
"source_dataset_id": "cccccccc-0000-0000-0000-000000000003",
"target_dataset_id": "dddddddd-0000-0000-0000-000000000004",
"configuration": {
"source_columns": ["order_id", "customer_id", "total"],
"target_columns": ["order_id", "customer_id", "total"],
"primary_keys_source": ["order_id"],
"primary_keys_target": ["order_id"]
}
}'
import requests
url = "https://YOUR_BASE_URL/comparisons"
headers = {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
}
payload = {
"name": "orders table comparison",
"source_datasource_id": "aaaaaaaa-0000-0000-0000-000000000001",
"target_datasource_id": "bbbbbbbb-0000-0000-0000-000000000002",
"source_dataset_id": "cccccccc-0000-0000-0000-000000000003",
"target_dataset_id": "dddddddd-0000-0000-0000-000000000004",
"configuration": {
"source_columns": ["order_id", "customer_id", "total"],
"target_columns": ["order_id", "customer_id", "total"],
"primary_keys_source": ["order_id"],
"primary_keys_target": ["order_id"],
},
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const payload = {
name: "orders table comparison",
source_datasource_id: "aaaaaaaa-0000-0000-0000-000000000001",
target_datasource_id: "bbbbbbbb-0000-0000-0000-000000000002",
source_dataset_id: "cccccccc-0000-0000-0000-000000000003",
target_dataset_id: "dddddddd-0000-0000-0000-000000000004",
configuration: {
source_columns: ["order_id", "customer_id", "total"],
target_columns: ["order_id", "customer_id", "total"],
primary_keys_source: ["order_id"],
primary_keys_target: ["order_id"],
},
};
const response = await fetch("https://YOUR_BASE_URL/comparisons", {
method: "POST",
headers: {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
"Content-Type": "application/json",
},
body: JSON.stringify(payload),
});
const data = await response.json();
console.log(data);
{
"message": "Comparison created successfully",
"data": {
"id": "eeeeeeee-0000-0000-0000-000000000005",
"name": "orders table comparison",
"source_dataset_id": "cccccccc-0000-0000-0000-000000000003",
"target_dataset_id": "dddddddd-0000-0000-0000-000000000004",
"configuration": {
"source_columns": ["order_id", "customer_id", "total"],
"target_columns": ["order_id", "customer_id", "total"],
"primary_keys_source": ["order_id"],
"primary_keys_target": ["order_id"],
"case_sensitive": false,
"quick_comparison": false
},
"workspace_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"user_id": "ffffffff-0000-0000-0000-000000000006"
}
}
⌘I