Skip to main content
Use the Node.js or Python SDK for event ingestion. The SDK sends one event per track() call; it does not batch automatically.
See Node.js event tracking or Python event tracking for subscription resolution and idempotency behavior.

Event envelope

For direct HTTP ingestion, send this envelope to the Events API configured for your organization with a secret key. Prefer the SDKs so subscription lookup, UUID generation, timeout handling, and errors remain consistent.
For retry safety, preserve the complete event identity. High-volume event storage deduplicates using both transaction_id and timestamp.