# List products visible to this user

Only available to Buyer Users.

Endpoint: GET /me/products
Version: 1.0.447.36344
Security: OAuth2

## Query parameters:

  - `catalogID` (string)
    ID of the catalog.

  - `categoryID` (string)
    ID of the category.

  - `depth` (string)
    Indicates how deep down the category hierarchy to return results. Valid values are a number of 1 or greater, or 'all'. Relative to CategoryID if specified, otherwise top level of the Catalog. Default is 'all'.

  - `search` (string)
    Word or phrase to search for.

  - `searchOn` (array)
    Comma-delimited list of fields to search on.
    Enum: "ID", "ParentID", "Name", "Description"

  - `searchType` (string)
    Type of search to perform.
    Enum: "AnyTerm", "AllTermsAnyField", "AllTermsSameField", "ExactPhrase", "ExactPhrasePrefix"

  - `sortBy` (array)
    Comma-delimited list of fields to sort by.
    Enum: "Name", "ID", "ParentID", "!Name", "!ID", "!ParentID"

  - `page` (integer)
    Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation.

  - `pageSize` (integer)
    Number of results to return per page.

  - `filters` (object)
    An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???'

  - `sellerID` (string)
    ID of the seller.

## Response 200 fields (application/json):

  - `Items` (array)
    Example: [{"PriceSchedule":{"PriceBreaks":[{"Discounted":{"Price":0,"SalePrice":0,"SubscriptionPrice":0,"BundlePrice":0},"Quantity":0,"Price":0,"SalePrice":0,"SubscriptionPrice":0,"BundlePrice":0}],"Discount":{"ID":"","Description":"","DiscountBreaks":[{"Quantity":0,"Amount":0}],"ProductFilter":"","CatalogID":"","CategoryID":"","ProductID":"","xp":{}},"OwnerID":"","ID":"","Name":"","ApplyTax":false,"ApplyShipping":false,"MinQuantity":0,"MaxQuantity":0,"UseCumulativeQuantity":false,"RestrictedQuantity":false,"Currency":"","SaleStart":"2018-01-01T00:00:00-06:00","SaleEnd":"2018-01-01T00:00:00-06:00","IsOnSale":false,"xp":{}},"ID":"","ParentID":"","IsParent":false,"IsBundle":false,"Name":"","Description":"","QuantityMultiplier":0,"ShipWeight":0,"ShipHeight":0,"ShipWidth":0,"ShipLength":0,"Active":false,"SpecCount":0,"VariantCount":0,"ShipFromAddressID":"","Inventory":{"Enabled":false,"NotificationPoint":0,"VariantLevelTracking":false,"OrderCanExceed":false,"QuantityAvailable":0,"LastUpdated":"2018-01-01T00:00:00-06:00"},"DefaultSupplierID":"","AllSuppliersCanSell":false,"Returnable":false,"DateCreated":"2018-01-01T00:00:00-06:00","xp":{}}]

  - `Items.PriceSchedule` (object)
    Example: {"PriceBreaks":[{"Discounted":{"Price":0,"SalePrice":0,"SubscriptionPrice":0,"BundlePrice":0},"Quantity":0,"Price":0,"SalePrice":0,"SubscriptionPrice":0,"BundlePrice":0}],"Discount":{"ID":"","Description":"","DiscountBreaks":[{"Quantity":0,"Amount":0}],"ProductFilter":"","CatalogID":"","CategoryID":"","ProductID":"","xp":{}},"OwnerID":"","ID":"","Name":"","ApplyTax":false,"ApplyShipping":false,"MinQuantity":0,"MaxQuantity":0,"UseCumulativeQuantity":false,"RestrictedQuantity":false,"Currency":"","SaleStart":"2018-01-01T00:00:00-06:00","SaleEnd":"2018-01-01T00:00:00-06:00","IsOnSale":false,"xp":{}}

  - `Items.PriceSchedule.PriceBreaks` (array)
    Example: [{"Discounted":{"Price":0,"SalePrice":0,"SubscriptionPrice":0,"BundlePrice":0},"Quantity":0,"Price":0,"SalePrice":0,"SubscriptionPrice":0,"BundlePrice":0}]

  - `Items.PriceSchedule.PriceBreaks.Discounted` (object)
    Calculated discounted prices. Only populated when a discount applies to this price break.
    Example: {"Price":0,"SalePrice":0,"SubscriptionPrice":0,"BundlePrice":0}

  - `Items.PriceSchedule.PriceBreaks.Discounted.Price` (number)
    Discounted price per unit.

  - `Items.PriceSchedule.PriceBreaks.Discounted.SalePrice` (number)
    Discounted sale price per unit.

  - `Items.PriceSchedule.PriceBreaks.Discounted.SubscriptionPrice` (number)
    Discounted subscription price per unit.

  - `Items.PriceSchedule.PriceBreaks.Discounted.BundlePrice` (number)
    Discounted bundle price per unit.

  - `Items.PriceSchedule.PriceBreaks.Quantity` (integer)
    Most commonly 1, except when offering tiered/bulk pricing.

  - `Items.PriceSchedule.PriceBreaks.Price` (number)
    Price per unit.

  - `Items.PriceSchedule.PriceBreaks.SalePrice` (number)
    Sale Price per unit. If the current date/time is within the PriceSchedule SaleStart and SaleEnd, this SalePrice will be used.

  - `Items.PriceSchedule.PriceBreaks.SubscriptionPrice` (number)
    Subscription Price per unit. If set, this price is used when a subscription order is created.

  - `Items.PriceSchedule.PriceBreaks.BundlePrice` (number)
    Bundle Price per unit. If set, this price is used when an item being added to an order is part of a bundle.

  - `Items.PriceSchedule.Discount` (object)
    The best applicable discount for this buyer. Only populated when a discount applies.
    Example: {"ID":"","Description":"","DiscountBreaks":[{"Quantity":0,"Amount":0}],"ProductFilter":"","CatalogID":"","CategoryID":"","ProductID":"","xp":{}}

  - `Items.PriceSchedule.Discount.ID` (string)

  - `Items.PriceSchedule.Discount.Description` (string)

  - `Items.PriceSchedule.Discount.DiscountBreaks` (array)
    Quantity-based percentage discount tiers. Each tier specifies a minimum quantity and percentage discount amount.
    Example: [{"Quantity":0,"Amount":0}]

  - `Items.PriceSchedule.Discount.DiscountBreaks.Quantity` (integer)
    Minimum quantity required for this discount tier.

  - `Items.PriceSchedule.Discount.DiscountBreaks.Amount` (number)
    Percentage discount (e.g., 10.5 for 10.5% off). Must be between 0 and 100.

  - `Items.PriceSchedule.Discount.ProductFilter` (string)

  - `Items.PriceSchedule.Discount.CatalogID` (string)

  - `Items.PriceSchedule.Discount.CategoryID` (string)

  - `Items.PriceSchedule.Discount.ProductID` (string)

  - `Items.PriceSchedule.Discount.xp` (object)
    Example: {}

  - `Items.PriceSchedule.OwnerID` (string)
    ID of the organization that owns the PriceSchedule. Only the marketplace owner can override the OwnerID on create.

  - `Items.PriceSchedule.ID` (string)

  - `Items.PriceSchedule.Name` (string)

  - `Items.PriceSchedule.ApplyTax` (boolean)
    For reference only for calculating tax, does not influence any OrderCloud behavior.

  - `Items.PriceSchedule.ApplyShipping` (boolean)
    For reference only for calculating shipping cost, does not influence any OrderCloud behavior.

  - `Items.PriceSchedule.MinQuantity` (integer)
    The minimum line item Quantity when UseCumulativeQuantity is false.

  - `Items.PriceSchedule.MaxQuantity` (integer)
    The maximum line item Quantity when UseCumulativeQuantity is false.

  - `Items.PriceSchedule.UseCumulativeQuantity` (boolean)
    If true, line item quantities will be aggregated by productID when determining which price break applies, and when Min/Max quantities are met. Else, each line item is treated separately.

  - `Items.PriceSchedule.RestrictedQuantity` (boolean)
    If true, this product can only be ordered in quantities that exactly match one of the price breaks on this schedule.

  - `Items.PriceSchedule.Currency` (string)
    We recommend using ISO-4217 currency codes for compatibility with tax and payment processors.

  - `Items.PriceSchedule.SaleStart` (string)
    Starting date/time for PriceBreak.SalePrice to be used as the price for the LineItem. Requires that the PriceBreak.SalePrice value is set.
    Example: "2018-01-01T00:00:00-06:00"

  - `Items.PriceSchedule.SaleEnd` (string)
    Ending date/time for PriceBreak.SalePrice to be used as the price for the LineItem. Requires that the PriceBreak.SalePrice value is set.
    Example: "2018-01-01T00:00:00-06:00"

  - `Items.PriceSchedule.IsOnSale` (boolean)
    True when at least one PriceBreak has a SalePrice defined, and the current time is between the SaleStart and SaleEnd date.

  - `Items.PriceSchedule.xp` (object)
    Example: {}

  - `Items.ID` (string)

  - `Items.ParentID` (string)
    ID of the parent product. If not null, IsParent should be false

  - `Items.IsParent` (boolean)
    If true, ParentID must be null, as a parent product cannot have a parent itself.

  - `Items.IsBundle` (boolean)
    If true, IsParent must be false, as a parent product cannot be a bundle.

  - `Items.Name` (string)

  - `Items.Description` (string)

  - `Items.QuantityMultiplier` (integer)
    For reference only, does not influence any OrderCloud behavior. Used to indicate an amount per Quantity.

  - `Items.ShipWeight` (number)

  - `Items.ShipHeight` (number)

  - `Items.ShipWidth` (number)

  - `Items.ShipLength` (number)

  - `Items.Active` (boolean)
    If false, product is not visible or purchasable from a buyer's perspective.

  - `Items.SpecCount` (integer)
    Count of specs assigned to the product.

  - `Items.VariantCount` (integer)
    Count of variants generated from the product/spec combinations.

  - `Items.ShipFromAddressID` (string)
    Marketplace owner or supplier AddressID where the product will be shipped from. Can be used to calculate shipping costs.

  - `Items.Inventory` (object)
    Example: {"Enabled":false,"NotificationPoint":0,"VariantLevelTracking":false,"OrderCanExceed":false,"QuantityAvailable":0,"LastUpdated":"2018-01-01T00:00:00-06:00"}

  - `Items.Inventory.Enabled` (boolean)
    If true, inventory will be tracked and enforced.

  - `Items.Inventory.NotificationPoint` (integer)

  - `Items.Inventory.VariantLevelTracking` (boolean)
    If true, QuantityAvailable will be determined at the variant level.

  - `Items.Inventory.OrderCanExceed` (boolean)
    If true, a user can create line items and place orders for the product even if there is insufficient QuantityAvailable.

  - `Items.Inventory.QuantityAvailable` (integer)
    Automatically decrements on order submit. If you utilize inventory records either at the product or variant level, this property becomes readonly, and is derived from the sum of all QuantityAvailable of each InventoryRecord. If VariantLevelTracking is enabled, this is the sum of all variant quantities.

  - `Items.Inventory.LastUpdated` (string)
    Example: "2018-01-01T00:00:00-06:00"

  - `Items.DefaultSupplierID` (string)
    Used for forwarding orders to suppliers.

  - `Items.AllSuppliersCanSell` (boolean)
    If true, all suppliers are eligible to opt into selling this product.

  - `Items.Returnable` (boolean)

  - `Items.DateCreated` (string)
    Example: "2018-01-01T00:00:00-06:00"

  - `Items.xp` (object)
    Example: {}

  - `Meta` (object)

  - `Meta.Facets` (array)

  - `Meta.Facets.Name` (string)

  - `Meta.Facets.XpPath` (string)

  - `Meta.Facets.Values` (array)

  - `Meta.Facets.Values.Value` (string)

  - `Meta.Facets.Values.Count` (integer)

  - `Meta.Facets.xp` (object)

  - `Meta.Page` (integer)

  - `Meta.PageSize` (integer)

  - `Meta.TotalCount` (integer)

  - `Meta.TotalPages` (integer)

  - `Meta.ItemRange` (array)

  - `Meta.NextPageKey` (string)

## Response 4XX fields (application/json):

  - `StatusCode` (integer)
    Example: "404"

  - `ErrorCode` (string)
    Example: "NotFoundError"

  - `Message` (string)
    Example: "Object not found"

  - `Data` (object)
    Example: {"ObjectType":"","ObjectID":""}


