{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/dynamicmonetization/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Resettable Line Items","description":"API documentation for Revenera products","siteUrl":"https://developer.revenera.com","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"resettable-line-items","__idx":0},"children":["Resettable Line Items"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Modern consumption-based and subscription licensing models are characterized by short, predictable renewal intervals, such as monthly or quarterly cycles. These models support usage-based pricing strategies, enabling organizations to align revenue with actual customer consumption rather than fixed, long-term entitlements."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Elastic Access enables these models by defining how and when consumed tokens are replenished for a given line item, using a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resetFrequency"]}," attribute. At each configured interval, the end customer's available tokens are automatically restored to a predefined entitlement quantity."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["By configuring a reset frequency for a line item, producers can establish predictable and repeatable consumption cycles, ensuring that usage is measured and managed within defined time-bound periods. This eliminates the need for manual entitlement adjustments and aligns with common industry practices, where consumption is tracked and billed over shorter intervals rather than across the full duration of a long-term subscription."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Resettable line items are therefore a key mechanism for implementing modern consumption-based licensing models, particularly those aligned with short billing cycles and usage-driven pricing."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-reset-frequency-works","__idx":1},"children":["How Reset Frequency Works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a reset frequency is configured for a line item:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The line item is assigned a fixed entitlement quantity of tokens."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Token consumption is tracked within a defined reset interval (for example, monthly or quarterly)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["At the end of each interval, the consumed quantity is cleared, and the available tokens are restored to the full entitlement amount for the next consumption cycle."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A new consumption cycle begins immediately after the reset point."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This ensures that token usage is bounded within each cycle, while enabling ongoing access without requiring manual replenishment or additional purchases."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"business-value","__idx":2},"children":["Business Value"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Resettable line items provide several important benefits:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enabling modern consumption models"]},"—Support offerings aligned with AI, SaaS, and usage-based pricing trends."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Predictable usage cycles"]},"—Customers receive a consistent allocation of tokens for each billing period."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Simplified operations"]},"—No manual top-ups or entitlement adjustments required after each consumption cycle."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Flexible commercial models"]},"—Producers can differentiate offerings through multiple reset cadences."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration-process","__idx":3},"children":["Configuration Process"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The reset frequency is defined as part of a license policy within the product catalog, rather than being configured individually at entitlement time. This enables producers to standardize selling models and ensure consistency across all customers and line items."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"where-to-configure-reset-frequency-for-a-line-item","__idx":4},"children":["Where to Configure Reset Frequency for a Line Item"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configuration of reset frequency for a line item depends on your back office:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["If you use FlexNet Operations as your back office"]},", you configure the reset frequency in a license model. For instructions on configuring the reset frequency in the Producer Portal, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.revenera.com/fno_CURRENT/producer/Content/helplibrary/opsLicenseModel.htm"},"children":["Creating a License Model"]}," in the FlexNet Operations User Guide."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Policy Inheritance"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Reset behavior defined at the license-model level is automatically inherited by all associated entitlements. Once a license model is applied to a product, all line items created using that model will consistently follow the defined reset frequency."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["If you use your own back-office system"]},", you configure the reset frequency when creating a line item, using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resetFrequency"]}," attribute in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/dynamicmonetization/apis/openapi-spec/line-items/addactivation"},"children":["/line-items"]}," API (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/dynamicmonetization/apis/openapi-spec/line-items/addactivation"},"children":["Map a line item to an instance"]},")."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"resetFrequency Attribute"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not confuse the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resetFrequency"]}," attribute for resettable line item with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resetFrequency"]}," parameter used for defining end customers' consumption limits (described in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/dynamicmonetization/guides/consumption-limits"},"children":["Consumption Limits"]},")."]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"examples-for-reset-frequency","__idx":5},"children":["Examples for Reset Frequency"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Producers can define different reset behaviors, including:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No Reset"]},"—Tokens are consumed until fully depleted, with no periodic replenishment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Monthly Reset"]},"—Tokens are replenished at the end of each month."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Quarterly Reset"]},"—Tokens are replenished at the end of each quarter."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"reset-frequency-constraints","__idx":6},"children":["Reset Frequency Constraints"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The maximum supported reset frequency for a line item is limited to one year. Accordingly, reset configurations must adhere to one of the following maximum values:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Up to 365 days"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Up to 52 weeks"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Up to 12 months"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Up to 1 year"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"behavior-of-resettable-line-items","__idx":7},"children":["Behavior of Resettable Line Items"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A line item's reset behavior controls how token usage is cleared and restarted over time."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["How Reset Works"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Once a start date is set, the used count is reset to zero after each reset interval, starting from the start date."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Resets continue at every expiration of the specified frequency (for example, monthly or quarterly)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Line Item Status"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the line item is made inactive, then reset will take place at the next start date occurrence, but no further consumption will take place."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the line item is made obsolete, then the reset stops, and the used count remains unchanged"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"reset-frequency-immutability","__idx":8},"children":["Reset Frequency Immutability"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ability to modify a line item's reset frequency depends on how Dynamic Monetization is managed."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"flexnet-operations-as-the-back-office","__idx":9},"children":["FlexNet Operations as the Back Office"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When FlexNet Operations is used as the back office system, reset frequency is defined in the license model. After a license model has been deployed, its reset frequency cannot be changed."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The reset frequency is treated as a contractual attribute of the entitlement. Changing it retroactively could alter the terms under which licenses were sold and is therefore not supported."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If a different reset frequency is required, producers must:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create a new license model with the required reset frequency."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create a new line item based on the new license model."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"danger","name":"Do not use REST API to modify line-item attributes"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Although the REST APIs can be used to modify license model attributes at the line-item level, these changes are not preserved. Any subsequent modification to the line item through FlexNet Operations will overwrite the API-based changes and restore the values defined by the license model."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"custom-back-office-systems","__idx":10},"children":["Custom Back Office Systems"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When producers use a custom back office, reset frequency is configured directly on the line item and can be modified using the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/dynamicmonetization/apis/openapi-spec/line-items/addactivation"},"children":["/line-items"]}," API with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Because the change is applied at the line-item level, it affects only the specific line item being updated."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resetFrequency"]}," attribute is changed:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Reset frequency removed"]},"—The usage count no longer resets and continues to grow from its current value."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Reset start date changed"]},"—The usage count resets on the next occurrence of the newly configured start date."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New start date in the past"]},"—The next reset occurs on the next scheduled occurrence of that date, even if it is only a short time away."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New start date far in the past"]},"—The reset schedule continues to follow the recurring cycle established by that date."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"key-api-endpoints-for-actions","__idx":11},"children":["Key API Endpoints for Actions"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Key API Endpoints"},"children":["Key API Endpoints"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Actions"},"children":["Actions"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/dynamicmonetization/apis/openapi-spec/line-items/getactivationsforinstance"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["GET /<version>/instances/{instanceId}/line-items"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Retrieve the current reset frequency for a line item."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/dynamicmonetization/apis/openapi-spec/line-items/addactivation"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["PUT /<version>/instances/{instanceId}/line-items"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Set the reset frequency for a line item."]}]}]}]}]}]},"headings":[{"value":"Resettable Line Items","id":"resettable-line-items","depth":1},{"value":"How Reset Frequency Works","id":"how-reset-frequency-works","depth":2},{"value":"Business Value","id":"business-value","depth":2},{"value":"Configuration Process","id":"configuration-process","depth":2},{"value":"Where to Configure Reset Frequency for a Line Item","id":"where-to-configure-reset-frequency-for-a-line-item","depth":3},{"value":"Examples for Reset Frequency","id":"examples-for-reset-frequency","depth":3},{"value":"Reset Frequency Constraints","id":"reset-frequency-constraints","depth":3},{"value":"Behavior of Resettable Line Items","id":"behavior-of-resettable-line-items","depth":2},{"value":"Reset Frequency Immutability","id":"reset-frequency-immutability","depth":2},{"value":"FlexNet Operations as the Back Office","id":"flexnet-operations-as-the-back-office","depth":3},{"value":"Custom Back Office Systems","id":"custom-back-office-systems","depth":3},{"value":"Key API Endpoints for Actions","id":"key-api-endpoints-for-actions","depth":2}],"frontmatter":{"seo":{"title":"Resettable Line Items"}},"lastModified":"2026-07-27T10:24:27.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/dynamicmonetization/guides/resettable-line-items","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}