Skip to main content
POST
/
events
Track events
curl --request POST \
  --url https://apix.spotzee.com/api/client/events \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
[
  {
    "name": "product_viewed",
    "anonymous_id": "anon-2c8a3e",
    "external_id": "cust-9f4b21",
    "data": {
      "product_id": "sku-1024",
      "value": 49.95,
      "currency": "AUD"
    },
    "user": {
      "email": "jane@example.com",
      "phone": "+61400123456",
      "timezone": "Australia/Sydney",
      "locale": "en-AU",
      "data": {
        "plan": "pro"
      }
    },
    "created_at": "2026-04-28T05:14:00.000Z"
  }
]
'
{}

Documentation Index

Fetch the complete documentation index at: https://docs.spotzee.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Project-scoped secret API key (sk_…). Pass in the Authorization: Bearer <key> header. Grants access to the project the key was issued for.

Body

application/json
Required array length: 1 - 100 elements

A single event payload. At least one of anonymous_id or external_id must be present so the event can be attributed to a contact. Supplying both links the two identifiers.

name
string
required

Event name. Stable, machine-readable identifier — used in segments and journey triggers.

Minimum string length: 1
Example:

"product_viewed"

anonymous_id
string
required

Anonymous tracking identifier captured before the contact was identified.

Example:

"anon-2c8a3e"

external_id
string | null

Optional system-of-record identifier — links the event to an identified contact.

Example:

"cust-9f4b21"

data
object

Free-form event payload. Indexed for use in segments and journey conditions.

Example:
{
  "product_id": "sku-1024",
  "value": 49.95,
  "currency": "AUD"
}
user
object

Optional contact-profile fields applied alongside the event. Lets a single call both record a behaviour and update the contact, avoiding a separate identify request.

created_at
string | null

Time the event occurred. Defaults to the server-receive time when omitted. ISO 8601.

Example:

"2026-04-28T05:14:00.000Z"

Response

The batch was accepted for asynchronous processing.

Empty response body. Returned with HTTP 204 when an operation is accepted for processing.