Send server-side events
Send a batch of tracking events from your server. Each event is turned into Upstack’s canonical event and processed exactly like a pixel event — identity resolution, enrichment, analytics, and real-time forwarding to your destinations.
You always send an array of events (send one event as an array of one). Each
event needs a name. An eventId is optional but strongly recommended — it makes
the event idempotent (safe retries and de-duplication); everything else is optional.
Deduplication. eventId is your idempotency key. If the same eventId is
received again for a pixel within the dedup window, the duplicate is skipped during
processing — so retries and webhook loops are safe. Use the same eventId you send
from your browser Pixel for the same event so they de-duplicate across sources
(e.g. Facebook).
Limits. Up to 100 events per request; request body up to 128 KB. Within event data: strings up to 1024 chars, arrays up to 100 items, objects up to 50 keys (key names up to 64 chars), nested up to 4 levels deep.
Required scope: events:write.
Authorizations
Your Upstack API key. Starts with upstack_.
The pixel id the request targets.
Body
The events to ingest. At least 1, at most 100 per request.
1 - 100 elements