EntitlementsFeatures Overview

Features Overview

A Feature represents a specific capability or resource that your product offers to customers. Features are the building blocks of entitlements — they define what can be entitled, while product and subscription entitlements define how much of each feature a customer gets.

Key Concepts

  • Features are defined at the product level — each feature belongs to a product.
  • There is a many-to-many relationship between features and catalog items (rate plans, addons). A single feature can be attached to multiple rate plans, and a rate plan can have multiple features.
  • Every feature has a type that determines the kind of values it can hold.
  • Features go through a lifecycle (Draft → Active → Inactive) to allow safe development and rollout.

Feature Properties

Every feature has the following properties:

PropertyRequiredDescription
NameYesInternal name used in the admin panel. Max 100 characters.
Feature KeyYesUnique identifier used in API calls. Auto-generated from the name. Cannot be changed after creation. Max 100 characters.
Feature TypeYesDetermines value behavior: Switch, Quantity, Range, or Custom. Cannot be changed after creation.
DescriptionNoInternal description for admin reference. Max 200 characters.
External NameNoDisplay name shown on pricing tables and the customer portal. Max 200 characters.
Unit of MeasurementNoLabel for Quantity and Range types (e.g., “API calls”, “GB”, “users”). Max 50 characters.
Portal VisibilityNoWhether the feature is visible to customers in the self-serve portal. Default: visible.
StatusAutoLifecycle status: Draft, Active, or Inactive.

Feature Types

BillHive supports four feature types. The type determines how entitlement values are defined, displayed, and aggregated.

Switch

A simple on/off toggle. The feature is either available or unavailable.

  • Default Value: true or false
  • Aggregation: OR logic — if any source (plan or addon) enables it, the feature is enabled
  • Use cases: SSO, White-labeling, Advanced Analytics, Custom Branding

Quantity

A numeric value representing a count or limit.

  • Default Quantity: An integer value
  • Unit of Measurement: Label describing what is counted (e.g., “API calls”, “users”, “projects”)
  • Aggregation: SUM — values from plan and addons are added together
  • Use cases: API calls per month, number of team members, storage in GB

Range

A min/max bounded value, useful for limits that vary within defined boundaries.

  • Min Value / Max Value: Integer bounds
  • Unit of Measurement: Label for the range (e.g., “requests/min”, “GB”)
  • Aggregation: SUM of min and max values, capped by the feature’s maximum
  • Use cases: API rate limits, bandwidth allocation, concurrent connections

Custom

Named levels represented as text labels, ordered from lowest to highest.

  • Custom Levels: An ordered array of level names (e.g., [“Email Support”, “Chat Support”, “Phone Support”, “Priority Support”])
  • Default Value: One of the defined levels
  • Aggregation: HIGHEST — the highest-positioned level wins
  • Use cases: Support tiers, service levels, priority classes

Feature Statuses

StatusDescription
DraftInitial state. The feature can be edited freely. Entitlements can be configured but do not take effect for subscribers.
ActiveThe feature is live. Entitlements are in effect and applied to subscriptions.
InactiveThe feature is disabled. Existing entitlements remain but cannot be modified. Can be reactivated.

Feature Limits

  • Maximum 400 features per tenant.
  • Feature Key max length: 100 characters.
  • Custom levels max length: 200 characters each.