Skip to main content
VENTRY is an event management platform: ticketing, door accreditation, zone control and cashless payment by wristband. This API lets an external system integrate with all of it.

What it is for

Push tickets

You sell tickets on your platform and register them in VENTRY so they work for accreditation at the door.

Accredit attendees

Your application scans the QR and the wristband; VENTRY does the redemption.

Read balances

Wristband balances, purchases and top-ups.

Sync data

Dump sales and access logs into your own data warehouse.

One deployment, one event

Each VENTRY installation corresponds to a single event. Your API key already determines which event that is, which is why no endpoint takes an event identifier: the base URL the organiser gives you is theirs. Within that event, your key may additionally be restricted to certain ticket types or certain days. Anything outside that scope behaves as if it did not exist — it returns 404, not 403 — so do not be alarmed if you cannot see tickets the organiser can.

The data model, in a minute

1

Event

It has days (Day) and zones (Zone). Almost everything else hangs off a day.
2

Tickets

A ticket (Ticket) has a type (TicketType), which defines which zones it grants access to and which items it includes, plus a list of days it is valid for.
3

Accreditation

At the door, the ticket is redeemed for a physical wristband (Wristband). From then on, the wristband is the attendee’s identity inside the venue.
4

Cashless

The wristband carries balance. It is topped up and spent on purchases (transaction) at the bars.

Conventions

occurred_at versus created_at

VENTRY terminals keep charging when connectivity drops and sync when it comes back. That is why sales and top-ups carry two timestamps:
  • occurred_at — when it actually happened.
  • created_at — when it reached the server.
To group by time or reconcile takings you must always use occurred_at. A sale made at 22:00 and synced at 02:00 belongs to Friday night, not Saturday’s. If you group by created_at, one day’s takings will appear split across two.

First call

restrictions with empty lists means your key sees the whole event.