Skip to content

Batch Track Events

POST /v1/user-journeys/track

Records multiple events in a single request. Ideal for SDK auto-tracking (page views, session events) or batch imports. Accepts up to 100 events per request.

HeaderRequiredValue
X-API-KeyYesYour public key
Content-TypeYesapplication/json
FieldTypeRequiredDescription
eventsarrayYesArray of event objects (1–100 items)

Each event object has the same fields as Track Event:

FieldTypeRequiredDescription
externalIdstringYesYour unique user identifier
categorystringYesEvent category
eventTypestringYesSpecific event type
sourceIdstringNoReference ID
pointsintegerNoPoints associated (default: 0)
referencestringNoIdempotency key
metadataobjectNoArbitrary event data
occurredAtstringNoISO 8601 timestamp (defaults to now)
Terminal window
curl -X POST https://api.gamifyhost.com/v1/user-journeys/track \
-H "X-API-Key: pk_live_your_public_key" \
-H "Content-Type: application/json" \
-d '{
"events": [
{
"externalId": "user_12345",
"category": "PAGE_VIEW",
"eventType": "page_view",
"metadata": { "url": "/products", "referrer": "/home" }
},
{
"externalId": "user_12345",
"category": "SESSION",
"eventType": "session_start",
"metadata": { "userAgent": "Mozilla/5.0..." }
},
{
"externalId": "user_67890",
"category": "CUSTOM",
"eventType": "button_click",
"metadata": { "buttonId": "cta_signup" }
}
]
}'

Status: 200 OK

{
"status": "success",
"tracked": 3
}
FieldTypeDescription
statusstring"success"
trackedintegerNumber of events successfully tracked
CodeMessage
400Invalid request body (missing events array or exceeds 100 items)
500Failed to batch track events