Skip to main content

Get All Products

This API endpoint retrieves a list of products from the server.

HTTP Request

  • URL: /products
  • Method: GET
  • Headers:
    • accessToken: Required. This is your access token for authenticating the request.

Query Parameters

To effectively use pagination in your API requests, you can include the following query parameters:

ParameterTypeDescription
pageIntegerThe page number to retrieve. Default is 1.
limitIntegerThe number of items to retrieve per page. Default is 10
entityIdStringComma-separated list of entity IDs to include.
statusStringComma-separated list of product statuses to include, such as "active" or "inactive".
nameStringFilter products where the name matches the provided case-insensitive substring.
skuStringFilter products where the SKU matches the provided case-insensitive substring.
isFeaturedBooleanFilter products based on whether they are featured.
isFreeShippingBooleanFilter products based on whether they offer free shipping.
minPriceNumberInclude products with a price greater than or equal to this value.
maxPriceNumberInclude products with a price less than or equal to this value.
date_created:minStringInclude products created on or after this date (ISO format).
date_created:maxStringInclude products created on or before this date (ISO format).
date_modified:minStringInclude products modified on or after this date (ISO format).
date_modified:maxStringInclude products modified on or before this date (ISO format).
categoriesStringComma-separated list of category IDs to include.
excludeFieldsStringComma-separated list of fields to exclude from the response.
sku:inStringComma-separated list of SKUs to include.
outOfStockBooleanFilter products based on stock status; true for out of stock items, false for items in stock.

cURL Example

Below is a sample cURL command that demonstrates how to make a request to the API endpoint:

curl --location '<BASE_URL>/products' \
--header 'accessToken: <ACCESS_TOKEN>'

Response

  • 200 OK: The request was successful, and the server returned a list of products.
  • 4XX: Client errors indicating issues such as an invalid access token.
  • 5XX: Server errors indicating that something went wrong on the server's end.

Sample JSON Response

Below is an example of the JSON response you might receive from making a request to this endpoint:

