Get started
Quickstart
Send your first event and see a profile, a metric and a segment in about 15 minutes.
You register an event type, define three metrics, send one purchase, then look the customer up and put them in a segment.
Before you begin#
Ask the BreezeIQ team for:
| What | Used for |
|---|---|
| A workspace | Your store or brand |
| The collector token | Sending server-side events |
| A control-plane token | cpt_... to configure, or cpw_... for read-only access to one workspace. This quickstart writes configuration, so use a cpt_... token. |
Enter them on Your values and every example on this page updates to match. Authentication covers the base URLs and tokens.
Steps#
Register your event types
Every event name must be registered before it is accepted. Here,
purchaseis deduplicated on its order id.bash 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"]}'json { "tenant_id": "breeze", "event_name": "purchase", "status": "upserted" }The response has
"status": "upserted". BreezeIQ accepts a new event type within a few minutes.Define the metrics you care about
Create three metrics fed by
purchase, one request each.bash curl -X PUT "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/metric-definitions" \ -H "Authorization: Bearer $BREEZEIQ_TOKEN" -H "Content-Type: application/json" \ -d '{"metric_name":"total_spend","event_name":"purchase","value_kind":"property_number","value_path":"properties.amount","display_name":"Total spend"}'bash curl -X PUT "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/metric-definitions" \ -H "Authorization: Bearer $BREEZEIQ_TOKEN" -H "Content-Type: application/json" \ -d '{"metric_name":"order_count","event_name":"purchase","value_kind":"count","display_name":"Orders"}'bash curl -X PUT "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/metric-definitions" \ -H "Authorization: Bearer $BREEZEIQ_TOKEN" -H "Content-Type: application/json" \ -d '{"metric_name":"last_order_at","event_name":"purchase","value_kind":"occurred_at_epoch","display_name":"Last order"}'Define metrics before you sendMetrics count events received after they are defined, so define them before you start sending.
Each response has
"status": "created". A metric definition takes effect within about a minute.Send an event
Send a server-side purchase to the collector.
Server-side purchase curl -X POST "https://<collector-host>/v1/events/authenticated" \ -H "Authorization: Bearer $COLLECTOR_TOKEN" \ -H "x-tenant-id: breeze" -H "x-workspace-id: my-store" \ -H "Content-Type: application/json" \ --data-binary '{"envelop_version":"1.0","id":"0b6bd7e7-1a4b-4d12-8fd3-9f8f0f2a1b2c","name":"purchase","tenant_id":"breeze","workspace_id":"my-store","anon_id":"cookie:3f9a1c7e","occured_at":"2026-10-08T10:15:00Z","properties":{"order_id":"ORD-10421","amount":2499,"currency":"INR","identifiers":{"email":"[email protected]","phone":"+919812345678","cookie":"3f9a1c7e"}}}'The body stays on one line: the collector reads one event per line. See From your server.
The response counts the events:
"collected": 1,"filtered": 0and"total": 1. Iffilteredis not 0, the collector doesn't allow the event name yet; ask the BreezeIQ team.Look the customer up
Find the profile by email.
Find the profile by email curl "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/workspaces/my-store/profiles/lookup?type=email&[email protected]" \ -H "Authorization: Bearer $BREEZEIQ_TOKEN"You get the profile with its identifiers, metrics (
total_spend = 2499,order_count = 1) and segments, usually within a few seconds of sending.Create a segment
Customers who spent 10,000 or more.
bash curl -X PUT "https://api.breeze.in/cdp/control-plane/v1/tenants/breeze/segments/vip-customers" \ -H "Authorization: Bearer $BREEZEIQ_TOKEN" -H "Content-Type: application/json" \ -d '{"workspace_id":"my-store","display_name":"VIP customers", "predicate":{"metric":"total_spend","op":"gte","value":10000}}'json { "tenant_id": "breeze", "segment_id": "vip-customers", "is_temporal": false, "status": "created" }Existing customers are evaluated right away. From then on, membership updates as events arrive, and entries and exits are sent to your webhook.