curl -X GET "https://YOUR_BASE_URL/sources?page=1&size=20&sort_by=name&sort_order=asc" \
-H "Authorization: Bearer <api-key>" \
-H "Workspace-Id: <workspace-id>"
import requests
url = "https://YOUR_BASE_URL/sources"
headers = {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
}
params = {
"page": 1,
"size": 20,
"sort_by": "name",
"sort_order": "asc",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch(
"https://YOUR_BASE_URL/sources?page=1&size=20&sort_by=name&sort_order=asc",
{
method: "GET",
headers: {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
},
}
);
const data = await response.json();
console.log(data);
{
"message": "",
"meta": {},
"data": {
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "production-snowflake",
"type": "snowflake",
"status": "active",
"is_interactive": true,
"dataset_count": 42,
"validation_count": 128,
"failed_validation_count": 3,
"column_count": 560,
"sensitive_column_count": 12,
"last_scanned_at": "2025-01-15T10:30:00Z",
"database_version": "8.23.0",
"workspace_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
],
"page": 1,
"size": 20,
"total": 1,
"pages": 1
}
}
Data Sources
List Data Sources
List all data sources in the workspace with optional filtering, sorting, and pagination.
GET
/
sources
curl -X GET "https://YOUR_BASE_URL/sources?page=1&size=20&sort_by=name&sort_order=asc" \
-H "Authorization: Bearer <api-key>" \
-H "Workspace-Id: <workspace-id>"
import requests
url = "https://YOUR_BASE_URL/sources"
headers = {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
}
params = {
"page": 1,
"size": 20,
"sort_by": "name",
"sort_order": "asc",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch(
"https://YOUR_BASE_URL/sources?page=1&size=20&sort_by=name&sort_order=asc",
{
method: "GET",
headers: {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
},
}
);
const data = await response.json();
console.log(data);
{
"message": "",
"meta": {},
"data": {
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "production-snowflake",
"type": "snowflake",
"status": "active",
"is_interactive": true,
"dataset_count": 42,
"validation_count": 128,
"failed_validation_count": 3,
"column_count": 560,
"sensitive_column_count": 12,
"last_scanned_at": "2025-01-15T10:30:00Z",
"database_version": "8.23.0",
"workspace_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
],
"page": 1,
"size": 20,
"total": 1,
"pages": 1
}
}
string
required
Bearer token. Format:
Bearer <api-key>string
required
Your workspace UUID.
string
Search string to filter data sources by name.
integer
default:"1"
Page number for pagination.
integer
default:"50"
Number of results per page.
string
default:"last_scanned"
Field to sort by. Options:
last_scanned, name, type.string
default:"desc"
Sort direction. Options:
asc, desc.boolean
Filter by interactive status. Omit to return all.
boolean
default:"false"
Returns additional fields used by the settings view.
Response
object
Paginated response object.
Show data
Show data
array
List of data source objects.
Show items[]
Show items[]
string
UUID of the data source.
string
Name of the data source.
string
Database type (e.g.
snowflake, bigquery, postgresql).string
Connection status.
boolean
Whether the data source is interactive.
integer
Number of registered datasets.
integer
Total number of validations.
integer
Number of failing validations.
integer
Total number of columns.
integer
Number of sensitive columns detected.
string
ISO 8601 timestamp of the last scan.
string
Database engine version.
string
Workspace UUID this data source belongs to.
integer
Current page number.
integer
Page size.
integer
Total number of results.
integer
Total number of pages.
string
Status message.
object
Additional metadata.
curl -X GET "https://YOUR_BASE_URL/sources?page=1&size=20&sort_by=name&sort_order=asc" \
-H "Authorization: Bearer <api-key>" \
-H "Workspace-Id: <workspace-id>"
import requests
url = "https://YOUR_BASE_URL/sources"
headers = {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
}
params = {
"page": 1,
"size": 20,
"sort_by": "name",
"sort_order": "asc",
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch(
"https://YOUR_BASE_URL/sources?page=1&size=20&sort_by=name&sort_order=asc",
{
method: "GET",
headers: {
"Authorization": "Bearer <api-key>",
"Workspace-Id": "<workspace-id>",
},
}
);
const data = await response.json();
console.log(data);
{
"message": "",
"meta": {},
"data": {
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "production-snowflake",
"type": "snowflake",
"status": "active",
"is_interactive": true,
"dataset_count": 42,
"validation_count": 128,
"failed_validation_count": 3,
"column_count": 560,
"sensitive_column_count": 12,
"last_scanned_at": "2025-01-15T10:30:00Z",
"database_version": "8.23.0",
"workspace_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
],
"page": 1,
"size": 20,
"total": 1,
"pages": 1
}
}
⌘I