Skip to main content

Connectors API

Configure and manage data source connectors for metadata synchronization.

Endpoints Overview

MethodEndpointDescription
GET/catalog/spaces/{slug}/connectorsList connectors
POST/catalog/spaces/{slug}/connectorsCreate connector
GET/catalog/spaces/{slug}/connectors/{id}Get connector
PATCH/catalog/spaces/{slug}/connectors/{id}Update connector
DELETE/catalog/spaces/{slug}/connectors/{id}Delete connector
POST/catalog/spaces/{slug}/connectors/{id}/syncTrigger sync
GET/catalog/spaces/{slug}/sync-historyGet sync history
POST/catalog/spaces/{slug}/connectors/{id}/dbt-manifestUpload dbt manifest

Supported Connector Types

For the full list of connector types with UI metadata, see the Connector Types API.

TypeCategoryDescription
postgresScraperPostgreSQL
snowflakeScraperSnowflake Data Cloud
bigqueryScraperGoogle BigQuery
databricksScraperDatabricks Unity Catalog
dbtScraperdbt Cloud API Integration
dbt_manifestScraperdbt Manifest Upload
s3ScraperAmazon S3
supersetBIApache Superset
metabaseBIMetabase
lookerBILooker
tableauBITableau
power_biBIPower BI
sfmcSaaSSalesforce Marketing Cloud
salesforce_crmSaaSSalesforce CRM
zendeskSaaSZendesk Support
quality_postgresQualityPostgreSQL Quality Checks
quality_snowflakeQualitySnowflake Quality Checks
quality_bigqueryQualityBigQuery Quality Checks
query_postgresQueryPostgreSQL Query Execution
query_snowflakeQuerySnowflake Query Execution
query_bigqueryQueryBigQuery Query Execution
query_mysqlQueryMySQL Query Execution
query_databricksQueryDatabricks Query Execution

List Connectors

GET /catalog/spaces/{slug}/connectors

Response

[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Production Snowflake",
"connector_type": "snowflake",
"config": {
"account": "abc12345.us-east-1",
"database": "ANALYTICS",
"warehouse": "COMPUTE_WH"
},
"is_active": true,
"product_count": 142,
"last_sync": "2026-01-15T10:30:00Z",
"created_at": "2025-06-01T00:00:00Z"
}
]

Create Connector

POST /catalog/spaces/{slug}/connectors

Request Body (Snowflake Example)

{
"name": "Production Snowflake",
"connector_type": "snowflake",
"config": {
"account": "abc12345.us-east-1",
"database": "ANALYTICS",
"warehouse": "COMPUTE_WH",
"schema": "PUBLIC"
},
"credentials": {
"username": "service_account",
"password": "***"
}
}

Request Body (dbt Example)

{
"name": "dbt Cloud",
"connector_type": "dbt",
"config": {
"project_name": "analytics"
}
}

Trigger Sync

POST /catalog/spaces/{slug}/connectors/{connector_id}/sync

Triggers a background metadata sync that:

  1. Connects to the source system
  2. Discovers tables/views
  3. Creates or updates products
  4. Syncs schema information

Response

{
"job_id": "...",
"status": "running",
"started_at": "2026-01-15T10:30:00Z"
}

Sync History

GET /catalog/spaces/{slug}/sync-history

Response

{
"items": [
{
"id": "...",
"connector_id": "...",
"connector_name": "Production Snowflake",
"status": "completed",
"products_created": 5,
"products_updated": 12,
"started_at": "2026-01-15T10:30:00Z",
"completed_at": "2026-01-15T10:32:00Z"
}
],
"total": 25
}

Upload dbt Manifest

POST /catalog/spaces/{slug}/connectors/{connector_id}/dbt-manifest
Content-Type: multipart/form-data

Upload a manifest.json file from dbt to import models.

curl -X POST "https://api.qarion.com/.../dbt-manifest" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "manifest_file=@target/manifest.json"

Error Responses

StatusDescription
400Invalid configuration
401Invalid credentials
404Connector not found
409Sync already in progress