curl -X GET "https://YOUR_BASE_URL/jobs/comparison?page=1&size=20&status_filters=FAILURE" \
-H "Authorization: Bearer <api-key>" \
-H "Workspace-Id: <workspace-id>"
import requests
url = "https://YOUR_BASE_URL/jobs/comparison"
headers = {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
}
params = {
"page": 1,
"size": 20,
"status_filters": "FAILURE",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch(
"https://YOUR_BASE_URL/jobs/comparison?page=1&size=20&status_filters=FAILURE",
{
method: "GET",
headers: {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
},
}
);
const data = await response.json();
console.log(data);
{
"data": {
"items": [
{
"job_id": 1042,
"comparison_id": "eeeeeeee-0000-0000-0000-000000000005",
"comparison_name": "orders table comparison",
"comparison_result_id": "ffffffff-0000-0000-0000-000000000006",
"status": "SUCCESS",
"source_datasource_name": "prod-postgres",
"target_datasource_name": "prod-snowflake",
"source_dataset_name": "orders",
"target_dataset_name": "orders",
"source_datasource_type": "postgresql",
"target_datasource_type": "snowflake",
"task_id": "7f3a1b2c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"created_at": "2025-01-15T10:00:00Z",
"started_at": "2025-01-15T10:00:02Z",
"date_done": "2025-01-15T10:01:45Z",
"time_taken": 103.2,
"retry_count": 0,
"message": ""
}
],
"page": 1,
"size": 20,
"total": 1,
"pages": 1
},
"meta": {
"status_filters": ["SUCCESS", "FAILURE", "PENDING"],
"source_dataset_filters": ["orders"],
"target_dataset_filters": ["orders"]
}
}
Jobs
List Comparison Jobs
List comparison jobs in the workspace with optional status, dataset, and time range filters.
GET
/
jobs
/
comparison
curl -X GET "https://YOUR_BASE_URL/jobs/comparison?page=1&size=20&status_filters=FAILURE" \
-H "Authorization: Bearer <api-key>" \
-H "Workspace-Id: <workspace-id>"
import requests
url = "https://YOUR_BASE_URL/jobs/comparison"
headers = {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
}
params = {
"page": 1,
"size": 20,
"status_filters": "FAILURE",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch(
"https://YOUR_BASE_URL/jobs/comparison?page=1&size=20&status_filters=FAILURE",
{
method: "GET",
headers: {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
},
}
);
const data = await response.json();
console.log(data);
{
"data": {
"items": [
{
"job_id": 1042,
"comparison_id": "eeeeeeee-0000-0000-0000-000000000005",
"comparison_name": "orders table comparison",
"comparison_result_id": "ffffffff-0000-0000-0000-000000000006",
"status": "SUCCESS",
"source_datasource_name": "prod-postgres",
"target_datasource_name": "prod-snowflake",
"source_dataset_name": "orders",
"target_dataset_name": "orders",
"source_datasource_type": "postgresql",
"target_datasource_type": "snowflake",
"task_id": "7f3a1b2c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"created_at": "2025-01-15T10:00:00Z",
"started_at": "2025-01-15T10:00:02Z",
"date_done": "2025-01-15T10:01:45Z",
"time_taken": 103.2,
"retry_count": 0,
"message": ""
}
],
"page": 1,
"size": 20,
"total": 1,
"pages": 1
},
"meta": {
"status_filters": ["SUCCESS", "FAILURE", "PENDING"],
"source_dataset_filters": ["orders"],
"target_dataset_filters": ["orders"]
}
}
string
required
Bearer token. Format:
Bearer <api-key>string
required
Your workspace UUID.
integer
default:"1"
Page number for pagination.
integer
default:"50"
Number of results per page.
string
Search string to filter jobs by comparison name.
string
Comma-separated list of statuses to include. Example:
SUCCESS,FAILURE.string
Comma-separated list of source dataset names to filter by.
string
Comma-separated list of target dataset names to filter by.
string
ISO 8601 start of the time range. Defaults to 30 days ago.
string
ISO 8601 end of the time range. Defaults to now.
Response
object
Paginated list of jobs.
Show data
Show data
array
List of comparison job objects.
Show items[]
Show items[]
integer
Job ID.
string
UUID of the comparison.
string
Name of the comparison.
string
UUID of the result record, once available.
string
Job status. One of
PENDING, STARTED, SUCCESS, FAILURE, REVOKED.string
Source data source name.
string
Target data source name.
string
Source dataset name.
string
Target dataset name.
string
Source database type.
string
Target database type.
string
Celery task ID.
string
ISO 8601 creation timestamp.
string
ISO 8601 start timestamp.
string
ISO 8601 completion timestamp.
number
Execution duration in seconds.
integer
Number of retries.
string
Status or error message.
integer
Current page.
integer
Page size.
integer
Total number of jobs.
integer
Total pages.
object
Includes available filter values for
status_filters, source_dataset_filters, and target_dataset_filters.curl -X GET "https://YOUR_BASE_URL/jobs/comparison?page=1&size=20&status_filters=FAILURE" \
-H "Authorization: Bearer <api-key>" \
-H "Workspace-Id: <workspace-id>"
import requests
url = "https://YOUR_BASE_URL/jobs/comparison"
headers = {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
}
params = {
"page": 1,
"size": 20,
"status_filters": "FAILURE",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch(
"https://YOUR_BASE_URL/jobs/comparison?page=1&size=20&status_filters=FAILURE",
{
method: "GET",
headers: {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
},
}
);
const data = await response.json();
console.log(data);
{
"data": {
"items": [
{
"job_id": 1042,
"comparison_id": "eeeeeeee-0000-0000-0000-000000000005",
"comparison_name": "orders table comparison",
"comparison_result_id": "ffffffff-0000-0000-0000-000000000006",
"status": "SUCCESS",
"source_datasource_name": "prod-postgres",
"target_datasource_name": "prod-snowflake",
"source_dataset_name": "orders",
"target_dataset_name": "orders",
"source_datasource_type": "postgresql",
"target_datasource_type": "snowflake",
"task_id": "7f3a1b2c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"created_at": "2025-01-15T10:00:00Z",
"started_at": "2025-01-15T10:00:02Z",
"date_done": "2025-01-15T10:01:45Z",
"time_taken": 103.2,
"retry_count": 0,
"message": ""
}
],
"page": 1,
"size": 20,
"total": 1,
"pages": 1
},
"meta": {
"status_filters": ["SUCCESS", "FAILURE", "PENDING"],
"source_dataset_filters": ["orders"],
"target_dataset_filters": ["orders"]
}
}
⌘I