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.
offerId and a productId fails with 400 validation_error.
An item the offers cannot fill fails the whole quote with 400 invalid_request. The message starts with the item’s index, for example items[0]: This offer cannot take that many units., and details.itemIndex holds the same index.
Payout method
A quote pays out with your organization’s default method unlesspayoutMethod names another. GET /organization/get-payout-methods/v1 lists each method, whether it is ready, and which is your default. A method that is not ready is listed in issues with reason payout_method_not_ready.
Connect a bank account on collectpure.com.
PATCH /organization/update-organization/v1 sets your default to electronic_check or plaid_ach, and sets electronic check details.
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.
GET /organization/get-payout-methods/v1 returns your credit in instantPayout.availableCredit, in cents.
Issues
Each issue is{ kind, reason, message }, with 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.
Poll
GET /orders/get-purchase-order/v1?id={orderId} for shippingLabelUrl. It is null until fulfillment generates the label.