Skip to main content
POST
/
api
/
v1
/
subscribers
/
events
/
bulk
{
  "success": true,
  "subscriber": {
    "id": "sub_abc123",
    "email": "[email protected]",
    "created": false
  },
  "events": [
    {
      "id": "evt_1",
      "name": "page_viewed",
      "definitionCreated": false
    },
    {
      "id": "evt_2",
      "name": "feature_used",
      "definitionCreated": true
    }
  ]
}
Trigger multiple events for a subscriber in one request. Creates the subscriber and/or event definitions if they don’t exist.

Request Body

email
string
required
Subscriber email address
events
array
required
Array of events to trigger
events[].name
string
required
Event name
events[].properties
object
Event properties/metadata
customAttributes
object
Custom attributes to set on the subscriber (used when creating new subscriber)
curl -X POST "https://api.sequenzy.com/api/v1/subscribers/events/bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "events": [
      {
        "name": "page_viewed",
        "properties": { "page": "/pricing", "duration": 45 }
      },
      {
        "name": "feature_used",
        "properties": { "feature": "export", "format": "csv" }
      }
    ]
  }'

Auto-Creation Behavior

This endpoint automatically creates resources if they don’t exist:
ResourceBehavior
SubscriberCreated with active status if email doesn’t exist
Event DefinitionsEach event type created if new

Responses

{
  "success": true,
  "subscriber": {
    "id": "sub_abc123",
    "email": "[email protected]",
    "created": false
  },
  "events": [
    {
      "id": "evt_1",
      "name": "page_viewed",
      "definitionCreated": false
    },
    {
      "id": "evt_2",
      "name": "feature_used",
      "definitionCreated": true
    }
  ]
}

Response Fields

FieldDescription
subscriber.createdtrue if subscriber was created by this request
events[].definitionCreatedtrue if this event type was newly defined

Use Cases

Track User Session

curl -X POST "https://api.sequenzy.com/api/v1/subscribers/events/bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "events": [
      { "name": "session_started" },
      { "name": "page_viewed", "properties": { "page": "/dashboard" } },
      { "name": "feature_used", "properties": { "feature": "reports" } },
      { "name": "page_viewed", "properties": { "page": "/settings" } }
    ]
  }'

Record Funnel Progress

curl -X POST "https://api.sequenzy.com/api/v1/subscribers/events/bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "events": [
      { "name": "checkout_started", "properties": { "cartValue": 149.99 } },
      { "name": "payment_method_added", "properties": { "type": "card" } },
      { "name": "checkout_completed", "properties": { "orderId": "ord_123" } }
    ]
  }'

Batch Import Historical Events

curl -X POST "https://api.sequenzy.com/api/v1/subscribers/events/bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "events": [
      { "name": "saas.purchase", "properties": { "plan": "starter" } },
      { "name": "saas.upgrade", "properties": { "from": "starter", "to": "pro" } }
    ],
    "customAttributes": {
      "currentPlan": "pro",
      "lifetimeValue": 599.00
    }
  }'
Each event in the bulk request is processed independently. Sync rules and automation triggers are evaluated for each event.