Why Migrate to the v3 API

The v3 API is TTG’s single, actively developed integration surface. The legacy APIs on the legacy portal are frozen — they still work, but no new features, inventory types, or fixes land there. This page covers what you gain by moving.

Benefits at a Glance

Legacy APIsv3 API
Integration surfaceSeparate services for inventory, baskets, checkout, pricingOne unified API from browse to checkout
AuthenticationLegacy auth modelScoped API keys, separate test and live keys, self-service rotation
ErrorsLegacy error formatStructured type + code, plus optional param + details for programmatic recovery
Safe retriesNot built inIdempotency keys make order retries safe
Money & currencyDecimal price, single currencyMinor-unit amounts with explicit currency; sell in multiple currencies
PricingOne price per dateMultiple price options (Adult, Child, Senior) per item — including assigned seats
New featuresFrozenEverything new ships here first
DocumentationManually uploaded snapshotsAuto-generated from the live API — always current

What You Gain

One API, not several

Legacy integrations stitch together separate services for inventory, baskets, checkout, and pricing. v3 is a single API surface — one base URL, one auth model, one consistent request and response shape from browsing occurrences to placing an order. Fewer moving parts, less glue code, fewer edge cases to handle.

Modern authentication

v3 uses API keys with separate test (sk_test_*) and live (sk_live_*) credentials. Generate, rotate, and revoke keys yourself from the partner portal — no support ticket needed. Test keys run against staging and never move real money, so you can build and verify safely before switching to live.

Structured errors and safe retries

Every error returns a consistent, machine-readable shape — a type aligned to the HTTP status and a stable code to switch on, always present. When they apply, a param points at the offending field and a details object carries data for recovery. Messages are human-readable and localized (Accept-Language), but you never have to parse prose to know what happened.

Order submission (POST /orders) takes an Idempotency-Key, so a network timeout is safe to retry: the same key returns the existing order instead of charging twice. Combined with clear retryable-vs-not guidance per error type, integrations recover cleanly instead of guessing.

Richer pricing and inventory

v3 exposes pricing and inventory detail the legacy availability endpoint never returned:

  • Multiple price options per item — Adult, Child, Senior and more, on general admission and assigned seats. Legacy returned a single flat price per date.
  • Multiple currencies — request a currency with ?currency= on reads, or set it on the cart, and get prices in what your customer pays in, where the event supports it.
  • Discounts in the browse step — when an item is discounted, listPrice shows the original for a strikethrough, so you can render “was 150,now150, now 125” without extra calls.
  • Seat attributes — items carry tags like restricted view, wheelchair accessible, or premium, each categorized so you can badge them consistently.
  • Add-ons (Extras) — sell merchandise, drinks, or parking alongside tickets in the same cart.
  • The same inventory we sell — v3 reads the same live inventory that powers TTG’s own apps, not a separate partner feed that can drift. What you see is what we see, behind a short cache measured in a couple of minutes.

Consistent money and time formats

Every amount is an integer in minor units with an explicit currency ({ "amount": 8500, "currency": "USD" }) — no decimal ambiguity, no guessing which currency applies. Every timestamp is ISO 8601 with a timezone offset (2026-03-15T19:30:00-05:00), so there’s nothing to reassemble from separate date and time fields.

Access to what ships next

New inventory types, pricing capabilities, and product features are built on v3 only. The legacy APIs are frozen — staying on them means the roadmap moves without you.

Documentation that stays correct

v3 reference docs are generated directly from the live API, so they never drift from what the endpoints actually return. The legacy portal is a manually uploaded snapshot — fields can change in the service without the docs catching up.

Built to last

The legacy capability APIs are on a retirement path. The migration is coming either way — doing it now, on your own schedule, beats a forced deadline later.

Next Steps

  1. Get set upGetting Started covers auth, headers, and base URLs.
  2. Map your endpointsAvailability → Occurrences walks through migrating the browse step field by field.
  3. See the full flowPurchase Flow shows browse → cart → checkout end to end.

Questions about migrating? Contact partners@todaytixgroup.com.