Skip to content

Event catalog & validation

Audience: Engineers, technical integrators

v3 is governed by a typed event catalog: events and their fields are pre-registered, and every incoming event is validated against the catalog before it is stored.

Why typed?

In v2, event_name was a free string and events could carry arbitrary properties of any type — so deposit, Deposit, and depo all landed, and amount could arrive as the string "50". v3 fixes this:

  1. Registered events — only catalog events are accepted; unknown names are rejected.
  2. Typed fields — each field has a fixed type (String / Number / Boolean) and, where relevant, an allowed-values list.
  3. Validate on ingest — each event is checked against the catalog; only conforming events are stored.

This keeps downstream analytics, attribution, and AI features working on clean, trustworthy data.

Standard vs iGaming

Events are organized into presets. Your product's effective catalog is the Standard preset plus any industry presets it is subscribed to.

PresetScopeAvailabilityCategories
Standard (general.core)GeneralAuto-enabled for every productUser Lifecycle · Verification & Consent · App Lifecycle
iGaming (igaming)IndustryBy subscription — enabled for your product by the RevoSurge teamUser Lifecycle · Verification & Consent · Financial · Gaming · Bonus Lifecycle
Legacy (legacy)GeneralCompatibility (lenient)page_view, purchase, download_click
  • Standard events (browse) work for all advertisers out of the box.
  • iGaming events (browse) require your product to be subscribed to the iGaming preset. If you send an iGaming event without the subscription, it is rejected as EVENT_DISABLED — contact your RevoSurge representative to enable it.

Field requirement levels

Each field carries a requirement level:

LevelMeaning
RequiredMust be present and correctly typed, or the event is rejected.
SuggestedStrongly recommended for data quality / attribution; not enforced.
OptionalNice to have.

What gets validated

Validation runs in two stages:

  1. Structural — the envelope is well-formed: event and timestamp present, timestamp in valid UTC ms, identity has a stable ID, and any PII matches the SHA-256 format.
  2. Catalog — the event is registered and enabled for your product, every required field is present and correctly typed, and enum fields use allowed values.
FailureResponse
Bad envelope / type / PII format400 VALIDATION_ERROR
Unknown event name422 UNKNOWN_EVENT_TYPE
Event not enabled for your product422 EVENT_DISABLED

All field violations are collected and returned together in violations[] (no fail-fast), so you can fix everything in one pass. See the API reference for the response shape.

TIP

Use test mode (X-Test-Mode: true) during integration to see exactly which fields fail validation, without storing anything.

Catalog updates

The catalog is managed centrally by the RevoSurge team. When events or fields change, the update propagates to ingestion automatically (typically within a minute) — no redeploy on your side. If the catalog is briefly unavailable, ingestion degrades gracefully rather than dropping your traffic.

Custom events

Beyond the built-in presets, the RevoSurge team can register custom events scoped to your product when you have a use case the standard catalog doesn't cover. Reach out with the event name, its fields, and their types.