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

# Retrieve shopping cart for a lead

> Returns the shopping cart with all items and related amounts for the specified lead. Requires verification token for authentication.



## OpenAPI

````yaml /openapi/shopping-openapi.json get /shopping/{portfolio}/v1/shopping-cart/unitGroup/{unitGroupUuid}/lead/{leadUuid}
openapi: 3.0.0
info:
  title: Monument Shopping API
  description: Monument Shopping API
  version: '1.0'
  contact: {}
servers:
  - url: https://public-api.prd.monument.io
    description: Production
  - url: https://public-api.stg.monument.io
    description: Staging
security: []
tags:
  - name: Facilities
    description: Facility listing, details, and configuration
  - name: Leads
    description: Lead creation, updates, status, and pre-existing tenant validation
  - name: Shopping Cart
    description: Cart operations and access plans
  - name: Unit Groups
    description: Unit group details and taxes
  - name: Units
    description: Unit and gate access code retrieval
  - name: Payments
    description: Payment profiles and processor information
  - name: Brands
    description: Branding configuration and brand-scoped facilities
  - name: Coverages
    description: Coverage options and private coverage info
  - name: Leases
    description: Lease signing redirects
  - name: Organizations
    description: Portfolio organization information
  - name: Lead Marketing Sources
    description: Marketing source listing
paths:
  /shopping/{portfolio}/v1/shopping-cart/unitGroup/{unitGroupUuid}/lead/{leadUuid}:
    get:
      tags:
        - Shopping Cart
      summary: Retrieve shopping cart for a lead
      description: >-
        Returns the shopping cart with all items and related amounts for the
        specified lead. Requires verification token for authentication.
      operationId: PublicApiShoppingCartController_findOne
      parameters:
        - name: leadUuid
          required: true
          in: path
          schema:
            type: string
        - name: verifyToken
          required: true
          in: query
          schema:
            type: string
        - name: paymentType
          required: false
          in: query
          description: >-
            Optional. When set to "ACH", the cart response will not include a
            credit-card surcharge. Omit to assume credit-card (default).
          schema:
            enum:
              - ACH
            type: string
        - name: unitGroupUuid
          required: true
          in: path
          schema:
            type: string
            format: uuid
        - in: header
          required: true
          name: x-api-key
          schema:
            example: monument-2230012-2312321
            description: >-
              Api key required to authenticate your request. Please reach out to
              monument for a key.
        - in: path
          required: true
          name: portfolio
          schema:
            example: abc_selfstorage
      responses:
        '200':
          description: The shopping cart for the provided lead, with all related amounts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetLeadShoppingCartDto'
        '403':
          description: Facility not allowed for this API key
        '404':
          description: Lead not found
components:
  schemas:
    GetLeadShoppingCartDto:
      type: object
      properties:
        dateDesiredMoveIn:
          format: date-time
          type: string
          nullable: true
        items:
          nullable: false
          type: array
          items:
            $ref: '#/components/schemas/GetShoppingCartItemsDto'
        surcharge:
          nullable: true
          description: >-
            Optional surcharge summary used by the rental flow. Only present on
            responses produced by the rental-flow path; legacy callers may
            safely ignore this field.
          allOf:
            - $ref: '#/components/schemas/SurchargeSummaryDto'
      required:
        - items
    GetShoppingCartItemsDto:
      type: object
      properties:
        leadUuid:
          type: string
        shoppingCartItemUuid:
          type: string
          format: uuid
        itemType:
          $ref: '#/components/schemas/ServicesAndFeesDto'
        dateDesiredMoveIn:
          format: date-time
          type: string
        amountInPennies:
          type: number
        preProrationAmountInPennies:
          type: number
        billingPeriod:
          type: number
      required:
        - leadUuid
        - itemType
    SurchargeSummaryDto:
      type: object
      properties:
        isApplicable:
          type: boolean
          description: Whether the surcharge line item should be displayed in the cart.
        effectivePercentage:
          type: number
          nullable: true
          description: >-
            Configured surcharge percentage (e.g., 3, 2.5, 1.765). Null when the
            surcharge is not applicable.
        surchargeAmountInPennies:
          type: number
          description: >-
            Surcharge amount in pennies, rounded with Math.round to match
            existing tax math.
      required:
        - isApplicable
        - effectivePercentage
        - surchargeAmountInPennies
    ServicesAndFeesDto:
      type: object
      properties:
        itemTypeUuid:
          type: string
        itemTypeName:
          type: string
        description:
          type: string
        isTaxable:
          type: boolean
        category:
          type: string
          nullable: true
          enum:
            - SERVICES
            - FEES
            - MERCHANDISE
            - COVERAGE
            - ACCESS_HOURS_SERVICE
            - RENT
            - AUCTION
            - AUCTION_FEES
        isRecurring:
          type: boolean
        isRequiredAtMoveIn:
          type: boolean
        isRequiredAtTransfer:
          type: boolean
        isReadOnly:
          type: boolean
        isActive:
          type: boolean
        numberOfFacilities:
          type: number
          nullable: true
        amount:
          type: string
          nullable: true
        amountInPennies:
          type: number
        taxAmountInPennies:
          type: number
        entityAttributeOrganizationUuid:
          type: string
        entityAttributeOrganizationDescription:
          type: string
        feeType:
          $ref: '#/components/schemas/FeeType'
          nullable: true
        fixedFeeAmount:
          type: number
          nullable: true
        feePercentage:
          type: number
          nullable: true
        isProratedAtMoveIn:
          type: boolean
        fullNonProratedAmount:
          type: number
        invoiceGenerationType:
          type: string
          description: Type of invoice generation
          enum:
            - ANNIVERSARY
            - FIRST_OF_MONTH
        glAccountTypeUuid:
          type: string
        promotion:
          deprecated: true
          allOf:
            - $ref: '#/components/schemas/Promotion'
        promotions:
          type: array
          items:
            $ref: '#/components/schemas/Promotion'
        feeConditions:
          type: array
          items:
            $ref: '#/components/schemas/FeeConditionResponseDto'
      required:
        - itemTypeUuid
        - itemTypeName
        - description
        - isTaxable
        - category
        - isRecurring
        - isRequiredAtMoveIn
        - isRequiredAtTransfer
        - isReadOnly
        - isActive
        - numberOfFacilities
        - amount
        - isProratedAtMoveIn
    FeeType:
      type: string
      enum:
        - PERCENTAGE
        - FIXED_AMOUNT
        - UNIT_RENT
        - INSURANCE_PREMIUM
        - AUCTION
        - CONDITIONAL
    Promotion:
      type: object
      properties:
        promotionUuid:
          type: string
        promotionName:
          type: string
        discountType:
          type: string
        discountAmountInPennies:
          type: number
        internalNote:
          type: string
      required:
        - promotionUuid
        - promotionName
        - discountType
        - discountAmountInPennies
    FeeConditionResponseDto:
      type: object
      properties:
        itemTypeFeeConditionUuid:
          type: string
        sortOrder:
          type: number
        amountType:
          $ref: '#/components/schemas/FeeConditionAmountType'
        rentRangeFrom:
          type: number
        rentRangeTo:
          type: number
        rateThreshold:
          type: number
      required:
        - itemTypeFeeConditionUuid
        - sortOrder
        - amountType
        - rentRangeFrom
        - rentRangeTo
        - rateThreshold
    FeeConditionAmountType:
      type: string
      enum:
        - FIXED
        - PERCENT

````