Skip to main content
Limited Release
A feature defines what customers can access and do in your application. Each feature connects the following:
  • Pricing plans through entitlements that assign privilege values for each plan level.
  • Subscriptions through entitlement overrides that customize access for individual customers.
How features, privileges, and entitlements work together
  • Your feature defines what customers can access. For example, you create an API access feature.
  • Privileges set specific limits and permissions within each feature. For example, you add a rate_limit privilege to the API access feature to control the number of requests.
  • When you add a feature to a plan, you set specific values for each privilege. These values are called entitlements. For example, you set the rate_limit privilege to 1,000 requests per day in your Basic plan and 100,000 requests per day in your Premium plan.
  • Subscription entitlements override plan entitlements for individual customers. For example, you set a specific customer’s rate_limit to 50,000 requests per day even though they are on the Basic plan.

1. Understand feature configuration

Before you create a feature, you can plan these configuration details for your application. Then, you can make a POST call to the Create feature endpoint to send the information to PayPal. Feature identification
  • Name: Choose a human-readable identifier that describes the feature.
  • Code: Create a unique identifier you use in API calls. Ensure this code is unique across all features in your account.
  • Description: Provide details about what the feature enables or restricts.
Privilege identification
  • Name: Choose a human-readable identifier that describes the privilege.
  • Code: Create a unique identifier for the privilege within the feature.

2. Create features

You can create a basic feature, or include privileges to define specific access controls. Use a valid access token and make a POST call to the /v1/commerce/billing/features endpoint. Include the following parameters: For information on all parameters, see API reference.

Feature without privileges

You can create a basic feature without any privileges.

Feature with privileges

You can create a feature with associated privileges to enable fine-grained control. Basic privileges You can use basic privilege types when you want to define simple access controls for features.
Fixed-option privileges Set value_type to SELECT when you want customers to choose from a predefined list of options. When you use SELECT, ensure you also provide a config.select_options array with the available choices.
A successful call returns a 201 Created response. The response includes the following parameters: For information on all parameters, see API reference.

3. Manage features

You can update feature configurations when adding new privileges, modifying existing privilege settings, or changing feature descriptions. To review a feature’s current configuration, make a GET call to the /v1/commerce/billing/features/ endpoint.