{
"success": true,
"data": [
{
"entityId": 1,
"name": "Marcal 1-Ply Lunch Napkin",
"sku": "MAR 270",
"description": {
"value": "<ul>\r\n\t<li>Conveniently packaged in Draw and Store Reclosable Bag&mdash;remove napkins as needed, others stay clean and ready for use.</li>\r\n\t<li>One-ply.</li>\r\n\t<li>Strong and absorbent.</li>\r\n\t<li>Whitened without chemicals containing chlorine.</li>\r\n\t<li>No dye or fragrance added.</li>\r\n</ul>"
},
"shortDescription": "",
"specifications": [
{
"name": "Supplier Part Number",
"value": "MRC6506",
"_id": "67bb23803b6220fb83f2a1c3"
},
{
"name": "Manufacturer Name",
"value": "R3 Metro",
"_id": "67bb23803b6220fb83f2a1c4"
},
{
"name": "Material",
"value": "Paper",
"_id": "67bb23803b6220fb83f2a1c5"
},
{
"name": "Colour",
"value": "White",
"_id": "67bb23803b6220fb83f2a1c6"
},
{
"name": "P21 Product Group",
"value": "FOODSVR",
"_id": "67bb23803b6220fb83f2a1c7"
},
{
"name": "Dimensions",
"value": "12.50 x 11.25",
"_id": "67bb23803b6220fb83f2a1c8"
},
{
"name": "Per Case",
"value": "6 packs",
"_id": "67bb23803b6220fb83f2a1c9"
},
{
"name": "Ply",
"value": "1",
"_id": "67bb23803b6220fb83f2a1ca"
},
{
"name": "Unfolded Width",
"value": "12.5 in",
"_id": "67bb23803b6220fb83f2a1cb"
},
{
"name": "Folded Width",
"value": "5.4 in",
"_id": "67bb23803b6220fb83f2a1cc"
},
{
"name": "Standards Certifications",
"value": "Meets or exceeds all EPA Procurement Guidelines for post-consumer recycled content",
"_id": "67bb23803b6220fb83f2a1cd"
},
{
"name": "Per Pack",
"value": "400 sheets",
"_id": "67bb23803b6220fb83f2a1ce"
},
{
"name": "Weight",
"value": "27 Pound",
"_id": "67bb23803b6220fb83f2a1cf"
},
{
"name": "Serialized",
"value": "No",
"_id": "67bb23803b6220fb83f2a1d0"
},
{
"name": "Post Recycling",
"value": "60",
"_id": "67bb23803b6220fb83f2a1d1"
},
{
"name": "Total Recycle",
"value": "100",
"_id": "67bb23803b6220fb83f2a1d2"
}
],
"customUrl": "marcal-1-ply-lunch-napkin.html",
"status": "active",
"visibility": true,
"weight": 27,
"productType": "simple",
"hasOptions": false,
"manufacturer": "R3 Metro",
"quantity": {
"minQuantity": 1,
"quantityIncrement": 1
},
"trackInventory": true,
"inventoryType": "product",
"isFeatured": false,
"price": 73.67,
"priceRange": {
"minPrice": 0,
"maxPrice": 0
},
"options": [
{
"optionName": "Unit",
"optionType": "radio",
"optionValues": [
{
"label": "Case",
"value": "CS",
"isDefault": true,
"_id": "67bb23803b6220fb83f2a1da"
}
],
"_id": "67bb23803b6220fb83f2a1d9"
}
],
"variants": [
{
"sku": "MAR 270-CS",
"name": "Case",
"price": 73.67,
"options": [
{
"optionName": "Unit",
"optionValueLabel": "Case",
"optionValue": "CS",
"_id": "67bb23803b6220fb83f2a1dc"
}
],
"isActive": true,
"_id": "6467310ca958a8afea2a510a",
"mediaGallery": [],
"tierPrice": []
}
],
"isFreeShipping": false,
"manageCustoms": false,
"customs": {
"hsCodes": []
},
"metaFields": [
{
"customMetaField": true,
"metaFieldId": "6464ea3163ef8fa8543a5123",
"code": "pim_id",
"label": "PIM Id",
"displayStorefront": true,
"value": "8",
"valueType": "text",
"_id": "67bb23803b6220fb83f2a1d3",
"createdAt": "2025-02-23T13:32:48.609Z",
"updatedAt": "2025-02-23T13:32:48.609Z"
},
{
"customMetaField": true,
"metaFieldId": "6464ea4102e928e393250b16",
"code": "p21_product_group",
"label": "P21_product_group",
"displayStorefront": true,
"value": "FOODSVR",
"valueType": "text",
"_id": "67bb23803b6220fb83f2a1d4",
"createdAt": "2025-02-23T13:32:48.609Z",
"updatedAt": "2025-02-23T13:32:48.609Z"
},
{
"customMetaField": true,
"metaFieldId": "6464ea570c85ddcad86386cd",
"code": "inv_mast_uid",
"label": "Inv_mast_uid",
"displayStorefront": true,
"value": "2800",
"valueType": "text",
"_id": "67bb23803b6220fb83f2a1d5",
"createdAt": "2025-02-23T13:32:48.609Z",
"updatedAt": "2025-02-23T13:32:48.609Z"
},
{
"customMetaField": true,
"metaFieldId": "6464ea3163ef8fa8543a5123",
"code": "pim_id",
"label": "PIM Id",
"displayStorefront": true,
"value": "8",
"valueType": "text",
"_id": "67bb23803b6220fb83f2a1d6",
"createdAt": "2025-02-23T13:32:48.609Z",
"updatedAt": "2025-02-23T13:32:48.609Z"
},
{
"customMetaField": true,
"metaFieldId": "6464ea4102e928e393250b16",
"code": "p21_product_group",
"label": "P21_product_group",
"displayStorefront": true,
"value": "FOODSVR",
"valueType": "text",
"_id": "67bb23803b6220fb83f2a1d7",
"createdAt": "2025-02-23T13:32:48.609Z",
"updatedAt": "2025-02-23T13:32:48.609Z"
},
{
"customMetaField": true,
"metaFieldId": "6464ea570c85ddcad86386cd",
"code": "inv_mast_uid",
"label": "Inv_mast_uid",
"displayStorefront": true,
"value": "2800",
"valueType": "text",
"_id": "67bb23803b6220fb83f2a1d8",
"createdAt": "2025-02-23T13:32:48.609Z",
"updatedAt": "2025-02-23T13:32:48.609Z"
}
],
"searchKeyWords": [],
"categories": ["6467308fa958a8afea2a4841"],
"mediaGallery": [
{
"url": "https://cdn.flexipim.com/spruceindustries/product_assets/media/1617637011_243327.JPG",
"type": "image",
"label": "1617637011_243327.JPG",
"isDefault": true,
"assetId": null,
"id": "67cfc833a1265850a220f752"
}
],
"files": [],
"modifiers": [],
"filters": [],
"relatedProducts": [],
"createdAt": "2023-05-19T08:19:25.659Z",
"updatedAt": "2025-03-11T05:20:51.967Z",
"inventory": {
"stock": 0
},
"id": "6467310ca958a8afea2a50f7"
}
],
"pagination": {
"page": 1,
"total": 924,
"count": 1
}
}

