Sources API
List Sources
GET /sources
Returns all sources in the workspace.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
workspaceId | string (UUID) | Filter by workspace |
limit | integer | Max results (default: 20, max: 100) |
offset | integer | Pagination offset |
Example
curl "https://api.calabi.ai/v1/sources?workspaceId=YOUR_WORKSPACE_ID" \
-H "Authorization: Bearer $API_KEY"
Get Source
GET /sources/{sourceId}
curl "https://api.calabi.ai/v1/sources/{sourceId}" \
-H "Authorization: Bearer $API_KEY"
Create Source
POST /sources
curl -X POST "https://api.calabi.ai/v1/sources" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Production Postgres",
"definitionId": "decd338e-5647-4c0b-adf4-da0e75f5a750",
"workspaceId": "YOUR_WORKSPACE_ID",
"connectionConfiguration": { ... }
}'
Body fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name |
definitionId | UUID | Yes | Source connector definition ID |
workspaceId | UUID | Yes | Target workspace |
connectionConfiguration | object | Yes | Connector-specific config |
Update Source
PUT /sources/{sourceId} — Full replace
PATCH /sources/{sourceId} — Partial update
Delete Source
DELETE /sources/{sourceId}
curl -X DELETE "https://api.calabi.ai/v1/sources/{sourceId}" \
-H "Authorization: Bearer $API_KEY"
Initiate OAuth
POST /sources/initiateOAuth
Initiates the OAuth flow for connectors that support OAuth authentication.
curl -X POST "https://api.calabi.ai/v1/sources/initiateOAuth" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sourceDefinitionId": "DEFINITION_ID",
"workspaceId": "WORKSPACE_ID",
"redirectUrl": "https://your-app.com/oauth/callback"
}'