GET /api/v2/buyer/discovery/{discoveryId}/products
Returns the products currently selected in the session, with their per-product budget allocations and budget context. This is the selected-products cart you build with Add products and Apply proposal — distinct from the browsable discovery results. If totalProducts is 0, no product has been selected yet; it does not mean the discovery returned zero products or that results were lost.
Request
Parameters
Response
budgetContext.remainingBudget is the session budget minus the sum of selected budget allocations. An empty products array means nothing has been added yet. To re-read what discovery returned, use Browse products, which keeps results available in its cache for four hours; after expiry, offer to run discovery again rather than saying results were lost.
Errors
-
404 NOT_FOUND—discoveryIddoes not exist or is not visible to the authenticated account. -
409 BUYER_SETUP_REQUIRED— the buyer account has no confirmed, non-platform operator identity. The structured details arereason: "missing_operator_identity",readinessCheck: "operator_identity",setupStep: 1, andsetupPage: "buyer_setup". Open Buyer Setup, confirm the operator domain and account scope, then retry. Apostra fails closed and does not substituteinterchange.ioas the buyer operator. If a legacy profile explicitly contains the platform domain, the same code is returned withdetails.reason: "platform_operator_not_allowed". Complete Buyer Setup with your organization’s operator domain; do not retry with the platform domain.
Related
Discovery overview
Sessions and selection model
Add products
Add products to the selection
Remove products
Drop products from the selection
Apply proposal
Accept a seller’s full allocation