API reference
Event types
Register event names and how their events are deduplicated.
Every event name must be registered before BreezeIQ accepts it. Registering also decides how that event type is deduplicated.
Register an event type#
PUT /v1/tenants/{tenant}/event-types/{event_name} Tenant token
Creates the event type, or updates it if it exists. Names are lowercase. BreezeIQ accepts a new event type within a few minutes.
Body
dedup_entity string Business entity the event is about, such as
"order".dedup_key_paths string[] Paths that identify that entity, such as
["properties.order_id"]. Give both fields or neither. Without them, events
are deduplicated by their id.curl -X PUT "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/event-types/purchase" \
-H "Authorization: Bearer $BREEZEIQ_TOKEN" -H "Content-Type: application/json" \
-d '{"dedup_entity": "order", "dedup_key_paths": ["properties.order_id"]}'{
"tenant_id": "breeze",
"event_name": "purchase",
"status": "upserted"
}Deduplication is per event type: initiatecheckout and addpaymentinfo can share a checkout_id without colliding.
The collector has its own allow-list
Besides this registration, the collector keeps a list of allowed event names. If your events come back counted under filtered, ask the BreezeIQ team to allow the name there.
List event types#
GET /v1/tenants/{tenant}/event-types Workspace token
curl "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/event-types" \
-H "Authorization: Bearer $BREEZEIQ_TOKEN"{
"event_types": [
{
"event_name": "purchase",
"dedup_entity": "order",
"dedup_key_paths": ["properties.order_id"],
"status": "active"
},
{
"event_name": "initiatecheckout",
"dedup_entity": "checkout",
"dedup_key_paths": ["properties.checkout_id"],
"status": "active"
}
]
}Delete an event type#
DELETE /v1/tenants/{tenant}/event-types/{event_name} Tenant token
Removes the event type.