Floating license
A floating license is an enterprise seat pool enforced by live sessions (connect + heartbeat). One license key serves many users, but only N can run the app at the same time. Floating is always online—there is no offline floating mode.
Session seats
Pool cap = max concurrent live sessions.
Always online
Heartbeats required; no offline enforcement.
Sessions dashboard
Real-time pool usage vs cap.
Floating license — for product owners
Sell a concurrent seat pool enforced by live SDK sessions (connect + heartbeat). Floating is always online — there is no offline mode. The Activations tab is hidden; use Sessions for seat math.
When to choose Floating
- Enterprise concurrent deal — “100 simultaneous users” company-wide.
- High seat churn — users open/close the app often; seats recycle on disconnect.
- Site / department pool — one org key, server enforces concurrency.
Issue a license (dashboard)
- Licenses → Generate License.
- Step 2 — select Floating; online mode is forced.
- Set Max active users = concurrent session cap.
- Complete product, release, entitlements → generate and distribute one org key.
Operate & support
- Sessions tab — real-time pool usage vs cap.
- Force disconnect — free a stuck seat after crash (no reissue).
- Session cleanup — stale heartbeats mark sessions offline and release seats.
- Revoke license — disables entire pool from Overview.
Monitor globally at /dashboard/sessions.
API automation
- Create:
POST /api/licenseswithtype: Floating. - Connect:
POST /api/sessions/connect— consumes one seat while session is live. - Heartbeat:
POST /api/sessions/heartbeat— keeps seat alive. - Disconnect:
POST /api/sessions/disconnector operator force-disconnect.
Floating license — for end users
Your organization shares one license key. Only N people can run the app at the same time. When you close the app, your seat returns to the pool within a heartbeat interval.
Requirements
- Continuous network access to the LicenPro API (always online).
- License key / file from IT — same key for all users in the pool.
While the app runs
- App validates and connects a session — occupies one pool seat.
- Periodic heartbeats keep the seat reserved.
- Graceful exit sends disconnect and frees the seat quickly.
Troubleshooting
| Message | Meaning | What to do |
|---|---|---|
| MaxConcurrentSessionsReached | Pool full | Wait for a colleague to exit, or ask IT to disconnect stale sessions |
| RateLimited | Too many heartbeats | Wait — session usually stays valid |
| SessionNotFound | Server dropped session | Restart app to reconnect |
| Network errors | Cannot reach server | Floating cannot work offline — restore connectivity |
Floating vs Concurrent
- Floating — seat limit on live sessions; always online; best for fast seat turnover.
- Concurrent — seat limit on device activations; sessions show who is online but activations hold seats.
Floating cannot enforce without server heartbeats. Use Perpetual offline or Node-locked for disconnected environments.
