> ## Documentation Index
> Fetch the complete documentation index at: https://docs.collectpure.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Preview sell promotion

> Preview how a promotion code affects sell quote pricing without committing. Loads the current checkout session, then calls the port promotion preview.

**Requires role:** stytch_admin

**Rate limit:** 120 requests burst, 60 requests/minute sustained.



## OpenAPI

````yaml /api-reference/openapi.json post /execution/v2/sell/quotes/{quoteId}/promotion-preview
openapi: 3.1.0
info:
  title: Pure Public API
  description: >-
    Public API for accessing Pure marketplace data including products, spot
    prices, and more.
  version: 2.0.0
  license:
    name: Proprietary
servers:
  - url: https://api.collectpure.com/
    description: Production server
  - url: https://sandbox.api.collectpure.com/
    description: Sandbox server
security:
  - apiKey: []
tags:
  - name: Root
    description: API information and status
  - name: Products
    description: >-
      Enriched product endpoints — full product details, search, and catalog
      metadata
  - name: Listings
    description: Listing management — create, update, deactivate, list, and view statistics
  - name: Offers
    description: Offer management — create, update, deactivate, list, and view statistics
  - name: Orders
    description: Purchase and sale order management for authenticated organizations
  - name: Marketplace
    description: Spot prices, marketplace statistics, shipping dates, and sitemap data
  - name: Organization
    description: Organization details and settings management
  - name: Inventory
    description: >-
      Inventory management — view items and aggregate statistics for your
      organization
  - name: Vault
    description: >-
      Vault shipping — intake shipments, holdings, fulfillment, and outbound
      requests
  - name: Products (Legacy)
    description: Legacy product endpoints — use the enriched Products endpoints instead
  - name: Listings (Legacy)
    description: Legacy listing endpoints — use Orderbook endpoints instead
  - name: Offers (Legacy)
    description: Legacy offer endpoints — use Orderbook endpoints instead
  - name: Execution - Buy
    description: Buy execution — quotes, payment methods, and order placement
  - name: Execution - Sell
    description: Sell execution — quotes, payout methods, and order placement
  - name: Execution
    description: Execution meta — trading status and shared execution resources
  - name: Sandbox
    description: >-
      Sandbox-only endpoints for discovering test data — not available in
      production
