List occurrences for an event (browse with pricing)

Returns a paginated list of occurrences for an event with pricing information for browse/selection UI. **Pricing fields (per occurrence):** - `fromPrice` — Lowest available price (null when sold out or off-sale) - `maxDiscountAmount` — Max discount amount (always present when a discount exists) - `maxDiscountPercentage` — Max discount percentage (present only when event allows percentage display) **Key behaviors:** - Sold-out occurrences are included, with `availabilityLevel: "SOLD_OUT"` and `fromPrice: null` - `availabilityLevel` signals remaining availability: `LOW`, `SOLD_OUT`, or null when there is no signal - When `quantity` is set, availability and pricing reflect only inventory that can seat that many tickets together - `maxDiscountAmount` is always included when a discount exists - `maxDiscountPercentage` is included only when the event is configured for percentage display - Discount may be from a different price point than `fromPrice` (represents max savings) Send the `currency` query parameter to receive prices in that currency. Omit it to get base-currency prices. A currency this event is not sold in returns `400`; one it is sold in but that cannot be priced right now returns `503`. Send the `voucherCode` query parameter with a presale or access code to see the dates that code unlocks: availability and pricing then come from the inventory the code gates, with the voucher discount applied. A code that is not valid for this event is ignored rather than rejected, so the response is the same as without it. `voucherCode` cannot be combined with `providerCode`; a request carrying both returns `400`. **Filters:** `filters` lists the ways a customer can narrow these occurrences, each with its options. It is computed for the whole event, so every page of the same query carries the same filters. Today the only filter is `SECTION`, listing the sections this event sells. New filter types may be added over time; ignore entries whose `type` you do not recognise.

Authentication

X-TT-API-Keystring
API Key authentication via header

Path parameters

eventIdstringRequired>=1 character

Headers

X-TT-RetailerstringRequired
Retailer public ID
X-TT-PlatformenumRequired
Identifies the platform the request comes from.
Allowed values:

Query parameters

quantitystringOptional

Minimum ticket quantity. Pricing and availabilityLevel then reflect only inventory that can seat this many tickets together — an occurrence without enough seats reads as SOLD_OUT.

startDatestringOptional

Date range start (inclusive, ISO 8601 date)

endDatestringOptional

Date range end (inclusive, ISO 8601 date)

earliestStartAtstringOptional

The earliest an occurrence in the result can start (inclusive, ISO 8601 datetime with offset). Use alongside or instead of startDate/endDate to filter to a precise time range rather than whole calendar days — e.g. a scheduled extra’s own bookable window on a given day.

latestStartAtstringOptional

The latest an occurrence in the result can start (exclusive, ISO 8601 datetime with offset).

voucherCodestringOptionalformat: ".*\S.*"0-15 characters
Presale or access code the shopper has entered. Availability and pricing then come from the inventory that code unlocks, priced with the code applied. A code this event does not recognize is ignored: the response is the same as without it. A blank code, or one longer than 15 characters, is rejected with a 400, and so is combining it with `providerCode`.
currencystringOptionalformat: "^[A-Z]{3}$"

ISO 4217 currency to price in. Omit for the event base currency. A currency this event is not sold in returns 400; one it is sold in but that cannot be priced right now returns 503.

limitstringRequired
Maximum number of results to return.
offsetstringRequired
Number of results to skip for pagination.

Response

Paginated list of occurrences with pricing.