Benefit programs are made up of many parts. This article breaks down benefit programs into key parts and explains how they relate to each other.
The following image represents a simple example of a benefits program, which you may want to refer back to while reading this article.

Items are rewards, products, or services provided by other apps. For example, an item could be a product provided by Wix Stores. Items are given to a beneficiary when a benefit is redeemed.
A benefit item references an item and is assigned to 1 benefit using the benefit's item set ID.
Manage benefit items using the Items API.
Benefits are configurations of which items can be redeemed for a specified number of credits.
The main parts that make up a benefit are:
itemSetId to assign the benefit item to the benefit. All items assigned to the same benefit must be provided by the same app.You can also define other settings for a benefit, such as a display name.
Benefits are defined in pool definitions.
Think of pool definitions as templates for future pools.
The main parts that make up a pool definition are:
You can also define other settings for a pool definition, such as a display name.
Manage pool definitions using the Pool Definitions API.
Think of program definitions as templates for future programs.
A program definition contains pool definitions.
programDefinitionIds property.Manage program definitions using the Program Definitions API.
A pool is a list of benefits that its beneficiary can redeem. It also contains settings that determine how renewing a pool affects its balance.
A pool is created from a pool definition. A pool contains the same benefits and has the same credit settings as the pool definition it was created from. A pool also has:
ACTIVE.Manage pool definitions using the Pools API.
A pool item represents a single item that a beneficiary can access through a benefit in one of their pools. There's 1 pool item for each combination of pool and item.
Pool items are kept in sync with their pools and items automatically. They're created when a pool is provisioned or an item is added to a benefit, and removed when the pool ends or is deleted, the benefit is removed, or the item is deleted. You can't create or update pool items directly.
Retrieve pool items using the Pool Items API.
A program is a list of pools with the same beneficiary that are managed together.
A program is similar to a program definition, but it also has:
ACTIVE.Provisioning a program creates a program based on one of the following:
Notes:
Manage programs using the Programs API.
Last updated: 21 October 2026