Skip to main content
The Events API ingests customer events into the platform’s event bus. Events are published to the event stream and evaluated against active trigger rules in real time. Supports single events and batches of up to 100. Rate limited to 500 requests/min. Editor or Admin.

POST /api/v1/events

Ingest one or more customer events.

Request Body — Single Event

FieldTypeRequiredDescription
eventTypestringYesEvent type identifier (e.g., page_view, purchase, cart_add)
customerIdstringNoCustomer identifier
sessionIdstringNoSession identifier
timestampstringNoISO 8601 timestamp (defaults to now)
propertiesobjectNoArbitrary event properties

Request Body — Batch

Send an array of event objects (max 100 per batch).

Example — Single Event

curl -X POST https://playground.kaireonai.com/api/v1/events \
  -H "Content-Type: application/json" \
  -H "X-Tenant-Id: my-tenant" \
  -d '{
    "eventType": "purchase",
    "customerId": "C-1234",
    "properties": {
      "product_id": "SKU-789",
      "amount": 49.99
    }
  }'

Example — Batch

curl -X POST https://playground.kaireonai.com/api/v1/events \
  -H "Content-Type: application/json" \
  -H "X-Tenant-Id: my-tenant" \
  -d '[
    { "eventType": "page_view", "customerId": "C-1234", "properties": { "page": "/products" } },
    { "eventType": "cart_add", "customerId": "C-1234", "properties": { "sku": "SKU-789" } }
  ]'

Response (202)

{
  "accepted": 2,
  "results": [
    { "eventType": "page_view", "streamId": "evt_abc123", "triggersEvaluated": true },
    { "eventType": "cart_add", "streamId": "evt_def456", "triggersEvaluated": true }
  ]
}
Events are automatically evaluated against active Trigger Rules. If a trigger’s conditions match, it fires its configured action (e.g., journey enrollment, webhook).