Overview
Cap how many devices run on one license key at once, with heartbeats and seat limits.
Sessions turn a license key into a limited number of concurrent seats. When a key validates, Kora opens a session and hands back a token. Your product keeps that token alive with a heartbeat and closes it on shutdown, so you always know how many copies are running on one key.
This extension depends on core. See the
Configuration for the settings and the
API Reference for the endpoints, with a live playground
and code samples.
How it works
- A successful validation opens a seat and returns
session.token. - Your product heartbeats on the
HEARTBEATcadence to keep the seat alive. - On shutdown it closes the seat so it frees up right away.
- Pass an
identifierwhen validating to tie the seat to a device. Re-validating with the same identifier reuses the seat instead of taking another.
When a key is at its limit, validation returns valid: false with a session-limit message, unless
the server is set to evict the oldest seat instead.
Managing seats
Set a per-license limit and view or close active seats from the Sessions dashboard page, the
sessions console command, or the API.

