Overview
The Features integration enables you to create and manage dynamic feature sets for your subscription products. These “features” are characteristics that distinguish your product or service. Once a subscription with such a product is created - whether via a checkout link or manually - the configured features are transferred to the subscription with the corresponding values.Use Cases
- SaaS Solutions: Provide your customers with feature sets such as user count (Quantity), function switches (e.g., “White Labeling enabled”), custom SLAs (Basic, Silver, Gold), or quantity ranges (e.g., “5 GB storage space”).
- Hosting or Server Products: Define RAM, CPU cores, IP addresses as features for server offerings.
- Special Add-on Features: Add individual features (e.g., a personal onboarding session) to flexibly meet customer needs.
Feature Types and Status
Features are configurable characteristics for your subscriptions that can be created in different types:- Switch: Enable/disable certain functionalities.
- Quantity: Selection of predefined quantities (e.g., “5 Users”, “10 Users”).
- Custom: Selection from predefined text values (e.g., “SLA Basic”, “SLA Silver”, “SLA Gold”).
- Range: Manual entry of a value within a certain range, optionally “unlimited” on one or both sides.
- Draft: The feature can be assigned to products but is not yet transferred to subscriptions.
- Active: The feature is transferred when creating a new subscription.
- Archived: The feature is no longer available for new subscriptions but remains unchanged in existing subscriptions.
Example of Using Features
Imagine you run a SaaS solution with the “Professional” product. This product has the switch feature “White Labeling” by default. For the “yearly” price, you add a custom feature “SLA Gold”. When a customer books the “Professional” product with the “yearly” price, they automatically receive both features: White Labeling from the product and SLA Gold from the price.Creating a New Feature
- Use Web App
- Use API
Open Feature Overview
Select Features from the main menu to display the list of features. Click New.
Configure Feature
Fill in the fields:
- Name: The name of the feature, e.g., “White Labeling”. This is displayed internally and may also be visible in the customer portal in the future.
- Type: Choose between Switch, Quantity, Custom, or Range. Depending on the type, additional settings are available.
- Description: A short description of the feature for easier internal assignment.
- Status: Choose between Draft, Active, or Archived.
- Unit: An optional unit, e.g., “User”, “GB”, “SLA”, used for Quantity or Range, enabling better readability and understanding.
- Options: Depending on the type, additional settings are available, e.g., for Quantity the selection of quantities, for Range the definition of the range, or for Custom the selection of values.
- Valid From: An optional date from which the feature is active and transferred to new subscriptions. Not relevant for existing subscriptions.
- Valid Until: An optional date until which the feature is active and transferred to new subscriptions. Not relevant for existing subscriptions.
- Technical ID: An optional technical ID that identifies the feature in your system, e.g., “global.white-labeling”.

Assigning Features
By assigning features to products or specific prices, you ensure that when a subscription is created, the relevant characteristics are automatically transferred.- Features on the product are always included.
- Features on the price can add additional or different properties. This allows you to define additional features for yearly plans, for example.
- If a feature overlaps on the product and price, the definition from the price takes precedence.

Adding a Feature to a Product
- Use Web App
- Use API
Add Feature to Product
Select the desired feature from the list, set the value, and optionally the validity.

Adding a Feature to a Price (optional)
- Use Web App
- Use API
Add Feature to Price
Select the desired feature from the list, set the value, and optionally the validity.

Subscriptions and Features
Creating a New Subscription with Features
When creating a new subscription or adding a new product via the web app or API, all features from the product and price are automatically transferred.Features are only transferred when creating a subscription. Changes to features in the product or price do not affect existing subscriptions.
Adding Individual Features
In the subscription, you can view all transferred features, activate/deactivate them, or add additional features that are not tied to a product or price.- Use Web App
- Use API
Retrieving Features in a Subscription
There are several ways to retrieve the features of a subscription:Subscribe to Webhook
We recommend subscribing to theentitlement.state.updated webhook to be notified of changes in features.
A webhook is triggered when adding or removing a feature (manually or through product change) in the subscription.
If a feature expires or is activated/deactivated by the “valid from” or “valid until” date, a webhook is also triggered.
Example Payload:
Retrieve via API Endpoint
Alternatively, you can retrieve the features of a subscription via the Subscription Endpoint.The endpoint is limited to 240 requests per minute per organization. We therefore recommend using the webhook.
Entitlement Status
Each entitlement in a subscription has a computed status that indicates its current state:- Active: The entitlement is enabled and within its validity period. The customer can use the feature.
- Pending: The entitlement is enabled, but the
validFromdate is in the future. The feature will automatically become active once the date is reached. - Disabled: The entitlement has been manually disabled.
- Expired: The
validUntildate has passed. The entitlement was active but is no longer valid.
The status is automatically computed based on the
active flag and validity dates (validFrom, validUntil). When changes occur, an entitlement.state.updated webhook is triggered.Example API Response
active: true), but since validFrom is in the future, the status is pending.
Retrieving Customer Entitlements
To retrieve a customer’s entitlements, the customer must authenticate, e.g., via OAuth2 or a generated access token. The currently active entitlements are then retrieved viahttps://coreapi.io/customer-entitlements with the following output:
entitlements, all entitlements from the subscriptions are merged.
API Documentation Reference
A detailed reference of all endpoints, parameters, and returns can be found in our Features API Documentation and Entitlements API Documentation.With the Features integration, you can flexibly and scalably design the feature scope of your products and dynamically deliver them to your customers. Through the combination of product and price features as well as individual customization in the subscription itself, you have all the options to optimally tailor your offering to your customers’ needs.
Webhooks
The following webhooks are available for the Features integration:feature.created- A new feature was created.feature.updated- A feature was updated.feature.archived- A feature was archived.entitlement.state.updated- The currently valid features for a subscription have been updated (e.g., through: a change in the subscription; the features; a feature was added or removed by “valid from” / “valid until”; a product was cancelled / adjusted and its features accordingly). See Retrieving Features in a Subscription.