Skip to content

Event Tracking API Documentation

Website event tracking endpoints for capturing and managing user interactions and conversions.

Track Website Events

POST /api/v1/event

API Usage Notes

  • Authentication required: User API Key
  • Rate limit: 5000 requests per 60 seconds
  • Legacy endpoint access via /api.php is also supported

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: event.track
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
EventStringYesEvent name (e.g., "page_view", "conversion", "identify")
ListIDIntegerNoList ID to associate the event with
EmailStringNoSubscriber email address (validated)
IDStringNoExternal unique identifier for the subscriber
UUIDStringNoEvent UUID (auto-generated if not provided)
PropertiesObjectNoEvent properties (key-value pairs)
bash
curl -X POST https://example.com/api/v1/event \
  -H "Content-Type: application/json" \
  -d '{
    "Command": "event.track",
    "APIKey": "your-api-key",
    "Event": "page_view",
    "ListID": 123,
    "Email": "subscriber@example.com",
    "ID": "user-12345",
    "Properties": {
      "$page_title": "Product Page",
      "$current_url": "https://example.com/products/item-1",
      "product_id": "item-1",
      "product_name": "Example Product"
    }
  }'
json
{
  "status": "success",
  "uuid": "550e8400-e29b-41d4-a716-446655440000",
  "external_id": "user-12345",
  "identify_event_sent": true
}
json
{
  "Errors": [
    {
      "Code": 5,
      "Message": "Missing event parameter"
    }
  ]
}
txt
4: Invalid ListID parameter
5: Missing event parameter
7: Invalid email parameter
8: Missing conversion-id event property (for conversion events)
9: Missing conversion-name event property (for conversion events)
10: Missing conversion-value event property (for conversion events)

Notes:

  • If none of Email, ID, or UUID is provided, a UUID is auto-generated
  • For "conversion" events, the Properties object must include conversion-id, conversion-name, and conversion-value
  • For "identify" events or when sending a new email, an identify event is sent to update subscriber information
  • Test events can be sent by including "isTest": true in the Properties object (returns success without actual tracking)

Get Website Event Properties

GET /api/v1/website_events.properties

API Usage Notes

  • Authentication required: User API Key
  • Required permissions: Subscribers.Get
  • Rate limit: 100 requests per 60 seconds
  • Legacy endpoint access via /api.php is also supported

Request Body Parameters:

ParameterTypeRequiredDescription
CommandStringYesAPI command: website_events.properties
SessionIDStringNoSession ID obtained from login
APIKeyStringNoAPI key for authentication
ListIDIntegerYesList ID to retrieve properties for
bash
curl -X GET "https://example.com/api/v1/website_events.properties?ListID=123" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key"
json
{
  "ListID": 123,
  "Properties": {
    "page_view": [
      "$page_title",
      "$current_url",
      "product_id"
    ],
    "conversion": [
      "conversion-id",
      "conversion-name",
      "conversion-value",
      "product_category"
    ],
    "custom_event": [
      "event_property_1",
      "event_property_2"
    ]
  }
}
json
{
  "Errors": [
    {
      "Code": 1,
      "Message": "Missing ListID parameter"
    }
  ]
}
txt
1: Missing ListID parameter
2: Invalid ListID parameter
3: List not found

Notes:

  • Returns all tracked event properties grouped by event type
  • Properties are ordered alphabetically by event name and property name
  • Used to discover what properties are being tracked for a specific list

Any questions? Contact us.