curl --request POST \
--url https://pub-api.conversion.ai/api/v2/events/batch \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"events": [
{
"email": "jane@example.com",
"event": "log_in",
"data": {
"device": "mobile",
"location": "US"
},
"timestamp": "2026-03-31T14:30:00Z"
},
{
"userId": "user_12345",
"event": "plan_upgraded",
"data": {
"plan": "pro"
},
"timestamp": "2026-03-31T14:30:00Z"
}
]
}
'
{
"data": {
"processed": 2,
"tracked": 2,
"failed": 0,
"results": [
{
"success": true,
"cnvEventId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"cnvContactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
{
"success": true,
"cnvEventId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"cnvContactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
]
}
}
Events
Batch Track Events
Record up to 200 custom events in a single request. Each event is processed independently.
The response includes summary counts and a per-event error list for any failures. Partial failures do not cause the entire request to fail.
POST
/
v2
/
events
/
batch
curl --request POST \
--url https://pub-api.conversion.ai/api/v2/events/batch \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"events": [
{
"email": "jane@example.com",
"event": "log_in",
"data": {
"device": "mobile",
"location": "US"
},
"timestamp": "2026-03-31T14:30:00Z"
},
{
"userId": "user_12345",
"event": "plan_upgraded",
"data": {
"plan": "pro"
},
"timestamp": "2026-03-31T14:30:00Z"
}
]
}
'
{
"data": {
"processed": 2,
"tracked": 2,
"failed": 0,
"results": [
{
"success": true,
"cnvEventId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"cnvContactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
{
"success": true,
"cnvEventId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"cnvContactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
]
}
}
Authorizations
Your Conversion API key. Found in Settings > Integrations in the dashboard. Format: sk_live_<key_id>_<secret>.
Body
application/json
An array of event objects to track.
Required array length:
1 - 200 elementsShow child attributes
Show child attributes
When true, creates the contact for every event in the batch whose userId or email matches no existing contact. Creating a contact requires an email.
Example:
true
Response
Batch processed. Check errors for individual failures.
Show child attributes
Show child attributes
Was this page helpful?