Response Details

KeyTypeDescription
successBooleanIndicates if the request was successful.
dataArray of ObjectsList of products.
paginationObjectProvides pagination details given below.

Products Data

FieldTypeDescription
idStringThe ID of the product.
entityIdNumberUnique identifier for the product. mostly in sequence
nameStringName of the product. [Required]
skuStringStock Keeping Unit, a unique identifier for each product.
shortDescriptionStringA brief description of the product.
descriptionObjectA brief description of the product.
customUrlStringSEO-friendly URL for the product.
statusStringStatus of the product, can be "active" or "inactive". Default is "active". [Required]
specificationsArray of ObjectsSpecifications of the product with name and value.
mediaGalleryArray of ObjectsAn array of media items.
filesArray of ObjectsAn array of documents or videos.
dimensionsObjectThe dimensions of the product, includes width, height, and depth.
inventoryObjectObject contain stock and minStock.
visibilityBooleanIndicates if the product is visible. Default is true.
quantityObjectObject contain minQuantity and quantityIncrement
priceRangeObjectObject contain minPrice and minStock
optionsArray of ObjectsAn array of options for products eg: size ,color etc.,
variantsArray of ObjectsArray of variant objects related to the product.
weightNumberWeight of the product. Default is 0.
productTypeStringType of product, can be "simple" or "configurable" or "grouped" or "bundle".
hasOptionsBooleanIndicates if the product has options. Default is false.
taxcodeStringTax code associated with the product.
manufacturerStringManufacturer's name.
mpnStringManufacturer Part Number.
trackInventoryBooleanIndicates if inventory tracking is enabled. Default is false.
inventoryTypeStringInventory management type, either "product" or "variant". Default is "product".
isFeaturedBooleanIndicates if the product is featured. Default is false.
ratingsNumberRating of the product. Default is 0.
priceNumberPrice of the product.
costNumberCost of the product.
saleNumberSale price of the product.
isFreeShippingBooleanIndicates if the product is eligible for free shipping. Default is false.
manageCustomsBooleanIndicates if customs management is enabled. Default is false.
metaFieldsarrayArray of meta field objects associated with the product.
sortOrderNumberThe order in which products are sorted.

Description Object

FieldTypeDescription
dataTypeStringFormat of the description, either "JSON" or "HTML". Default is "HTML".
valueStringThe actual product description in specified format.

Specifications

