Log inGet started

subscriptions

Updated 5 September 2026

The subscriptions namespace — 13 functions.

globals/subscriptions/cancel

subscriptions.cancel(id: string) -> boolean

Cancel a subscription by id: disconnects the live connection immediately and marks the row cancelled. Returns true when a live subscription was cancelled, false for an unknown or already-disconnected id.

Parameters

  • id string — Subscription id to cancel.

Returns boolean — True when a live subscription was disconnected.

subscriptions.cancel(conn.id)

globals/subscriptions/get

subscriptions.get(id: string) -> SubscriptionRow?

One subscription row by id, or nil when the id is unknown (never tracked, or evicted after its publisher was destroyed).

Parameters

  • id string — Subscription id (conn.id, or a /zero/runtime/events/subscriptions/ entry).

Returns SubscriptionRow? — The subscription row, or nil.

local row = subscriptions.get(conn.id); print(row and row.deliveries)

globals/subscriptions/list

subscriptions.list(filter: SubscriptionFilter?) -> { SubscriptionRow }

Every tracked subscription row, optionally filtered by publisher instance id, publisher entity id, event name, and/or connected state.

Parameters

  • filter SubscriptionFilter (optional) — Optional filter table.

Returns { SubscriptionRow } — Array of subscription rows.

for _, s in ipairs(subscriptions.list({ connected = true })) do print(s.id, s.event, s.deliveries) end

globals/subscriptions/publishers

subscriptions.publishers() -> { PublisherRow }

Every live event publisher: component instance, entity, and per-event fire stats (fires happen whether or not anyone subscribes) plus current subscriber ids.

Returns { PublisherRow } — Array of publisher rows.

for _, p in ipairs(subscriptions.publishers()) do print(p.component, p.entityName) end

modules/subscriptions/README

require("@builtin/modules/api/engine/subscriptions") -- subscriptions (also available as global 'subscriptions')

Runtime inspection and cancellation of component-event subscriptions. Public Luau surface over the __event_inspect_* / __event_track_* Internal FFI globals; the same data is browsable at /zero/runtime/events/.

Usage: local subscriptions = require("@builtin/modules/api/engine/subscriptions") Also available as global: subscriptions

modules/subscriptions/cancel

cancel(id: string): boolean

Cancel a subscription by id: disconnects the live connection immediately and marks the row cancelled. Returns true when a live subscription was cancelled, false for an unknown or already-disconnected id.

Parameters

  • id string — Subscription id to cancel.
subscriptions.cancel(conn.id)

modules/subscriptions/get

get(id: string): SubscriptionRow?

One subscription row by id, or nil when the id is unknown (never tracked, or evicted after its publisher was destroyed).

Parameters

  • id string — Subscription id (conn.id, or a /zero/runtime/events/subscriptions/ entry).
local row = subscriptions.get(conn.id); print(row and row.deliveries)

modules/subscriptions/list

list(filter: SubscriptionFilter?): { SubscriptionRow }

Every tracked subscription row, optionally filtered by publisher instance id, publisher entity id, event name, and/or connected state.

Parameters

  • filter SubscriptionFilter? (optional) — Optional filter table.
for _, s in ipairs(subscriptions.list({ connected = true })) do print(s.id, s.event, s.deliveries) end

modules/subscriptions/publishers

publishers(): { PublisherRow }

Every live event publisher: component instance, entity, and per-event fire stats (fires happen whether or not anyone subscribes) plus current subscriber ids.

for _, p in ipairs(subscriptions.publishers()) do print(p.component, p.entityName) end

typed/builtin//modules/api/engine/subscriptions/subscriptions/cancel

subscriptions.cancel(id: string) -> boolean

Cancel a subscription by id: disconnects the live connection immediately and marks the row cancelled. Returns true when a live subscription was cancelled, false for an unknown or already-disconnected id.

Parameters

  • id string — Subscription id to cancel.

Returns boolean — True when a live subscription was disconnected.

subscriptions.cancel(conn.id)

typed/builtin//modules/api/engine/subscriptions/subscriptions/get

subscriptions.get(id: string) -> SubscriptionRow?

One subscription row by id, or nil when the id is unknown (never tracked, or evicted after its publisher was destroyed).

typed/builtin//modules/api/engine/subscriptions/subscriptions/list

subscriptions.list(filter: SubscriptionFilter?) -> { SubscriptionRow }

Every tracked subscription row, optionally filtered by publisher instance id, publisher entity id, event name, and/or connected state.

typed/builtin//modules/api/engine/subscriptions/subscriptions/publishers

subscriptions.publishers() -> { PublisherRow }

Every live event publisher: component instance, entity, and per-event fire stats (fires happen whether or not anyone subscribes) plus current subscriber ids.

Returns { PublisherRow } — Array of publisher rows.

for _, p in ipairs(subscriptions.publishers()) do print(p.component, p.entityName) end
  • api
  • reference