Collect Events

Ingests one or more tracking events for a given client and stores them in the tracking data warehouse, enabling reporting across Cortex features such as Promo Assets and Campaigns Management.

Up to 100 events of mixed types may be sent in a single request.

Events are enriched server-side with user-agent parsing, geographic data from CloudFront headers, and platform detection, then forwarded to AWS Kinesis Firehose or persisted to MongoDB depending on configuration. If a valid JWT is present and an event omits authId, the authenticated user's ID is applied automatically. For promo asset REQUEST events, metadata.rulesetId must be included to attribute reporting to the correct variant.

Example Promo Asset Request Event

For all promo asset request events, the rulesetId nested within metadata must be sent, otherwise, tracking reporting cannot be attributed to the correct variant. This includes the default variant. No validation or transformation is required, simply extract the rulesetId from the campaigns API.

{
    "events": [{
        "eventId": "D37882D6-56DF-58A8-A3AB-26BD84250632",
        "eventType": "REQUEST",
        "createdTimestamp": "2020-08-12T13:00:52.531Z",
        "sentTimestamp": "2020-08-12T13:00:52.531Z",
        "deviceId": "123",
        "appVersion": "1.2.4",
        "authId": 123,
        "sourceSystem": "PROMOBLOCKS",
        "sourceSystemId": "7bc729f1-98ac-5167-8a46-0a238021f8a1",
        "metadata": {
            "rulesetId": "5ece7bc30a892d37b4c16a8e", // required
            "contentType": "IMAGE",
            "placementId" : "65b2d7ff41ac04e5a910c2a9" // if using placements API
        }
    }]
}

Example Article Request Event

{
    "events": [{
        "eventId": "D37882D6-56DF-58A8-A3AB-26BD84250631",
        "eventType": "REQUEST",
        "createdTimestamp": "2020-08-12T13:00:52.531Z",
        "sentTimestamp": "2020-08-12T13:00:52.531Z",
        "deviceId": "123",
        "appVersion": "1.2.4",
        "sourceSystem": "ARTICLE",
        "sourceSystemId": "123-456-900-001",
        "campaignCodes": [
            "de8e6695-5f8d-44ea-9a62-070aa12a0034",
            "4ee8a0f1-ddc5-424f-8139-7db01e6eb045"
        ],
        "metadata": {
            "language": "en",
            "version": 11
        }
    }]
}

Example Push Deep Link Click Event

{
    "events": [{
        "eventId": "d68cc997-d8f3-4692-a2f5-d2255e1a3c43",
        "eventType": "DEEP_LINK_CLICK",
        "createdTimestamp": "2020-08-12T13:00:52.531Z",
        "sentTimestamp": "2020-08-12T13:00:52.531Z",
        "deviceId": "123",
        "appVersion": "1.2.4",
        "sourceSystem": "PUSH",
        "externalId": "123-456-900-001",
        "metadata": {
            "link": "some_link"
        }
    }]
}

Example Form Open Event

{
    "events": [{
        "eventId": "D37882D6-56DF-58A8-A3AB-26BD84250632",
        "eventType": "OPEN",
        "createdTimestamp": "2020-08-12T13:00:52.531Z",
        "sentTimestamp": "2020-08-12T13:00:52.531Z",
        "deviceId": "123",
        "appVersion": "1.2.4",
        "sourceSystem": "FORMS",
        "sourceSystemId": "123-456-900-001",
        "campaignCodes": [
            "de8e6695-5f8d-44ea-9a62-070aa12a0034",
            "4ee8a0f1-ddc5-424f-8139-7db01e6eb045"
        ],
        "metadata": {
            "language": "en",
            "version": 11
        }
    }]
}

Example External Event

    {
        "eventId": "D37882D6-56DF-58A8-A3AB-26BD84250632",
        "eventType": "OPEN",
        "createdTimestamp": "2020-08-12T13:00:52.531Z",
        "sentTimestamp": "2020-08-12T13:00:52.531Z",
        "deviceId": "123",
        "appVersion": "1.2.4",
        "authId": 123,
        "sourceSystem": "PUSH",
        "externalId": "123-456-900-001"
    }
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The client/tenant identifier. Must match the X-REALM header value (case-insensitive).

Body Params

Request body for the Collect Events endpoint. Must contain at least one event; a maximum of 100 events of mixed types may be sent per request.

events
array of objects
required
length ≥ 1

One or more tracking events to record.

events*
Headers
string
required

Defines the key or password the caller is authenticating with. These will be stored per app ID and realm.

string
required

Defines the application the call is accessing from, e.g. android, ios, or web.

string
required

Defines the space or client the caller is trying to access, e.g. CORTEX.

string

Optional JWT Bearer token. When provided, the authenticated user's authId is populated in events.

Responses

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json