Entitlements define what a customer is allowed to do on their plan — which models they can access, how many tokens they can consume per month, and whether premium features are enabled. This guide covers how to configure and enforce entitlements for AI products.
An entitlement is a feature value assigned to a customer via their pricing plan or subscription. Features are defined once and then assigned per plan tier with different values.
Solvimon stores the entitlement values and makes them queryable. Your application is responsible for reading those values and enforcing them — Solvimon doesn’t block requests at runtime.
The pattern is:
Rate limits (requests per minute, requests per day) are a common entitlement for AI APIs.
Use POST /v1/features:
When configuring a pricing plan version in Desk or via the API, set the requests_per_minute entitlement to:
606006000Query the customer’s entitlements via GET /v1/customers/{ref}/entitlements before accepting a request:
Cache this value at session start (e.g., when a user authenticates). Enforce it in your rate-limiting middleware using a token bucket or sliding window counter in Redis or similar.
429 — happens in your application.A monthly token budget limits how many tokens a customer can consume per billing period before being blocked or charged an overage rate.
Assign per plan: Starter → 1000000, Pro → 10000000.
Query both the entitlement (the limit) and the current meter usage (what they’ve consumed so far):
Compare the two values. If usage ≥ budget, block the request and prompt the customer to upgrade.
Control which models are available on each plan using an ENUM type feature.
["gpt-4o-mini", "claude-3-5-haiku"]["gpt-4o", "gpt-4o-mini", "claude-3-5-sonnet", "claude-3-5-haiku"]Query GET /v1/customers/{ref}/entitlements:
If the customer requests a model not in enums, return a 403 with a message indicating which plan tier includes that model.
Use SWITCH features for binary capabilities: priority queue access, early access to new models, dedicated support.
Assign: Starter → false, Pro → true.
In your application:
Route requests to a high-priority queue if switch: true, otherwise to the standard queue.
Enterprise customers often negotiate custom limits. You can override the plan default for a specific customer directly on their subscription without changing the pricing plan.
Use PATCH /v1/pricing-plan-subscriptions/{id} to set custom entitlement values on the subscription:
Setting override: true means the subscription value takes precedence over the pricing plan default. The customer stays on their existing plan — only their entitlement values change.
All entitlement enforcement happens in your code. Solvimon provides a single endpoint to query what a customer is entitled to — your application decides what to do with that information.