Sell event tickets
with an API, not a platform.
One API call creates a hosted event page with capacity limits, ticket tiers, promo codes, and automatic email delivery. No Eventbrite fees, no vendor lock-in, no email service to wire up.
The problem
Ticketing platforms take too much. Stripe alone isn't enough.
Eventbrite charges per ticket. Ticketmaster controls the experience. Both force their branding on your event. You could build on Stripe directly, but then you're writing capacity management, ticket numbering, email delivery, and refund logic from scratch.
Flint sits in the middle. Payment processing with event semantics built in - capacity, ticket codes, attendee collection, and confirmation emails - without the platform tax or the build-it-yourself complexity.
Without Flint
- Stripe for charges
- Custom capacity tracking in your DB
- Ticket numbering logic
- SendGrid or SES for confirmation emails
- HTML email templates
- Coupon engine for promo codes
- Manual refund reconciliation
With Flint
- Payments + capacity in one call
- Automatic sellout enforcement
- Sequential ticket codes with prefix
- Branded emails sent automatically
- No email service to configure
- Built-in promo codes and discounts
- One-call refunds with auto-adjustment
How it works
From API call to ticket delivery in four steps
Create a payment link with mode: "EVENT"
Set the event date, location, ticket capacity, and a ticket code prefix. One API call creates a hosted event page - no separate ticketing platform required.
Add ticket tiers as line items
VIP, General Admission, early bird - each tier is a line item with its own price and quantity limit. Add custom fields to collect attendee info at checkout.
Share the link
Buyers see event details, pick tickets, apply promo codes, and pay. The hosted page handles quantity selection, capacity enforcement, and checkout - on your domain or ours.
Tickets delivered automatically
After payment, buyers receive a branded confirmation email with sequential ticket codes. Orders are tracked in your dashboard with full refund and attendee history.
What's included
Everything you need to sell event tickets through an API
No ticketing platform, no third-party widget, no iframe. A payment link with event semantics built in.
Capacity management
Set maxTotalQuantity on the payment link. Sales stop automatically when the event is sold out - no overselling, no manual cutoff, no race conditions.
Ticket codes
Auto-generated sequential ticket codes with a custom prefix. "CONF-000001", "CONF-000002" - each buyer gets unique codes for check-in.
Event date & location
Event date, time, and venue displayed on the payment page. Buyers see all details before purchasing. You set it once in the API call.
Automatic ticket emails
Branded confirmation emails with ticket codes sent after payment. No email service to integrate, no templates to build, no webhook-to-email pipeline.
Multiple ticket tiers
Each tier is a line item with independent pricing and per-tier quantity limits. Offer VIP, General Admission, student, and early bird from a single link.
Custom checkout fields
Collect attendee information at checkout - dietary restrictions, t-shirt size, accessibility needs. Up to 20 fields per event, attached to the order.
Promo codes & discounts
Auto-apply coupon codes or let buyers enter their own. Percentage or fixed-amount discounts with usage limits and expiration dates. Totals recalculate automatically.
Refunds & cancellations
Full or partial refunds with one API call. Order balance, tax, and status adjust automatically. Track every refund in your dashboard.
Branded checkout
Set primary and accent colors to match your event branding. The hosted checkout page reflects your brand, not ours.
Comparison
Flint Pay vs. ticketing platforms
What you get with Flint versus what you get locked into with a traditional ticketing platform.
| Capability | Platform | Flint Pay |
|---|---|---|
Pricing Cost to sell tickets | Per-ticket fee + % of sale | Flat processing rate only |
Branding Checkout appearance | Platform logo required | Your colors, your brand |
Capacity enforcement Prevent overselling | Platform-managed | API-level, one field |
Ticket codes Sequential codes for check-in | Platform format only | Custom prefix + auto-sequence |
Attendee data Collect info at checkout | Platform fields | Custom fields via API |
Email delivery Confirmation + ticket emails | Platform-branded emails | Your brand, automatic |
Refunds Process cancellations | Dashboard + manual | One API call, auto-reconciled |
Data ownership Access to attendee data | Export from platform | Your database, your API |
Code examples
Create, monitor, and manage - all from the API
Set up an event with ticket tiers, check remaining capacity, and handle refunds. Each operation is a single SDK call.
const link = await flint.paymentLinks.create({name: "Summer Music Festival 2026",mode: "EVENT",eventDate: "2026-08-15T18:00:00Z",eventLocation: "Riverside Park, Austin TX",maxTotalQuantity: 500,ticketCodePrefix: "SMF",collectEmail: true,sendTicketEmails: true,lineItems: [{name: "General Admission",unitPriceMoney: { amount: 4500, currency: "USD" },maxQuantity: 400,},{name: "VIP Access",unitPriceMoney: { amount: 12000, currency: "USD" },maxQuantity: 100,},],customFields: [{ label: "Full Name", type: "TEXT", required: true },{ label: "Dietary Restrictions", type: "TEXT" },],});// link.url → "https://pay.withflintpay.com/lnk_01HZ..."// Share it. Tickets sell themselves.
const link = await flint.paymentLinks.get({paymentLinkId: "lnk_01HZ8K3...",});// link.maxTotalQuantity → 500// link.totalQuantitySold → 347// link.completedCount → 189 orders// link.status → "ACTIVE"// When totalQuantitySold hits 500,// the checkout page shows "Sold Out" automatically.
const refund = await flint.refunds.create({paymentIntentId: "pi_01HZ9A2...",amountMoney: { amount: 4500, currency: "USD" },reason: "REQUESTED_BY_CUSTOMER",idempotencyKey: "refund-order-123",});// Order balance recalculates automatically.// Tax adjusts proportionally.// No manual bookkeeping.
Use cases
One API, every kind of event
The same payment link with EVENT mode handles everything from a 50-person workshop to a multi-day festival.
Conferences & summits
Multi-tier tickets, early bird pricing, speaker dinners as add-ons. Custom fields for badge info and dietary preferences.
Workshops & classes
Limited-capacity sessions with automatic sellout. Collect skill level and equipment preferences at registration.
Fundraiser galas
Table tickets and individual seats as separate tiers. Promo codes for sponsors. Donation mode for additional giving.
Sports tournaments
Team registration with custom fields for roster info, division selection, and waiver acknowledgment.
Community events
Free RSVP with $0 tickets or paid entry. Capacity limits prevent over-attendance. Share the link on social and let it run.
Multi-day festivals
Day passes and weekend passes as separate line items. Each with its own capacity. One payment link covers the whole event.
Beyond ticketing
Events are just one mode
The same payment link API handles standard product sales and donations too. Switch the mode and the hosted page adapts - suggested amounts for donations, line items for products, ticket tiers for events.
One integration covers fundraiser galas, ticket sales, and merch. No separate platforms, no duplicate webhook handling, no second set of API keys.
EVENT
Ticket tiers, capacity limits, ticket codes, and confirmation emails.
STANDARD
Product sales with line items, quantities, and inventory tracking.
DONATION
Suggested amounts, custom contributions, and recurring giving.
Keep Exploring
Related pages for event and registration flows
These pages help event buyers move between the workflow, the supporting product surface, and the adjacent comparison decisions.