paths:
  /execution/v2/sell/quotes/{quoteId}/promotion-preview:
    post:
      tags:
        - Execution - Sell
      summary: Preview sell promotion
      description: >-
        Preview how a promotion code affects sell quote pricing without
        committing. Loads the current checkout session, then calls the port
        promotion preview.


        **Requires role:** stytch_admin


        **Rate limit:** 120 requests burst, 60 requests/minute sustained.
      parameters:
        - schema:
            type: string
          in: path
          name: quoteId
          required: true
          description: The quote ID (cart ID) to preview a promotion against
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                promotionCode:
                  type: string
                  description: The promotion code to preview
                selectedOptionalIds:
                  description: Optional addon IDs currently selected
                  type: array
                  items:
                    type: string
              required:
                - promotionCode
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    oneOf:
                      - type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - applied
                          appliedCode:
                            type: string
                          totalDiscount:
                            type: number
                            description: Total discount in cents
                          appliedPromotions:
                            type: array
                            items:
                              type: object
                              properties:
                                promotionId:
                                  type: string
                                promotionType:
                                  type: string
                                category:
                                  type: string
                                  enum:
                                    - shipping
                                    - order
                                    - fee_reprice
                                label:
                                  type: string
                                discountAmount:
                                  type: number
                                  description: Discount amount in cents
                                params:
                                  type: object
                                  propertyNames:
                                    type: string
                                  additionalProperties: {}
                                sourceType:
                                  type: string
                                  enum:
                                    - promotion_code
                                    - referral_grant
                                sourceCode:
                                  type: string
                                sourceCodeId:
                                  type: string
                                sourceGrantId:
                                  type: string
                              required:
                                - promotionId
                                - promotionType
                                - category
                                - label
                                - discountAmount
                                - params
                                - sourceType
                              additionalProperties: false
                          quote:
                            type: object
                            properties:
                              quoteId:
                                type: string
                                description: >-
                                  The quote ID -- use this to execute or
                                  retrieve the quote
                              expiresAt:
                                type: string
                                description: >-
                                  ISO 8601 timestamp when this pricing snapshot
                                  expires
                              refreshedAt:
                                type: string
                                description: >-
                                  ISO 8601 timestamp when this pricing snapshot
                                  was computed
                              lineItems:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                    quantity:
                                      type: number
                                    price:
                                      anyOf:
                                        - type: number
                                        - type: 'null'
                                    status:
                                      type: string
                                    disabled:
                                      type: boolean
                                    error:
                                      anyOf:
                                        - type: string
                                        - type: 'null'
                                    product:
                                      type: object
                                      properties:
                                        sku:
                                          type: string
                                        title:
                                          type: string
                                        fulfillmentDays:
                                          type: number
                                          description: Estimated fulfillment days
                                      required:
                                        - sku
                                        - title
                                        - fulfillmentDays
                                      additionalProperties: false
                                    variant:
                                      type: object
                                      properties:
                                        title:
                                          type: string
                                      required:
                                        - title
                                      additionalProperties: false
                                    offer:
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                        productId:
                                          type: string
                                        variantId:
                                          type: string
                                        price:
                                          anyOf:
                                            - type: number
                                            - type: 'null'
                                        quantity:
                                          type: number
                                        spotPremium:
                                          anyOf:
                                            - type: number
                                            - type: 'null'
                                          description: Premium over spot as a percentage
                                        spotPremiumDollar:
                                          anyOf:
                                            - type: number
                                            - type: 'null'
                                          description: Premium over spot in dollars
                                      required:
                                        - id
                                        - productId
                                        - variantId
                                        - price
                                        - quantity
                                        - spotPremium
                                        - spotPremiumDollar
                                      additionalProperties: false
                                  required:
                                    - id
                                    - quantity
                                    - price
                                    - status
                                    - disabled
                                    - error
                                    - product
                                    - variant
                                    - offer
                                  additionalProperties: false
                              fees:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                    label:
                                      type: string
                                    amount:
                                      type: number
                                    rate:
                                      type: number
                                  required:
                                    - id
                                    - label
                                    - amount
                                  additionalProperties: false
                              optionals:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                    title:
                                      type: string
                                    description:
                                      type: string
                                    fee:
                                      type: number
                                      description: Fee in cents
                                    selected:
                                      type: boolean
                                      description: >-
                                        Whether this optional is currently
                                        selected
                                    enabled:
                                      type: boolean
                                      description: >-
                                        Whether this optional is available for
                                        selection
                                    disabledReason:
                                      description: Why this optional is unavailable
                                      type: string
                                    disclaimer:
                                      type: object
                                      properties:
                                        label:
                                          type: string
                                        url:
                                          type: string
                                      required:
                                        - label
                                        - url
                                      additionalProperties: false
                                  required:
                                    - id
                                    - title
                                    - description
                                    - fee
                                    - selected
                                    - enabled
                                  additionalProperties: false
                                description: >-
                                  Available add-on services (e.g. instant
                                  payout)
                              subtotal:
                                type: number
                                description: Subtotal in cents
                              total:
                                type: number
                                description: Total payout in cents
                            required:
                              - quoteId
                              - expiresAt
                              - refreshedAt
                              - lineItems
                              - fees
                              - optionals
                              - subtotal
                              - total
                            additionalProperties: false
                        required:
                          - status
                          - appliedCode
                          - totalDiscount
                          - appliedPromotions
                          - quote
                        additionalProperties: false
                      - type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - failed
                          attemptedCode:
                            type: string
                          error:
                            type: object
                            properties:
                              code:
                                type: string
                              message:
                                type: string
                            required:
                              - code
                              - message
                            additionalProperties: false
                          quote:
                            anyOf:
                              - type: object
                                properties:
                                  quoteId:
                                    type: string
                                    description: >-
                                      The quote ID -- use this to execute or
                                      retrieve the quote
                                  expiresAt:
                                    type: string
                                    description: >-
                                      ISO 8601 timestamp when this pricing
                                      snapshot expires
                                  refreshedAt:
                                    type: string
                                    description: >-
                                      ISO 8601 timestamp when this pricing
                                      snapshot was computed
                                  lineItems:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                        quantity:
                                          type: number
                                        price:
                                          anyOf:
                                            - type: number
                                            - type: 'null'
                                        status:
                                          type: string
                                        disabled:
                                          type: boolean
                                        error:
                                          anyOf:
                                            - type: string
                                            - type: 'null'
                                        product:
                                          type: object
                                          properties:
                                            sku:
                                              type: string
                                            title:
                                              type: string
                                            fulfillmentDays:
                                              type: number
                                              description: Estimated fulfillment days
                                          required:
                                            - sku
                                            - title
                                            - fulfillmentDays
                                          additionalProperties: false
                                        variant:
                                          type: object
                                          properties:
                                            title:
                                              type: string
                                          required:
                                            - title
                                          additionalProperties: false
                                        offer:
                                          type: object
                                          properties:
                                            id:
                                              type: string
                                            productId:
                                              type: string
                                            variantId:
                                              type: string
                                            price:
                                              anyOf:
                                                - type: number
                                                - type: 'null'
                                            quantity:
                                              type: number
                                            spotPremium:
                                              anyOf:
                                                - type: number
                                                - type: 'null'
                                              description: Premium over spot as a percentage
                                            spotPremiumDollar:
                                              anyOf:
                                                - type: number
                                                - type: 'null'
                                              description: Premium over spot in dollars
                                          required:
                                            - id
                                            - productId
                                            - variantId
                                            - price
                                            - quantity
                                            - spotPremium
                                            - spotPremiumDollar
                                          additionalProperties: false
                                      required:
                                        - id
                                        - quantity
                                        - price
                                        - status
                                        - disabled
                                        - error
                                        - product
                                        - variant
                                        - offer
                                      additionalProperties: false
                                  fees:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                        label:
                                          type: string
                                        amount:
                                          type: number
                                        rate:
                                          type: number
                                      required:
                                        - id
                                        - label
                                        - amount
                                      additionalProperties: false
                                  optionals:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                        title:
                                          type: string
                                        description:
                                          type: string
                                        fee:
                                          type: number
                                          description: Fee in cents
                                        selected:
                                          type: boolean
                                          description: >-
                                            Whether this optional is currently
                                            selected
                                        enabled:
                                          type: boolean
                                          description: >-
                                            Whether this optional is available for
                                            selection
                                        disabledReason:
                                          description: Why this optional is unavailable
                                          type: string
                                        disclaimer:
                                          type: object
                                          properties:
                                            label:
                                              type: string
                                            url:
                                              type: string
                                          required:
                                            - label
                                            - url
                                          additionalProperties: false
                                      required:
                                        - id
                                        - title
                                        - description
                                        - fee
                                        - selected
                                        - enabled
                                      additionalProperties: false
                                    description: >-
                                      Available add-on services (e.g. instant
                                      payout)
                                  subtotal:
                                    type: number
                                    description: Subtotal in cents
                                  total:
                                    type: number
                                    description: Total payout in cents
                                required:
                                  - quoteId
                                  - expiresAt
                                  - refreshedAt
                                  - lineItems
                                  - fees
                                  - optionals
                                  - subtotal
                                  - total
                                additionalProperties: false
                              - type: 'null'
                        required:
                          - status
                          - attemptedCode
                          - error
                          - quote
                        additionalProperties: false
                required:
                  - success
                  - data
                additionalProperties: false
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header
      description: API key for authentication

````