---
title: "Get list of valid Store Product Promo Codes."
method: PUT
path: "/Ams/{ClientID}/StoreProductPromoCodes/validate-list"
tags: ["Ams"]
---

# Get list of valid Store Product Promo Codes.

`PUT /Ams/{ClientID}/StoreProductPromoCodes/validate-list`

## Request

- Base URL: `https://ws.yourmembership.com`
- URL: `https://ws.yourmembership.com/Ams/{ClientID}/StoreProductPromoCodes/validate-list`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/yourmembership/apis/ym-rest-services/docs/Ams/:ClientID/StoreProductPromoCodes/validate-list/put.ts> (a function with typed inputs; its response is checked against the schema)

Get list of valid Store Product Promo Codes.

## Path parameters

- `ClientID` integer, required

## Request body `application/x-www-form-urlencoded`

- object
  - `PromoCode` string
  - `ValidationMode` string
  - `Invoice` string
  - `UsingRedis` boolean
  - `AppInitTime` string, date-time
  - `ServerID` string
  - `ResponseStatus` string
  - `BypassCache` boolean
  - `DateCached` string, date-time
  - `Device` string

## Response `200`

Success

- StoreProductPromoCodesResponse: StoreProductPromoCodesResponse
  - `StoreProductPromoCodesList` StoreProductPromoCode[]
    - `ProductsList` integer[]
    - `PromoCodeID` integer
    - `AppliesToWholeCart` integer
    - `IsAutoPromoCode` boolean
    - `IsPercentDiscountProduct` boolean
    - `IsPercentDiscountShipping` boolean
    - `Expires` string, date-time
    - `Start` string, date-time
    - `DiscountProduct` number, double
    - `DiscountShipping` number, double
    - `DiscountThreshold` number, double
    - `SchoolID` integer
    - `GLCode` string
    - `QBClass` string
    - `PromoCodeName` string
    - `Private` integer
    - `UsageLimit` integer
    - `UsageOnePerUser` boolean
  - `ValidationDescription` string
  - `PromoCode` string
  - `ValidationMode` string
  - `Invoice` Invoice: Invoice
    - `date` string, date-time
    - `shippingMethodId` integer
    - `shippingMethodName` string
    - `shippingTax` number, double
    - `shippingTotal` number, double
    - `taxRate` number, double
    - `taxTotal` number, double
    - `totalAmount` number, double
    - `comment` string
    - `person` Person: Person
      - `id` integer
      - `organization` string
      - `firstName` string
      - `lastName` string
      - `middleName` string
      - `nameSuffix` string
      - `emailAddress` string
      - `primaryAddress` Address: Address
        - `firstName` string
        - `lastName` string
        - `organization` string
        - `address1` string
        - `address2` string
        - `city` string
        - `location` string
        - `postalCode` string
        - `countryCode` string
        - `countryName` string
        - `areaCode` string
        - `phone` string
      - `username` string
      - `password` string
      - `isMember` boolean
      - `expirationDate` string
      - `currentMembershipAllowsMultipleOpenInvoices` boolean
      - `currentMembershipInvoiceIsOpen` boolean
      - `currentMembershipInvoiceAwaitingAutoBill` boolean
      - `UsingRedis` boolean
      - `AppInitTime` string, date-time
      - `ServerID` string
      - `ClientID` integer
      - `ResponseStatus` ResponseStatus: ResponseStatus
        - `ErrorCode` string
        - `Message` string
        - `StackTrace` string
        - `Errors` ResponseError[]
          - `ErrorCode` string
          - `FieldName` string
          - `Message` string
          - `Meta` DictionaryStringString: Dictionary<String,String>
        - `Meta` DictionaryStringString: Dictionary<String,String>
      - `BypassCache` boolean
      - `DateCached` string, date-time
      - `Device` string
    - `shippingAddress` Address: Address
      - `firstName` string
      - `lastName` string
      - `organization` string
      - `address1` string
      - `address2` string
      - `city` string
      - `location` string
      - `postalCode` string
      - `countryCode` string
      - `countryName` string
      - `areaCode` string
      - `phone` string
    - `invoiceItems` InvoiceItem[]
      - `itemTypeId` string
      - `id` integer
      - `shippingCost` number, double
      - `description` string
      - `customDescription` string
      - `taxRate` number, double
      - `taxGLCode` string
      - `quantity` number, double
      - `amount` number, double
      - `isProRated` boolean
      - `GLCode` string
      - `isModifier` boolean
      - `isDuesRule` boolean
      - `taxQBClass` string
      - `QBClass` string
      - `sku` string
      - `taxable` boolean
      - `autoPromoCodeAmount` number, double
      - `autoPromoCodeTitle` string
      - `salesDiscount` number, double
      - `AutoPromoCode` AutoPromoCode: AutoPromoCode
        - `Id` integer
        - `Title` string
        - `IsPercent` boolean
        - `Discount` number, double
    - `isNewMember` boolean
    - `taxGLCode` string
    - `taxQBClass` string
    - `shippingGLCode` string
    - `shippingQBClass` string
  - `UsingRedis` boolean
  - `AppInitTime` string, date-time
  - `ServerID` string
  - `ClientID` integer
  - `ResponseStatus` ResponseStatus: ResponseStatus
    - `ErrorCode` string
    - `Message` string
    - `StackTrace` string
    - `Errors` ResponseError[]
      - `ErrorCode` string
      - `FieldName` string
      - `Message` string
      - `Meta` DictionaryStringString: Dictionary<String,String>
    - `Meta` DictionaryStringString: Dictionary<String,String>
  - `BypassCache` boolean
  - `DateCached` string, date-time
  - `Device` string

---

[API](https://skmtc.dev/yourmembership/apis/ym-rest-services.md) - [All operations](https://skmtc.dev/yourmembership/apis/ym-rest-services/llms.txt) - [OpenAPI document](https://skmtc.dev/yourmembership/apis/ym-rest-services/revisions/8d8a2e7e7d56?raw)
