Skip to content

Server SDKs

Choose an official SeatLayer server SDK to inspect holds, book inventory, manage Events, Performance Groups, and Seasons, and verify webhooks securely.

Updated View as Markdown

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:

  1. This language guide gives the exact resource namespace and common methods.
  2. The language page’s version-pinned resource source gives every 0.7.0 method name and signature, including all 48 Season operations.
  3. 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.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close