Webhook
Push structured events or raw JSON into Vendo from any application via HTTP POST.
Last reviewed September 15, 2026
Source: Push data into Vendo from any application, script, or service with HTTP POST. Vendo writes events to BigQuery in real time and streams them to connected destinations.
Payload Formats
Structured Event (Single)
{
"event": "signup",
"timestamp": "2026-01-15T10:30:00Z",
"distinct_id": "user_123",
"properties": {
"plan": "pro",
"source": "landing_page"
}
}Batch Events
{
"events": [
{
"event": "page_view",
"timestamp": "2026-01-15T10:30:00Z",
"distinct_id": "user_123",
"properties": { "page": "/pricing" }
},
{
"event": "button_click",
"timestamp": "2026-01-15T10:30:05Z",
"distinct_id": "user_123",
"properties": { "button": "start_trial" }
}
]
}Raw JSON
Any JSON payload without an event field is stored as webhook_received with the full payload as properties.
{
"order_id": "ORD-123",
"total": 99.99,
"items": [{ "sku": "WIDGET-1", "qty": 2 }]
}Event Fields
| Field | Type | Required | Description |
|---|---|---|---|
event | string | No | Event name (defaults to webhook_received if missing). In the events list of a batch, event_name is also accepted |
timestamp | ISO 8601 | No | When the event occurred (defaults to current time) |
distinct_id | string | No | User identifier for analytics destinations. user_id is also accepted |
event_id | string | No | Unique ID for deduplication (auto-generated if missing) |
properties | object | No | Custom event properties |
Authentication
All requests must include an API key in the Authorization header:
Authorization: Bearer <your-api-key>Vendo generates the API key when it creates the Webhook app.
Platform Details
| Setting | Value |
|---|---|
| Ingestion Method | HTTP POST (push) |
| Authentication | Bearer API key |
| Storage | BigQuery (real-time) |
| Streaming | Connected destinations |
| Latency | Real-time (seconds) |
| Deduplication | MERGE on event_id |
| Max Payload Size | 1 MB (larger requests get HTTP 413) |
Common Use Cases
- Backend event tracking: Send server-side events from your application directly to Vendo
- Third-party services: Route events from any service that supports webhook/HTTP POST
- ETL pipelines: Push transformed data from custom scripts or workflows
- IoT and device data: Ingest device telemetry for analytics and reporting
Setup
- In Vendo, go to Data → Integrations → Sources and add a Webhook source. Vendo creates the Webhook app for you.
- Copy the Webhook URL.
- Open the Webhook app settings and copy the API Key.
- Configure your application to send JSON with POST to the webhook URL, with the API key in the
Authorizationheader. - Send a test request to verify the connection.
Example: curl
Note: Webhook ingestion goes directly to Vendo’s pipeline API host (
api.vendodata.com). It does not use theapp2.vendodata.com/api/v1base that other pages in these docs use. The correct URL is always the exact Webhook URL that the app shows after you create the Webhook source.
curl -X POST 'https://api.vendodata.com/api/v1/webhooks/ingest/webhook/<app-id>' \
-H 'Authorization: Bearer <api-key>' \
-H 'Content-Type: application/json' \
-d '{
"event": "test_event",
"timestamp": "2026-01-15T10:30:00Z",
"distinct_id": "user_123",
"properties": { "source": "curl_test" }
}'Verify Setup
- Send a test POST request with curl or your application.
- Confirm that the event appears in your BigQuery dataset, in the
webhook_eventstable. - Check connected destinations for the streamed event.
- Review the Vendo logs for delivery errors.