Skip to Content
SourcesWebhookOverview

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

FieldTypeRequiredDescription
eventstringNoEvent name (defaults to webhook_received if missing). In the events list of a batch, event_name is also accepted
timestampISO 8601NoWhen the event occurred (defaults to current time)
distinct_idstringNoUser identifier for analytics destinations. user_id is also accepted
event_idstringNoUnique ID for deduplication (auto-generated if missing)
propertiesobjectNoCustom 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

SettingValue
Ingestion MethodHTTP POST (push)
AuthenticationBearer API key
StorageBigQuery (real-time)
StreamingConnected destinations
LatencyReal-time (seconds)
DeduplicationMERGE on event_id
Max Payload Size1 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

  1. In Vendo, go to Data → Integrations → Sources and add a Webhook source. Vendo creates the Webhook app for you.
  2. Copy the Webhook URL.
  3. Open the Webhook app settings and copy the API Key.
  4. Configure your application to send JSON with POST to the webhook URL, with the API key in the Authorization header.
  5. 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 the app2.vendodata.com/api/v1 base 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

  1. Send a test POST request with curl or your application.
  2. Confirm that the event appears in your BigQuery dataset, in the webhook_events table.
  3. Check connected destinations for the streamed event.
  4. Review the Vendo logs for delivery errors.
Need help?

When you contact support, give your workspace, the source or destination name, the job ID and the first error message.

support@vendodata.com
Last updated on