Migration: Search to Events
Migration: Search to Events
Guide for migrating from the legacy GET /api/v4/search endpoint to the new GET /api/v3/events endpoint.
For the full v4 search reference, see Search on the legacy portal.
Endpoint Comparison
What Changed
From free-text search to a retailer catalog
The v4 endpoint took a query string and searched across products. The v3 endpoint returns the events your retailer is set up to sell, filtered by market. You no longer search by name — you list what you can sell and filter it yourself.
locationId is required and picks the market (e.g. New York, London). Get the IDs from GET /api/v3/locations.
Authentication
The affiliateId header is gone. v3 uses an API key (X-TT-API-Key), and the key itself identifies the retailer — the events you get back are the ones that key can sell. See Getting Started.
Pagination
v3 list endpoints page with limit (default 50, max 1000) and offset. The response carries a pagination block so you know when to stop. See API Conventions.
Terminology
Response Shape
Legacy (v4)
New (v3)
Key differences:
idis an opaque string — pass it toGET /api/v3/events/{eventId}/occurrences, never parse it (see IDs)startDateandendDateare both nullable — an open-ended run returnsnullfor either. Handle both explicitly.- The market is a
locationobject withid,name, andcountry, not a barevenue.id
Migration Checklist
- Swap the
affiliateIdheader for anX-TT-API-Keyheader - Look up the market you sell with
GET /api/v3/locations, then pass it as?locationId= - Replace text search with client-side filtering over the returned events
- Treat
idas an opaque string — store it, don’t parse it - Read
startDate/endDateinstead ofbookingStarts/bookingEnds; both can benull - Page with
limit/offsetuntiloffset >= pagination.total
Next Steps
After listing events, continue with the full Purchase Flow:
- Browse Occurrences —
GET /api/v3/events/{eventId}/occurrences(see Availability → Occurrences) - Browse Inventory —
GET /api/v3/events/{eventId}/occurrences/{occurrenceId}/inventory-items - Create Cart —
POST /api/v3/carts - Checkout —
POST /api/v3/orders