Events and exhibitions
Manage event readiness, layout assignments and guest QR sessions.
Source 0.1.0 Private source package
How the calls fit together
Read readiness and capabilities before changing event state. Activating an event layout and granting guest access are separate reviewed actions.
JavaScript examples
Supply your configured client. Each call awaits a decoded result; errors pass to your caller. These identifiers and values are fictional. Use selected development records and review every change before running it. Opening this page sends no API requests.
See the complete TypeScript workflow · Explore the Node starter
events.list
Lists events owned by an account.
const result = await client.events.list(
"account 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the events.
Returns Promise<RailDeckEventListResponse>.
Example evidence: Retained SDK transport fixture.
events.getReadiness
Loads account-level event readiness.
const result = await client.events.getReadiness(
"account 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount whose event readiness should be loaded.
Returns Promise<RailDeckEventReadiness>.
Example evidence: Retained SDK transport fixture.
events.getCapabilities
Loads account-level event capabilities.
const result = await client.events.getCapabilities(
"account 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount whose event capabilities should be loaded.
Returns Promise<RailDeckEventCapabilitySummary>.
Example evidence: Retained SDK transport fixture.
events.getPublicPolicy
Loads event-specific public access policy.
const result = await client.events.getPublicPolicy(
"account 1",
"event 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent whose public policy should be loaded.
Returns Promise<RailDeckEventPublicPolicy>.
Example evidence: Retained SDK transport fixture.
events.create
Creates an account-owned event.
const result = await client.events.create(
"account 1",
{
"publicName": "Northborough Open Day",
"eventType": "club_open_day",
"venueName": "Northborough Hall"
}
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that will own the event.
input· requiredCreateRailDeckEventInputPublic name, type, venue, window, and metadata for the event.
Returns Promise<RailDeckEvent>.
Example evidence: Retained SDK transport fixture.
events.get
Loads one account-owned event.
const result = await client.events.get(
"account 1",
"capabilities"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent to load.
Returns Promise<RailDeckEvent>.
Example evidence: Retained SDK transport fixture.
events.update
Updates one account-owned event.
const result = await client.events.update(
"account 1",
"event 1",
{
"status": "scheduled"
}
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent to update.
input· requiredUpdateRailDeckEventInputPartial event update.
Returns Promise<RailDeckEvent>.
Example evidence: Retained SDK transport fixture.
events.listLayouts
Lists layouts attached to one event.
const result = await client.events.listLayouts(
"account 1",
"event 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent whose layout attachments should be listed.
Returns Promise<RailDeckEventLayoutListResponse>.
Example evidence: Retained SDK transport fixture.
events.attachLayout
Attaches one layout to an event.
const result = await client.events.attachLayout(
"account 1",
"event 1",
{
"layoutId": "layout 1"
}
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent receiving the layout.
input· requiredAttachRailDeckEventLayoutInputLayout attachment request.
Returns Promise<RailDeckEventLayout>.
Example evidence: Retained SDK transport fixture.
events.activateLayout
Marks one event-layout attachment as the active operational context.
const result = await client.events.activateLayout(
"account 1",
"event 1",
"layout 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent containing the layout.
layoutId· requiredRailDeckIdentifierLayout to activate for the event.
Returns Promise<RailDeckEventLayout>.
Example evidence: Retained SDK transport fixture.
events.finishLayout
Marks one event-layout attachment as finished.
const result = await client.events.finishLayout(
"account 1",
"event 1",
"layout 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent containing the layout.
layoutId· requiredRailDeckIdentifierLayout to finish for the event.
Returns Promise<RailDeckEventLayout>.
Example evidence: Retained SDK transport fixture.
events.detachLayout
Detaches one layout from an event.
const result = await client.events.detachLayout(
"account 1",
"event 1",
"layout 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent containing the layout.
layoutId· requiredRailDeckIdentifierLayout to detach.
Returns Promise<RailDeckEventLayout>.
Example evidence: Retained SDK transport fixture.
events.listQrSessions
Lists public QR sessions for one event.
const result = await client.events.listQrSessions(
"account 1",
"event 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent whose QR sessions should be listed.
Returns Promise<RailDeckEventQrSessionListResponse>.
Example evidence: Retained SDK transport fixture.
events.createQrSession
Creates an event QR session and returns its one-time plain code.
const result = await client.events.createQrSession(
"account 1",
"event 1",
{
"layoutId": "layout 1",
"displayName": "{{fixtureDisplayName}}"
}
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent receiving the QR session.
input· requiredCreateRailDeckEventQrSessionInputLayout, display, expiry, regeneration, and metadata details.
Returns Promise<RailDeckCreatedEventQrSession>.
Example evidence: Retained SDK transport fixture.
events.revokeQrSession
Revokes an event QR session.
const result = await client.events.revokeQrSession(
"account 1",
"event 1",
"qr 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent containing the QR session.
eventQrSessionId· requiredRailDeckIdentifierEvent QR session to revoke.
Returns Promise<RailDeckEventQrSession>.
Example evidence: Retained SDK transport fixture.
events.regenerateQrSession
Regenerates an event QR session and returns the replacement's plain code.
const result = await client.events.regenerateQrSession(
"account 1",
"event 1",
"qr 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the event.
eventId· requiredRailDeckIdentifierEvent containing the QR session.
eventQrSessionId· requiredRailDeckIdentifierEvent QR session to regenerate.
Returns Promise<RailDeckCreatedEventQrSession>.
Example evidence: Retained SDK transport fixture.
events.redeemQrSession
Redeems a public event QR code and returns scoped guest current-state access.
const result = await client.events.redeemQrSession(
"qr 2",
{
"code": "{{setupOrRedemptionCode}}"
}
);TypeScript parameters and return type
eventQrSessionId· requiredRailDeckIdentifierEvent QR session id encoded in the QR URL.
input· requiredRedeemRailDeckEventQrSessionInputPlain guest code from the QR URL.
Returns Promise<RailDeckEventQrSessionRedemption>.
Example evidence: Retained SDK transport fixture.
Download all TypeScript method examples
JavaScript calls and TypeScript downloads are checked through the real SDK using local response fixtures. This verifies the calls and decoding for those fixtures.
The complete TypeScript workflow
Follow how the calls fit together, including the review and recovery steps. Supply your configured client and explicitly selected development records. Importing the download performs no requests; mutations are never retried automatically.
import type { RailDeckDirectIntegrationClient as Client } from '@raildeck/frontend-sdk/direct-integration';
/**
* Read readiness and capabilities before opening an event and its layouts.
* @param client - Configured client; the caller owns current authority.
* @param accountId - Authorised account for this workflow.
* @param eventId - Explicitly selected event.
* @returns Event context for review; no activation or guest capability is created.
*/
export async function prepareEventReview(
client: Client,
accountId: string,
eventId: string,
) {
const readiness = await client.events.getReadiness(accountId);
const capabilities = await client.events.getCapabilities(accountId);
const event = await client.events.get(accountId, eventId);
const layouts = await client.events.listLayouts(accountId, eventId);
return { readiness, capabilities, event, layouts };
}
Download TypeScript example