Read your events and your attendee list from anywhere, check guests in from an app you built yourself, and get a signed webhook the second an order lands. Your key, your systems, your data.
Press play to walk one integration through the real request and response shapes. Illustrative simulation, not a live connection.
Every team already runs on something else: a CRM, a donor database, a spreadsheet, a badge printer, a check-in app built for one venue. Copying a list between them by hand is how the data goes stale, and it always goes stale on the day it matters.
Everything you can see on your dashboard, you can pull into your own tools on your own schedule.
Post a check-in from anything you can write code in, and our screens treat it as if your staff scanned it.
Save one URL and orders, refunds, and attendee changes come to you instead of you asking for them.
A small API is one you can read in five minutes and trust in production. Two reads and one write cover the integrations organizers actually build.
Everything you own, plus everything shared with you, with the role you hold on each one.
Name, email, ticket type, ticket number, seat, paddle number, and check-in state for every guest.
The one write. Send an order number and a ticket number and the guest is checked in.
Two read endpoints cover almost every integration anyone has asked us for. Ask for your events, ask for the people coming to them, and put both wherever your team already works.
Ask for upcoming, ended, draft, or cancelled events, filter by name or start date, and get the event page link back with each one.
Names, emails, ticket types, ticket numbers, seats, paddle numbers, and whether each guest has been checked in.
Ask for only what changed since your last call. Every response hands you the exact link to use for the next one.
Events another organizer shared with your account come back too, tagged with the role you hold on each one.
Totals and page counts come back in the response headers, so you always know how much is left to fetch.
Refunded tickets and donation lines are filtered out for you, so your list is the list of people actually coming.
Check-in is the one thing you can write back, and it behaves exactly like a scan made on our own app. Build the door experience you want and the rest of the platform keeps up.
Send the order number and ticket number and the guest is admitted, with the same validation our own scanner runs.
A check-in you post appears instantly on the check-in page, the scanner, the guest list, and the bulk editor.
Scan a guest twice and you get a clear "already checked in" answer with the time they arrived, not an error.
Flip one header on and your check-in calls run the full validation and write nothing. Test against a real event safely.
Check-in responses carry the paddle number for auction events, so a bidder is ready the moment they walk in.
A scan you post reads the same on every screen as one made in our own app, formatted in your event's own timezone, so nobody has to work out which surface recorded it.
Point us at one URL and we post to it as orders land, refunds go out, and attendee details change. No polling loop to write and no delay to explain.
The full order arrives as it happens, one line per ticket, with the attendee name, email, phone, and ticket number on each.
Refunded orders and individually refunded tickets both fire, so your own records never drift out of step with ours.
A guest name, email, phone, seat, paddle number, or check-in state changing sends you the order again, updated.
Every delivery carries a signature made with your own secret, so your listener can prove the message came from us.
Generate a new signing secret whenever you want, from the same screen, without opening a support ticket.
Paste a delivery into the portal and it tells you whether the signature verifies. It never leaves your browser.
Your attendee list is the most sensitive thing you keep with us. Everything about the API is built so that opening it up never means losing track of who can read what.
Create a key in your portal and copy it there and then. We only ever store a hash of it, so nobody can read it back.
Generate a new key and the old one keeps working for 24 hours, so you can update your apps without breaking them.
Choose which team members can use their own key. Their reach never grows past the events you already assigned them.
Up to 60 requests a minute per account, which is far more than a normal sync needs and enough to keep the platform quick.
Your account shows the last time your key was used, which is the fastest way to confirm an integration is live.
A documentation tab in the portal, a full guide in our help center, and a Postman collection to try every call in a minute.
You do not need an engineering team to get value here. Most of these are an afternoon of work, and several need no code at all.
Push every buyer into the system your team already lives in, so an event attendee becomes a contact you can reach again.
Build the door experience your venue needs and post the scans back, with our screens staying in sync the whole night.
Send each guest a form that already knows their name and ticket number, so nobody has to type it in twice.
Any tool that accepts a webhook can start a workflow the second a ticket sells. No server of your own required.
Feed live sales and attendance into the board report, the sponsor deck, or the spreadsheet your finance team trusts.
Pull the confirmed list into your badge software the morning of the event and print from real data.
Match ticket buyers to members, students, or families in the system of record you already maintain.
Sync attendees into the mailing tool you already pay for and segment them by event or ticket type.
One key reaches every event you own and every event shared with you, so one integration covers the whole portfolio.
The API is not a paid add-on or a separate product. It is the same data, the same events, and the same check-in behavior you already use, opened up on your terms.
Shown once, stored as a hash, rotated whenever you want with a full day of overlap.
Your listener can prove a webhook came from us before it acts on a single field.
Test check-in against a live event and nobody gets admitted and no screen changes.
Your app checks a guest in and our check-in page shows it at the same moment.
Tell us what you want to build and we switch the Developer Portal on for your account.
Open My Account, then Developer Portal, and create a key. Copy it there and then, because it is shown once.
Import the Postman collection, paste your key in, and read your own event list back in under a minute.
Save your URL, copy your signing secret, and start hearing about orders the second they land.
Finding a limit halfway through a build is worse than reading it here. These are the three that come up most, and each one has a pattern that works around it.
You cannot create an event, issue a ticket, edit an order, or process a refund through the API. Those all stay on your dashboard, where the approvals and the audit trail live.
If your listener is down when one fires, that delivery is gone. Treat webhooks as the fast path and run a scheduled sync of everything that changed as the safety net. Between the two, nothing is missed.
There is no per event routing yet. Every event your key can reach posts to the same URL, and the event ID travels on the payload so you can route it once it arrives.
Before you build your own door app, see what the built-in one already does. Most teams use both: our scanners at the main door, their own tool for a special case.
Explore event check-inBringing a list in rather than pulling one out? Import your guests and send every one of them a real ticket, with no code at all.
See the guest listDoor sales made at the box office flow through the same order data your integration reads, so walk-ups appear in your systems too.
See the box officeThe API is one of 100+ tools: reserved seating, fundraising, check-in, marketing, and reporting, all in one login.
See all featuresThe Developer API is in private beta. Tell us what you want to build and we will switch it on for your account.