The server SDK is the trusted half of a Platform integration. It holds the secret key, reads authoritative inventory, and commits booking after your own commerce system has made its payment and order decision.
SeatLayer owns chart geometry, live seat state, holds, booking concurrency, inventory records, allocation reporting, and inventory webhooks. Your platform owns buyer identity, tax, payment, the commercial order, tickets or passes, refunds, fulfilment, and customer support.
Choose your runtime
| Language | Package | Released guide |
|---|---|---|
| Node.js | @seatlayer/server@0.7.0 |
Use the Node.js SDK |
| Python | seatlayer==0.7.0 |
Use the Python SDK |
| PHP | seatlayer/seatlayer-php:0.7.0 |
Use the PHP SDK |
| Java | io.seatlayer:seatlayer-java:0.7.0 |
Use the Java SDK |
| Go | github.com/seatlayer/seatlayer-go@v0.7.0 |
Use the Go SDK |
| Ruby | seatlayer gem 0.7.0 |
Use the Ruby SDK |
| .NET | SeatLayer NuGet 0.7.0 |
Use the .NET SDK |
Start with the pinned installation and shared setup.
Each language guide links to its exact public registry package and tagged source. Start there when a package or repository search is how you found SeatLayer; the installed package and its tagged README define the released language surface, while this documentation explains the common booking boundary.
One contract, three inventory models
| Model | Server responsibility | Released server coverage |
|---|---|---|
| Event | Inspect a temporary hold and book one dated inventory occurrence | Available in all seven SDKs |
| Performance Group | Provision and operate one atomic fixed run of 2–8 compatible Events | All 13 secret-key operations in all seven SDKs |
| Fixed Renewable Season | Publish a 2–20-Event Plan, book the same seat, manage Seat Rights and renewals | All 48 frozen 0.7.0 operations in all seven SDKs |
Read Choose an inventory model before modelling a multi-date product. A Performance Group is not a Season, and neither replaces your commercial order system.
What belongs on the server
- Create and publish charts, templates, Events, Workspaces, and private sales channels.
- Mint short-lived buyer or staff sessions after authenticating your own user.
- Retrieve an opaque buyer hold and derive the inventory truth from the server response.
- Book once with a stable
bookingRef, then reconcile an unknown outcome. - Coordinate Performance Group and Season catalogue/lifecycle operations.
- Verify webhook signatures and deduplicate delivered occurrences.
Never send the secret key to a buyer surface. Never trust a browser-supplied price or total. Browser and native SDKs select and hold; the trusted server inspects and books.
Reliability contract
Every official 0.7.0 SDK retries reads and the same 14 mutations backed by
exact HTTP response replay: five core provisioning operations, Performance
Group create, and eight Season create/change operations. Holds, bookings,
lifecycle changes, show-once secrets, and raw mutations remain single-attempt.
Supplying an idempotency key does not turn an unsupported mutation into an
automatically retryable one.
Use the shared errors, retries, and idempotency guide and the language page’s exact error names. Use the webhook verification guide for the receiver boundary.
Reference and escape hatch
Use three references together:
- This language guide gives the exact resource namespace and common methods.
- The language page’s version-pinned resource source gives every
0.7.0method name and signature, including all 48 Season operations. - The operation support matrix maps those methods to wire operation IDs; OpenAPI 3.1 describes the current HTTP schemas.
The installed package’s tagged source remains authoritative for that package.
Operation-level support does not promise that an older typed request exposes
every later additive field. In particular, all seven 0.7.0 SDKs expose
Performance Group create, but their typed create shape does not expose the
newer REST inclusionMode field. Use the REST/raw-request path for
flexible_dates until a typed package release adds it. A source-only candidate
is never a published package feature.