Entitlements are the modern way to control feature access in your application. Instead of checking which plan a customer is on, you check which features they have access to. This fundamental shift gives you unprecedented flexibility to experiment with pricing, create custom deals, and iterate on your product—all without changing code.Documentation Index
Fetch the complete documentation index at: https://docs.kelviq.com/llms.txt
Use this file to discover all available pages before exploring further.

For SDK installation and API reference, see:
Why Entitlements?
The Problem with Plan-Based Access
Traditional SaaS applications check access like this:- Code changes required for any pricing restructure
- Deployment needed to move a feature between plans
- Engineering bottleneck for every pricing experiment
- Webhook complexity to sync subscription state
- Stale cache issues when plans change
- Custom deals are painful requiring one-off code
The Entitlements Approach
With Kelviq, you check features directly:- Move features between plans without code changes
- Create custom enterprise deals in minutes
- A/B test pricing without deployments
- Let Sales and Product iterate independently
How It Works
The Flow

- Setup plans and features on Kelviq Dashboard
- When a customer completes checkout, their entitlements are automatically assigned.
- Your app checks access via SDK
- Customer gets immediate access
No Webhooks Required
When a customer completes checkout:- Payment is processed
- Entitlements are assigned automatically
- Your app checks access via SDK
- Customer gets immediate access
- Build webhook handlers
- Sync subscription state to your database
- Handle race conditions
- Manage cache invalidation
Feature Types
Kelviq supports three types of features to cover all access control scenarios.Boolean Features
Simple on/off access control.
- Feature flags (SSO, API access, white-labeling)
- Premium features (advanced analytics, custom branding)
- Access gates (admin panel, beta features)
| Feature | Starter | Pro | Enterprise |
|---|---|---|---|
| Basic Dashboard | ✓ | ✓ | ✓ |
| Advanced Analytics | ✗ | ✓ | ✓ |
| SSO | ✗ | ✗ | ✓ |
| White Label | ✗ | ✗ | ✓ |
Meter Features
Usage-based features with limits and tracking..png?fit=max&auto=format&n=dIayyoP2MxhiM3vQ&q=85&s=79944e812b9e3720e950502494285370)
- API calls, requests, or operations
- Storage (GB, files, records)
- Team members or seats
- Messages, emails, or notifications
- AI tokens or credits
| Option | Description |
|---|---|
| Limit | Maximum usage allowed (or unlimited) |
| Reset Period | When usage resets (monthly, weekly, daily, never) |
| Hard Limit | Block access when limit reached |
| Soft Limit | Allow overages but notify/warn |
| Rollover | Carry unused quota to next period |

| Feature | Starter | Pro | Enterprise |
|---|---|---|---|
| API Calls | 1,000/mo | 100,000/mo | Unlimited |
| Storage | 5 GB | 100 GB | 1 TB |
| Team Members | 3 | 25 | Unlimited |
Customizable Features
Dynamic values that aren’t simple on/off or numeric limits.
- Configuration values
- Tier-specific settings
- Dynamic feature behavior
Soft Limits vs. Hard Limits
Choose the right enforcement strategy for each feature.
Hard Limits
Block access completely when the limit is reached. Best for:- Cost-sensitive features (AI tokens, bandwidth)
- Preventing abuse
- Strict contractual limits
Soft Limits
Allow continued access but notify the user. Best for:- Driving upgrades without blocking users
- Features where occasional overages are acceptable
- Better user experience during high-usage periods
Checkout Integration
When a customer goes through checkout, entitlements are automatically assigned. The key is passing the customer ID.Passing Customer ID
When creating a checkout session, include the customer identifier:New vs. Existing Customers
| Scenario | What Happens |
|---|---|
| New customer ID | Customer created automatically, entitlements assigned |
| Existing customer | Entitlements updated based on new purchase |
| Upgrade | New plan entitlements replace old ones |
| Downgrade | Adjusted at end of current billing period |
Automatic Assignment
After successful payment:- Customer record is created/updated
- Plan entitlements are assigned instantly
- No webhook processing needed
- Customer can access features immediately
SDK Integration
Quick Start
Install the SDK and start checking entitlements in minutes.Get your API key from Settings → API keys in the Kelviq dashboard.
Checking Feature Access
Reporting Usage
For meter features, report usage after each consumption:For complete SDK reference including all methods and parameters, see the Node SDK Documentation.
Managing Customer Entitlements
Viewing Customer Entitlements
In the Kelviq dashboard:- Navigate to Customers
- Select a customer
- View their Features section
- All entitled features
- Current usage vs. limits
- Reset dates for meters
- Whether values are overridden
Overriding Entitlements
Sometimes you need to give a specific customer different access than their plan provides. Common scenarios:- Sales gave a prospect extra API calls for a POC
- Customer needs temporary limit increase
- VIP customer gets special access
- Compensating for a service issue
- Go to the customer’s detail page
- Find the feature in the Features section
- Click the menu (⋯) → Override usage
- Set the new value
- Save
- Per-customer (don’t affect the plan)
- Marked with an override indicator
- Can be reverted anytime
Resetting Usage
For meter features, you can reset a customer’s usage:- Go to the customer’s detail page
- Find the meter feature
- Click the menu (⋯) → Reset usage
Plan Inheritance
Create plan hierarchies to reduce duplication and maintain consistency.How It Works
- Child plan automatically gets parent’s features
- You can override specific values in the child
- Changes to parent propagate to children (unless overridden)
Override Indicators
| Icon | Meaning |
|---|---|
| 🔗 Inherited | Value comes from parent plan, stays in sync |
| ⚡ Overridden | Value was customized, no longer syncs with parent |
Use Cases
Tiered plans:- Starter: 1,000 API calls
- Pro: inherits Starter + overrides API calls to 100,000 + adds analytics
- Enterprise: inherits Pro + overrides to unlimited + adds SSO
- US Pro: standard features
- EU Pro: inherits US Pro + adds GDPR compliance features
Subscription Lifecycle
What Happens During…
Successful Purchase
- Entitlements assigned immediately
- Customer can access features right away
- No webhook handling required
Upgrade
- New plan entitlements replace old ones
- Happens immediately
- Usage meters may reset or carry over (configurable)
Downgrade
- New entitlements take effect at end of billing period
- Customer keeps current access until then
- Prevents mid-cycle disruption
Cancellation
- Entitlements remain active until period ends
- Customer can use features they paid for
- Access revoked when subscription expires
Failed Payment
- Grace period begins (configurable)
- Customer retains access during grace period
- After grace period: access revoked
- Entitlements restored when payment succeeds
Refund
- Entitlements revoked immediately
- Customer loses access to plan features
Manage subscriptions programmatically using the Subscriptions API.