Skip to main content

Sources API

List Sources

GET /sources

Returns all sources in the workspace.

Query Parameters

ParameterTypeDescription
workspaceIdstring (UUID)Filter by workspace
limitintegerMax results (default: 20, max: 100)
offsetintegerPagination 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

FieldTypeRequiredDescription
namestringYesDisplay name
definitionIdUUIDYesSource connector definition ID
workspaceIdUUIDYesTarget workspace
connectionConfigurationobjectYesConnector-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"
}'