FieldTypeDescription
nameStringName of the specification.
valueStringValue of the specification.

Dimensions

FieldTypeDescription
widthNumberWidth of the product. Default is 1.
heightNumberHeight of the product. Default is 1.
depthNumberDepth of the product. Default is 1.

Variants Array

FieldTypeDescription
skustringSKU for the variant.
namestringName of the variant.
pricenumberPrice of the variant.
optionsarrayArray of variant-specific options.
isActivebooleanIndicates if the variant is active.
_idstringUnique identifier for the variant.

Quantity

FieldTypeDescription
minQuantityNumberMinimum quantity required. Default is 1.
quantityIncrementNumberIncrement in quantity. Default is 1.
FieldTypeDescription
typeStringType of media, such as image or video.
formatStringFormat of the media file.
nameStringName of the media file.
urlStringURL where the media file is located.

Files

FieldTypeDescription
typeStringType of file, e.g., document, image, video. Default is "document".
formatStringFormat of the file, identifying the file type.
nameStringFile name for reference.
urlStringAccess URL for the file.

Inventory

FieldTypeDescription
stockNumberCurrent stock level.
minStockNumberMinimum stock level to maintain.

Price Range

FieldTypeDescription
minPriceNumberMinimum price within the range.
maxPriceNumberMaximum price within the range.

Options

FieldTypeDescription
optionNameStringName of the option.
optionTypeStringType of option, e.g., color, dropdown, radio, etc.
optionValuesArray of ObjectsValues associated with this option.
Option Values Structure
FieldTypeDescription
labelstringLabel for the option value.
valuestringValue corresponding to the option.
isDefaultbooleanIndicates if this is the default option value.
_idstringUnique identifier for the option value.

Customs

FieldTypeDescription
countryCodeStringCode representing the country for customs.
commodityDescriptionStringDescription of the commodity for customs purposes.
hsCodesArray of ObjectsHsCode details with country and code.

Filters

FieldTypeDescription
codeStringCode for filter criteria. [Required]
labelStringLabel for the filter. [Required]
optionsArray of ObjectsOptions available under filter criteria.

SEO

FieldTypeDescription
pageTitleStringTitle to be optimized for SEO purposes.
metaKeywordsStringKeywords to enhance searchability.
metaDescriptionStringDescription meta-tag for SEO.

MetaFields Array

FieldTypeDescription
customMetaFieldbooleanIndicates if it's a custom-defined meta field.
metaFieldIdstringUnique identifier for the meta field.
codestringCode representing the meta field.
labelstringHuman-readable label of the meta field.
displayStorefrontbooleanDetermines if the meta field is displayed on the storefront.
valuestringActual value of the meta field.
valueTypestringData type of the value (e.g., "text", "number").
_idstringUnique identifier for the meta field instance.
createdAtstringISO 8601 formatted timestamp indicating when the meta field was created.
updatedAtstringISO 8601 formatted timestamp indicating when the meta field was last updated.
FieldTypeDescription
codeStringCode associated with related product.
labelStringLabel describing the relation.
productsArray of ObjectsRelated products referencing the "Product" schema.

Grouped Products

FieldTypeDescription
productIdStringIdentifier of the grouped product.
quantityNumberQuantity of the product within the group.
dynamicQuantityBooleanWhether the quantity can dynamically change.

Bundled Products

FieldTypeDescription
optionTitleStringTitle of the bundled option.
inputTypeStringInput type for the bundled option.
isRequiredBooleanIndicates if the bundled product option is mandatory. Default is false.
bundledItemsArray of ObjectsItems included within the bundle configuration.

Pagination Details

KeyTypeDescription
pageIntegerCurrent page number.
totalIntegerTotal number of items available.
countIntegerNumber of items returned in this response.

Notes

  • Ensure that the accessToken provided is valid and has not expired.
  • For production use, ensure URL is accessible and has appropriate security measures in place.