Search docs
Find a page, section or endpoint

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:

WhatUsed for
A workspaceYour store or brand
The collector tokenSending server-side events
A control-plane tokencpt_... 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#

  1. Register your event types

    Every event name must be registered before it is accepted. Here, purchase is 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"]}'

    The response has "status": "upserted". BreezeIQ accepts a new event type within a few minutes.

  2. 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"}'

    Each response has "status": "created". A metric definition takes effect within about a minute.

  3. 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": 0 and "total": 1. If filtered is not 0, the collector doesn't allow the event name yet; ask the BreezeIQ team.

  4. 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.

  5. 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}}'

    Existing customers are evaluated right away. From then on, membership updates as events arrive, and entries and exits are sent to your webhook.

Next#