API referenceAPIAvailable
Models
Manage SQL data models used for transformations in Vendo.
Last reviewed July 13, 2026
Models are SQL-based data models. They let you define reusable transformations over Vendo-managed data.
List Models
GET /api/v1/modelsQuery 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, name, or last_validated_at |
data_type | string | Filter by events, user_profiles, group_profiles, lookup_table, custom |
is_valid | boolean | Filter by validation state |
Example Response
{
"data": [
{
"id": "model_123",
"accountId": "acct_123",
"name": "Daily Revenue",
"description": "Daily revenue by store",
"dataType": "custom",
"columns": [],
"primaryKeyColumns": ["date"],
"incrementalColumn": "date",
"isValid": false,
"validationError": null,
"lastValidatedAt": null,
"createdAt": "2026-04-01T00:00:00Z",
"updatedAt": "2026-04-01T00:00:00Z"
}
]
}Get Model Details
GET /api/v1/models/{modelId}Detail responses include the SQL query:
sqlQuerydataTypecolumnsprimaryKeyColumnsincrementalColumnisValidvalidationErrorlastValidatedAt
Create Model
POST /api/v1/modelsRequest Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Model name |
description | string | No | Model description |
sqlQuery | string | Yes | SQL query text |
dataType | string | Yes | events, user_profiles, group_profiles, lookup_table, or custom |
primaryKeyColumns | string[] | No | Primary key columns |
incrementalColumn | string | No | Incremental column |
Example Request
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Daily Revenue",
"description": "Revenue grouped by day",
"sqlQuery": "select order_date as date, sum(total) as revenue from orders group by 1",
"dataType": "custom",
"primaryKeyColumns": ["date"],
"incrementalColumn": "date"
}' \
https://app2.vendodata.com/api/v1/modelsUpdate Model
PATCH /api/v1/models/{modelId}Supported updates:
namedescriptionsqlQuerydataTypeprimaryKeyColumnsincrementalColumn
Updating sqlQuery invalidates the previous validation state until the model is revalidated.
Delete Model
DELETE /api/v1/models/{modelId}Model deletion is blocked while active integrations reference the model.
Last updated on