Skip to main content
GET

Get Catalog Event

Returns a single catalog event, resolved with everything needed to sell it.
Requires catalog: read. This is the only endpoint that populates ticket_types and registration_questions — both are null on the list endpoint.
Resolving ticket types costs one availability read per event, and for externally supplied inventory one upstream call per event. Doing that for a whole page would multiply the cost of a list by its size, for data a list view does not use. The intended pattern is: page the list, then read the detail for what you intend to sell.

Path Parameters

string
required
The event identifier, from data[].id on the list endpoint. Always a string.

Response

Every field from the list response, plus the two resolved arrays below.
array
The buyable ticket types.
array
Questions the organizer asks every attendee.
An empty array and null mean different things. [] means we asked and there is nothing — no ticket types on sale, or no registration questions. null means not loaded on this endpoint. An agent that reads [] as “sold out” on a list response would skip every event in the catalog.

Availability is a boolean, not a count

available is deliberately a boolean, and no remaining-stock number is published anywhere on this surface. This feed crosses organizations. A remaining count sampled twice reconstructs both an organizer’s inventory and their sell-through, and publishes it to every approved integrator — including their competitors. Your only question is “can I sell this right now”, which the boolean answers.

Buying without a payment token

Most agents cannot complete an ACP checkout session. Completing one needs a delegated payment token, and minting a Stripe Shared Payment Token requires a browser-based Payment Element plus a registered agent account with Stripe — which a personal assistant, a CLI, or an MCP client structurally does not have. checkout_url is the path for everyone else, and it is the pattern the industry settled on: the agent does discovery and cart-building, then hands the buyer a link. The card never leaves the browser.
The link opens Gomry’s normal checkout with that tier preselected. It carries utm_campaign=catalogApi, so a sale that started in your agent is attributed to the catalog rather than to Gomry’s own discovery. It is always present — including on a tier that is sold out or not yet on sale, because the page is still worth linking and available already says whether it will sell.
Use ACP checkout when you are an agent platform that can hold a delegated payment token. Use checkout_url for everything else. They are complementary, not alternatives — nothing needs to be onboarded to use the link.

Why you must read the questions

Roughly 30% of events ask something at registration, and most of those mark at least one answer required. An agent that ignores them sells a ticket the organizer considers incomplete. Collect the answers from your buyer and send them on POST /checkout_sessions as attendee_answers. A session with unanswered required questions stays not_ready_for_payment and reports them as blocking messages[].