Skip to main content
Session methods let a host start and run a session (training, raid, shift, tryout, etc.) end to end from inside your experience — recruiting administration, marking attendees, running phases, issuing strikes, and closing the session out. Every session method takes an actor as the first argument (the person acting, almost always the host) and, for writes, an opts table as the second.
A session is identified by its session id (sid) — a string that starts with s, returned when you start a session. Pass that same sid to every subsequent session method.

Session lifecycle

A session moves through a fixed set of states. You advance it with sessionUpdateSession.

Phases

Each session has an ordered list of phases, each with a stable id and a name. A phase is either a work phase (kind: "phase" — one you start and stop, and mark attendees against) or an outcome marker (kind: "outcome"). Attendee pass/fail marks are keyed by phase id (see cells on an attendee), so a phase can be renamed without losing its marks.

getSessionReservations

Returns the upcoming reserved/scheduled session slots for your organization — useful for showing hosts what they can pick up right now. To host one, pass its rid as the mode to startSession.

Parameters

Player | table | number
required
The requesting host. See the actor object.

Returns

object[]
An array of reservation records, soonest first. Empty if there are none or the request failed.

Example


getSession

Fetches the full record of a single session by id — its phases, administration (including the host), attendees with their per-phase marks and strikes, the phases that have been started/ended, the scheduled time, and a summary once it has ended.

Parameters

Player | table | number
required
The requesting user. See the actor object.
string
required
The session’s sid (e.g. "s5f3a1c9d2e4b6a8c").

Returns

table | nil
The full session record, or nil if the session was not found or the request failed.

Example


getRunningServers

Returns your organization’s currently-running game servers, the players in each (with their ranks), and any ongoing sessions taking place in them.

Parameters

Player | table | number
required
The requesting user. See the actor object.

Returns

object[]
An array of running servers. Empty if none are active or the request failed.

Example


startSession

Starts hosting a session in the current server. The actor becomes the host, and must meet the host requirements configured for the chosen session type. You can host on demand (right now) or pick up a scheduled reservation returned by getSessionReservations.

Parameters

Player | table | number
required
The host starting the session. See the actor object.
table
required
Session options.

Returns

table | nil
The result of the host attempt, or nil if the request failed or the backend was unreachable.

Examples


sessionUpdateAttendees

Adds or removes attendees on a running session. You can add and remove in the same call. Duplicate, invalid, or already-present ids (and anyone in administration) are skipped automatically.

Parameters

Player | table | number
required
The administrator performing the update. See the actor object.
table
required

Returns

table | nil

Example


sessionUpdateMark

Sets or clears a single attendee’s pass/fail mark for a work phase (e.g. ticking them off for passing a checkpoint). The phase must already be started.

Parameters

Player | table | number
required
The administrator performing the mark. See the actor object.
table
required

Returns

table | nil

Example


sessionUpdateStrike

Adds a strike against an attendee (with a reason) or removes an existing one.

Parameters

Player | table | number
required
The administrator issuing/removing the strike. See the actor object.
table
required

Returns

table | nil

Examples


sessionUpdatePhase

Controls a session’s phases. Use it to start/stop a work phase during the session, or to add/rename/delete phases.
Only one work phase can be running at a time — end the current phase before starting the next. Outcome markers cannot be deleted.

Parameters

Player | table | number
required
The administrator performing the action. See the actor object.
table
required

Returns

table | nil

Examples


sessionUpdateSession

Advances the session through its lifecycle — activating it, moving it to ending, closing it out, or cancelling it.

Parameters

Player | table | number
required
The administrator performing the transition. See the actor object.
table
required

Returns

table | nil

Example