The Pool Definition Items API allows you to manage which catalog items are assigned to the benefits of a pool definition, a template that defines what subscribers get under a Pricing Plan. Benefits are the specific things subscribers can access within a pool definition, each identified by a benefitKey. Use this API together with other Wix Benefit Programs APIs. Learn more about benefit programs components and lifecycle.
With the Pool Definition Items API, you can:
A pool definition item is the assignment of a catalog item to a benefit in a pool definition. The benefit is identified by a poolDefinitionId and benefitKey pair. There's 1 pool definition item for each combination of pool definition and item.
When items are added to or removed from a benefit, the change also applies to the pools of beneficiaries enrolled in programs based on the pool definition.
You don't create, update, or delete pool definition items directly. They're kept in sync with the underlying pool definitions and items:
Query Pool Definition Items doesn't return removed pool definition items.
Use Add Items to Benefit to add catalog items to a benefit, and Remove Items from Benefit to remove them. Both methods require the poolDefinitionId and benefitKey that identify the target benefit. You can retrieve these values by calling Get Pool Definition or Query Pool Definitions.
These methods encapsulate the integration between the Items API and the Pool Definitions API. They create or delete the underlying items in the benefit's item set, and the corresponding pool definition items are then created or removed automatically.
When you call Add Items to Benefit, only the externalId and category fields of each item reference are taken from your request. The providerAppId, namespace, and itemSetId of the resulting pool definition item are always inherited from the benefit's configuration in the pool definition.
There's no limit on the total number of items that can be assigned to a single benefit. Each method call supports up to 100 items.
Both methods use a partial success model. An item that's already assigned to the benefit, or an item reference that doesn't match any assigned item, returns a per-item failure while the other items are processed. Check bulkActionMetadata for aggregate counts and each result's itemMetadata for individual outcomes.
By default, each pool definition item includes only IDs, item references, and the IDs of the program definitions that include its pool definition. To include display details from the related entities, pass 1 or more values in the fields parameter of Query Pool Definition Items:
| Value | Populates | Includes |
|---|---|---|
POOL_DEFINITION | poolDefinition | Pool definition display name, description, and credit configuration. |
PROGRAM_DEFINITION | programDefinitions | Display name and description of each program definition. |
BENEFIT | benefitInfo | Benefit display name, description, and credit price. |
ITEM | itemInfo | Item display name. |
Request only the enrichments you need. Each one adds lookups to the related entities. If the related data isn't available, the enrichment details may be omitted from the response. The base fields of each pool definition item, including the id and externalId of each program definition, are always returned.
It's important to note the following points before starting to code:
poolDefinitionId and benefitKey of the target benefit. Retrieve these from the Pool Definitions API.itemSearchKey. This is a pre-computed field with the format providerAppId/category/externalId, which you can construct yourself. Filtering by itemSearchKey is more efficient than filtering by providerAppId, category, and externalId in 3 separate conditions.providerAppId, category, and externalId.benefitKey.poolDefinitionId to identify the target benefit when calling Add Items to Benefit or Remove Items from Benefit.class or booking. Defaults to an empty string if not specified.providerAppId, category, and externalId with /. Use it as a single filter field when querying pool definition items by item search key.Last updated: 21 October 2026