API referenceAPIAvailable
Sources
Manage source imports that bring data from connected apps into Vendo.
Last reviewed July 13, 2026
Sources define how data is imported from a connected source app into Vendo.
List Sources
GET /api/v1/sourcesQuery Parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Number of items to return |
offset | integer | Number of items to skip |
sort | string | Sort by created_at, updated_at, or last_sync_at |
state | string | Filter by active, inactive, deleted |
sync_type | string | Filter by connector type such as shopify |
app_id | string | Filter by app ID |
integration_status | string | Filter by current import lifecycle status |
Example Response
{
"data": [
{
"id": "src_123",
"accountId": "acct_123",
"appId": "app_123",
"appName": "My Shopify Store",
"syncType": "shopify",
"importTasks": ["orders", "customers"],
"syncFrequency": "24 hours",
"syncAnchorTime": "02:00",
"syncAnchorTimezone": "Australia/Sydney",
"rollingPeriodDays": 2,
"state": "active",
"integrationStatus": "running",
"lastSyncAt": "2026-04-02T00:00:00Z",
"lastError": null,
"consecutiveFailures": 0,
"createdAt": "2026-04-01T00:00:00Z",
"updatedAt": "2026-04-02T00:00:00Z"
}
]
}Get Source Details
GET /api/v1/sources/{sourceId}Detail responses include source app information, dataset/warehouse fields, onboarding state, and active job references such as latestJobId and activeImportJobId.
Create Source
POST /api/v1/sourcesRequest Body
| Field | Type | Required | Description |
|---|---|---|---|
appId | string | Yes | Existing source-role app connection |
syncType | string | Yes | Must match the connected app type |
importTasks | string[] | No | Tasks to import |
syncFrequencyValue | integer | No | Sync frequency value |
syncFrequencyUnit | string | No | hours or days |
syncAnchorTime | string | No | HH:MM |
syncAnchorTimezone | string | No | IANA timezone |
rollingPeriodHours | integer | No | Rolling sync window in hours |
historicalSyncStartDate | datetime | No | Backfill start date |
oneOff | boolean | No | Create a one-off sync |
runNow | boolean | No | Dispatch immediately for one-off/onboarding flows |
config | object | No | Connector-specific config |
Example Request
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"appId": "app_123",
"syncType": "shopify",
"importTasks": ["orders", "customers"],
"syncFrequencyValue": 24,
"syncFrequencyUnit": "hours",
"syncAnchorTime": "02:00",
"rollingPeriodHours": 48
}' \
https://app2.vendodata.com/api/v1/sourcesUpdate Source
PATCH /api/v1/sources/{sourceId}Supported updates:
importTasksconfigisActive
Setting isActive to false moves the source to an inactive/paused state.
Delete Source
DELETE /api/v1/sources/{sourceId}Sources are soft-deleted.
Trigger a Sync
POST /api/v1/sources/{sourceId}/syncSync requests return a dispatched job payload when accepted.
Last updated on