Access state

Entitlements for payment-backed access

Understand how Licenzy entitlement state connects Stripe payments to access checks, subscriptions, time passes, and usage-pack consumption.

Start free in test mode. Go live when you're ready.

Category: Integration Flow5 sections

What entitlements represent

This page explains the commercial state behind runtime access. If checkout starts a purchase and access checks answer allow or deny, entitlements are the state that connects those two steps.

An entitlement represents active commercial rights for a subject. That may be an active subscription, a usable time pass, or a usage pack with remaining units.

Your app should treat entitlements as authoritative runtime state and not attempt to reconstruct access directly from Stripe objects.

That boundary matters because payment events arrive asynchronously. A checkout redirect starts the browser flow, but entitlement state changes after Stripe webhook processing. Your backend should read the resulting Licenzy state before unlocking paid features.

Entitlement kinds

Licenzy entitlement state can represent different commercial rights:

  • subscription means access is tied to subscription status and billing lifecycle updates.
  • time_pass means access is available for a bounded period.
  • usage_pack means access can include a remaining unit balance that your backend consumes through usage metering.

These kinds are created from product configuration and payment events. Your runtime app normally does not need to inspect Stripe products or invoices directly to decide access.

How to read entitlement state

Licenzy exposes three complementary runtime reads:

  • POST /v1/access/check for a minimal boolean decision.
  • GET /v1/customer/access/:subject_ref for access summary plus entitlement status.
  • GET /v1/entitlements/:subject_ref for direct entitlement inspection.
Use the smallest surface that fits
Use access check in hot paths, customer access when you need a richer summary, and entitlements when you need the raw entitlement list for account pages or support tooling.

Relationship with access and usage

Entitlements are the bridge between billing state and runtime enforcement. Access checks answer whether a subject can proceed. Usage consumption reduces units from a usage-pack entitlement after server-side work is accepted or completed.

Keep those operations server-side. Your app should not reconstruct access directly from Stripe Checkout sessions, invoices, or subscription objects, because the runtime question is whether Licenzy currently sees usable entitlement state for the subject in the mode selected by the API key.