Skip to main content

APIs

Event is the ticketing system of record. Patron, promoter, and GO APIs are BFFs. Stripe moves money. This page groups concerns and points at Event OpenAPI. It is not a route catalog and not a Petstore clone.

Event (eventlinx-api-event)​

Cloudflare Worker. OpenAPI: GET /doc (generated from src/routes.ts).

HostURL
Productionhttps://api-event.eventlinx.com/doc
Staginghttps://api-event-staging.eventlinx.com/doc
Devhttps://api-event-dev.eventlinx.com/doc

GET /doc requires the Event service key (X-API-Key). There is no anonymous spec URL on purpose.

Concerns Event owns​

ConcernBehavior
CatalogEvents and performances.
GA inventoryQuantity remaining. Concurrent updates use SKIP LOCKED.
Reserved inventoryseatIds required. No oversell. First RS inventory write locks the seat map.
Carts / holds12-minute hold. GET cart does not extend TTL. Checkout secret extends 8 minutes.
Seat mapsPersist (and sell/hold against the persisted map). Predict is not mounted (501).
CheckoutOrchestration of the ticketing side of checkout — not card capture.
After-sale recordsScan, redeem, refund, transfer, exchange records.

For request/response fields, use /doc or the Worker source. Do not copy the spec into Markdown.

Patron BFF (eventlinx-api-patron)​

Fronts the patron Vite app.

  • Get Tickets, cart, and checkout secret via Event.
  • $0 / cash via eventlinx-api-stripe.
  • Transfers live.
  • Exchange HTTP routes exist; the patron UI flag is off. Not a shipped patron product.

Promoter BFF (eventlinx-api-promoter)​

Fronts the promoter Vite app.

  • Proxies Event for events, tickets, and maps (persist/sell/hold still Event).
  • Predict: POST …/seat-maps/predict on promoter-api → api-seating-detect POST /upload. Not Event.
  • Owns promoter org, collaborators, GO users, images, custom domains (these are not Event SoR).

GO BFF (eventlinx-api-go)​

Cloudflare Worker BFF for the Expo staff app. Not a Go-language service.

  • Scan, POS, cart → Event.
  • Cash → Stripe API.
  • Terminal PaymentIntent create → Event; completion → Stripe.
  • Does not gate reserved POS (the Expo app does, via isDevEnv).
  • Blocks exchange into reserved seating.

See GO internals.

Stripe (eventlinx-api-stripe)​

Money movement: payments, cash, Terminal completion. Ticketing state after a successful payment still lands on Event.

Authentication (eventlinx-api-authentication)​

Identity. UI sessions remain Supabase JWT. See Auth.

Seating detect (api-seating-detect)​

POST /upload returns detect JSON. Clients map that JSON into Event’s persist schema. Detect JSON is not the Event persist schema. See Seat maps.

How to navigate contracts​

  1. Read this page for who owns the concern.
  2. Open Event GET /doc for Event shapes.
  3. Open the relevant BFF repo for BFF-only routes (org, images, domains, predict proxy).

Do not regenerate a Swagger UI of Event inside this Docusaurus site unless product asks for it later. The live Worker spec is the source of truth.