Request
Each item names an offer, or a product and variant. With a product and variant, Pure picks the best live offer.
quantity is 1 to 999,999. An item with both an offerId and a productId is rejected with 400.
An item the offers cannot fill fails the quote with 400 invalid_request. The message names the item, for example items[0] could not be added: Requested quantity exceeds available quantity.
Response
Optionals
Each entry inoptionals prices the add-on both ways, so you can compare before you choose.
To change optionals, create a new quote.
Instant payout requires a subtotal of at least $3,500 and enough instant-payout credit. Eligibility rules: Optionals.
Issues
Each issue is{ kind, reason, message }, using the same values as errors.
A selected optional that is unavailable, or a promotion code that does not apply, is left out of payout and listed in issues. Execute places the sale without it.
Any other issue blocks execute. Fix it, then create a new quote.
Execute
Execute places the sale when the live payout is at least the quotedpayout. A lower live payout fails with 409 requote and details.reason quote_total_mismatch.
Execute does not check or change your own listings.
After execute
PollGET /orders/get-purchase-order/v1?id={orderId} for shippingLabelUrl. It is null until fulfillment generates the label.