API Changelog

This document tracks changes to the plugin API contract. Plugins declare their apiVersion in package.json under pokerEnginePlugin.apiVersion.

The engine currently supports API versions 1.0.0 through 1.999.999 (the entire 1.x range).

API Version 1.0 (Initial Release)

The foundational plugin API. All features listed below are available to any plugin declaring apiVersion: "1.0".

Registry Methods

  • addAction(hook, callback, priority?) — Register an action hook listener
  • addFilter(hook, callback, priority?) — Register a filter hook listener
  • doAction(hook, ...args) — Fire a plugin-namespaced action hook
  • registerRoute(method, path, options?, ...handlers) — Register an Express route. options.access is public, authenticated or webhook
  • registerProvider(type, providerClass) — Register a payment provider
  • registerProviderMeta(type, meta) — Register payment provider metadata
  • registerProviderType(type) — Register a provider type for discovery

Registry Namespaces

  • users.* — User management (findByExternalId, createWithExternalMapping, generateAuthCode, exchangeAuthCode, linkExternalMapping, findExternalMappingByUserId, findExternalMappingsByUserIds)
  • auth.* — Auth helpers (setAuthCookies, telegram.login, telegram.link, telegram.unlink, telegram.status, telegram.listAccounts, telegram.adminUnlink)
  • cashier.* — Payment operations (initiateDeposit, requestWithdrawal, createPendingDeposit, confirmDeposit, processPaymentWebhook, isTransactionProcessed, findPendingDepositByExternalId, findPaymentTransactionById, listPaymentTransactions, getUserBalance, getOrCreateDepositCode, lookupUserByDepositCode, createWithdrawalRequest, approveWithdrawal, rejectWithdrawal, ensurePaymentSystem, getPaymentSystems, getPaymentSystem)
  • config.* — Configuration (get, getPluginConfig)
  • settings.* — Plugin settings CRUD (get, set, getAll, delete)
  • logger.* — Logging (info, warn, error)
  • middleware.* — Express middleware (authenticate, csrfProtection)

Server Hooks (Stable)

  • server:boot, server:ready, server:shutdown
  • server:routes:auth, server:routes:cashier, server:routes:admin, server:routes:api

Server Hooks (Beta)

  • plugin:activated, plugin:deactivating, plugin:deactivated, plugin:auto-disabled, plugin:settings:saved

Server Hooks (Experimental)

  • game:hand:started, game:hand:completed
  • game:player:seated, game:player:left

Server Filters (Stable)

  • auth:providers, cashier:deposit:methods, cashier:withdraw:methods, plugin:settings:validate

Client Hooks (Beta)

  • nav:items:user — Filter user navigation items

UI Slots (Stable)

  • auth.login.below-form, auth.register.below-form
  • cashier.deposit.method-list, cashier.withdraw.method-list
  • layout.main.sidebar.end, layout.main.header.end, layout.admin.sidebar.end
  • lobby.top, profile.edit.after, admin.users.row.flags, admin.user-detail.integrations
  • plugin.settings.before-form, plugin.settings.after-form, plugin.settings.after-form.{providerType}

Client Engine API

  • window.__pokerEngine: version, React, ReactDOM, fills, pages, hooks, api, auth, startup

Package Manifest Fields

  • pokerEnginePlugin.providerType (required)
  • pokerEnginePlugin.displayName (required)
  • pokerEnginePlugin.description
  • pokerEnginePlugin.hasFrontend
  • pokerEnginePlugin.hasHealthCheck
  • pokerEnginePlugin.configFields
  • pokerEnginePlugin.apiVersion
  • pokerEnginePlugin.minEngineVersion
  • pokerEnginePlugin.maxEngineVersion

Versioning Policy

  • Patch versions (1.0.x): Bug fixes only, no API changes
  • Minor versions (1.x.0): New features added, backwards compatible
  • Major versions (x.0.0): Breaking changes (existing plugins may need updates)

Plugins should declare the minimum API version they require. The engine rejects plugins whose declared version is outside its supported range. A plugin that declares no apiVersion skips this check.

Try the live demo Pricing

Have questions about Poker Engine? We reply fast.