The Pool Items API lets you query which catalog items a member can access through their active benefit programs. Each pool item is a specific product, class, post, or other catalog item that's been provisioned for a member, contact, or visitor as part of a benefit in their pool. Use this API together with other Wix Benefit Programs APIs.
With the Pool Items API, you can:
A pool item is the per-beneficiary copy of a catalog item that's been assigned to a benefit inside a beneficiary's pool. Pool items collapse the multi-step lookup that the underlying APIs would otherwise require. Instead of querying Programs, then Pools, then Items and joining the results, a single Query Pool Items call returns the per-member list directly.
Each pool item carries a providerAppId, category, and externalId triple that identifies the underlying catalog item, such as a Wix Stores product or a Wix Bookings service. Use these fields, or the pre-computed itemSearchKey, to map a pool item back to its source catalog. itemSearchKey has the format providerAppId/category/externalId. You can construct it manually with a / separator. Filtering by itemSearchKey is more efficient than composing 3 separate filter conditions.
Learn more about benefit programs components and lifecycle.
When you request the BENEFIT enrichment via the fields parameter, benefitInfo.price is populated with the cost to consume the benefit, expressed in credits. Credits are a configurable unit defined on the parent pool definition: each pool definition declares a credit configuration that includes a unit type. benefitInfo.price is absent when the benefit doesn't use credit-based pricing.
It's important to note the following points before starting to code:
beneficiary.memberId filter to scope results to a specific beneficiary. Member callers don't need this filter, as the response is automatically scoped to the calling member.beneficiary field on each pool item.benefitKey. Use poolId together with benefitKey to identify a benefit.itemSetId on each pool item, but not the developer-facing identifier. Use poolId and benefitKey instead.providerAppId on each pool item.class, post, or group.providerAppId, category, and externalId with /. Use it as a single filter field when querying pool items by item reference.point or token). Used in benefitInfo.price when the benefit has credit-based pricing.