Connectors API
Configure and manage data source connectors for metadata synchronization.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /catalog/spaces/{slug}/connectors | List connectors |
| POST | /catalog/spaces/{slug}/connectors | Create 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}/sync | Trigger sync |
| GET | /catalog/spaces/{slug}/sync-history | Get sync history |
| POST | /catalog/spaces/{slug}/connectors/{id}/dbt-manifest | Upload dbt manifest |
Supported Connector Types
| Type | Description |
|---|---|
snowflake | Snowflake Data Cloud |
bigquery | Google BigQuery |
postgres | PostgreSQL |
redshift | Amazon Redshift |
databricks | Databricks Unity Catalog |
dbt | dbt Core / dbt Cloud |
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:
- Connects to the source system
- Discovers tables/views
- Creates or updates products
- 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
| Status | Description |
|---|---|
400 | Invalid configuration |
401 | Invalid credentials |
404 | Connector not found |
409 | Sync already in progress |