Skip to main content
Every message is one JSON text frame with this envelope:
string
required
When the notification was generated. RFC 3339.
string
required
Source platform identifier, matching the website of the watchlist item.
string
required
Notification schema version.
string
required
Event identifier on the platform.
string
required
Region code, for example US or UK.
object
required
Map of change type to the list of section names affected. See below.
string
required
OfferSections or SeatMapSections. Determines the shape of sections.
object
required
Current section data. See Section types.
number
Total available stock across all sections. Omitted when unknown.
object
Event metadata. Omitted entirely when the platform does not expose it. Check for presence before reading any sub-field.

changes

changes is an object, not an array. Keys are change types; values are the section names that changed in that way.
A message is only delivered if changes contains the change_type set on the matching watchlist item.

event_infos

Any sub-field may be an empty string depending on the platform.

sections

The shape depends on sections_type and is shared with the Live Availability API, so one parser serves both. The full field reference is in Section types. OfferSections is a flat map keyed by offer id, used by platforms that sell simple tiers:
SeatMapSections is a nested map, used by platforms with a full venue map such as Ticketmaster and AXS. Each top-level key is a section id; inside it, stock is the section aggregate and every other key is an offer:
Dispatch on sections_type with a switch so each handler receives the shape it expects.