SeatLayer publishes official server SDKs for seven languages. Every package on
this page is pinned to the released 0.8.0 contract so an install command, a
method example, and the linked source all describe the same artifact.
Choose and install
| Runtime | Pinned install | Language guide |
|---|---|---|
| Node.js | npm install @seatlayer/server@0.8.0 |
Node.js |
| Python | pip install seatlayer==0.8.0 |
Python |
| PHP | composer require seatlayer/seatlayer-php:0.8.0 |
PHP |
| Java | io.seatlayer:seatlayer-java:0.8.0 |
Java |
| Go | go get github.com/seatlayer/seatlayer-go@v0.8.0 |
Go |
| Ruby | gem install seatlayer -v 0.8.0 |
Ruby |
| .NET | dotnet add package SeatLayer --version 0.8.0 |
.NET |
The server SDK overview explains which work belongs in these trusted packages. Each language guide includes its runtime requirement, exact namespace spelling, error types, retry behavior, source, registry, and a minimal inspect-and-book flow.
Set the secret key
Store the key in your server’s secret manager and expose it to the application as an environment variable. The placeholder below is deliberately not a usable credential:
export SEATLAYER_SECRET_KEY=sk_test_replace_with_your_keyUse a test key while integrating. A test key can act only on test resources; a
live key can act only on live resources. Crossing those modes returns 403 mode_mismatch. A publishable pk_… key is not accepted by a server client.
Create a client
import { SeatLayer } from '@seatlayer/server';
const seatlayer = new SeatLayer(process.env.SEATLAYER_SECRET_KEY!);import os
from seatlayer import SeatLayer
seatlayer = SeatLayer(os.environ["SEATLAYER_SECRET_KEY"])use SeatLayer\SeatLayer;
$seatlayer = new SeatLayer(getenv('SEATLAYER_SECRET_KEY'));import io.seatlayer.SeatLayer;
SeatLayer seatlayer = new SeatLayer(System.getenv("SEATLAYER_SECRET_KEY"));client, err := seatlayer.New(os.Getenv("SEATLAYER_SECRET_KEY"))
if err != nil {
return err
}require "seatlayer"
client = SeatLayer::Client.new(ENV.fetch("SEATLAYER_SECRET_KEY"))using SeatLayer;
var client = new SeatLayerClient(
Environment.GetEnvironmentVariable("SEATLAYER_SECRET_KEY")!
);Resource namespace map
The capability is shared; the spelling follows each language. These are the
exact top-level resources in 0.8.0:
| Language | Exact client resources |
|---|---|
| Node.js | charts, channels, events, inventory, performanceGroups, sessions, seasons, templates, webhooks, workspaces |
| Python | charts, channels, events, inventory, performance_groups, sessions, seasons, templates, webhooks, workspaces |
| PHP | charts, channels, events, inventory, performanceGroups, sessions, seasons, templates, webhooks, workspaces |
| Java | charts(), channels(), events(), inventory(), performanceGroups(), sessions(), seasons(), templates(), webhooks(), workspaces() |
| Go | Charts, Channels, Events, Inventory, PerformanceGroups, Sessions, Seasons, Templates, Webhooks, Workspaces |
| Ruby | charts, channels, events, inventory, performance_groups, sessions, seasons, templates, webhooks, workspaces |
| .NET | Charts, Channels, Events, Inventory, PerformanceGroups, Sessions, Seasons, Templates, Webhooks, Workspaces |
Verify the setup
Before handling a real checkout:
- Start with
sk_test_…and confirm the client reportstestmode. - Choose your language guide above and run its inspect-and-book example against a test Event and a hold created by a buyer surface.
- Store your own stable commercial order ID as
bookingRef. - Add typed error handling and operation-safe retries.
- Verify signed events with the webhook SDK helpers.
- Complete the going-live checklist before changing to a live key.
Do not calculate a charge from browser-submitted labels, quantities, or totals. For an Event checkout, retrieve the hold on your server and use its retained items as the inventory authority. Fixed Renewable Season holds intentionally contain inventory identity rather than a package price; your trusted commerce system owns that price.
Continue
- Choose Event, Performance Group, or Fixed Renewable Season.
- Follow the booking flow for a single Event.
- Integrate a Performance Group.
- Build a Fixed Renewable Season.
- Use the tagged package source for installed-method truth. The generated operation support matrix separately reports current source, verification, and published-artifact status.