Selling tickets
How to sell from your own site today, and the embed that is coming.
Examples use a fictional festival, summer-fest. Sign in at events.grofomo.com and they switch to your own events.
Selling tickets from your own site is not part of this API today. The quote, reserve and pay endpoints exist, but they are internal, and building against them would tie your site to a contract we intend to change.
What to build today
Read ticket availability, render prices and availability in your own design, and link out to the Grofomo ticket page to complete the purchase.
That gets you the part that matters visually — live prices, sold-out states, "final release" countdowns — without owning a payment flow.
const { data } = await fetch(
'https://api.grofomo.com/v1/events/summer-fest/tickets?surface=web',
{ headers: { 'X-Grofomo-Key': process.env.GROFOMO_SECRET_KEY } },
).then((r) => r.json());
for (const type of data.types) {
for (const release of type.releases) {
// soldOut is authoritative. `available` is null both when a tier is
// unlimited AND when the organiser has chosen not to publish counts,
// so it can never gate a buy button on its own.
if (release.upcoming) renderCountdown(type, release);
else if (release.soldOut) renderSoldOut(type, release);
else renderBuyLink(type, release);
}
}What is coming
An embeddable checkout: a small script you drop into your page, which renders the purchase flow inline and handles payment, card data and compliance on our side. Your design, your domain, none of the liability.
That is why the raw write flow stays undocumented. Publishing it would ask you to build something twice.
In the meantime
- Mailing-list signup — host your own signup block and post straight into the organiser's list.
- Merch catalogue — garments, colours, sizes and print zones, so you can render previews without anyone shipping you mock-ups.