Skip to content

About Product

Access scope

Multiple access scopes needed — refer to each endpoint for access scope requirements.

The Product domain is a core business module in Genstore. Through a series of RESTful interfaces, it provides comprehensive product information management, supporting product creation, retrieval, update, and deletion. The domain covers product basic information, product variants, inventory management, gift cards, product collections, and category search subdomains.

Products are the basic unit of sale in the store, encompassing all essential information such as name and description. The Product API allows developers and e-commerce platform managers to perform detailed operations on product information, including create, read, update, and delete (CRUD) actions. Each product entry includes all necessary details, making it available for display and purchase in the store.

Core Features

  • Create Product: Add new products to the system.
  • List Products: Retrieve detailed information for all products.
  • Get Product: Fetch specific product information by product ID.
  • Update Product: Modify existing product information.
  • Delete Product: Remove specific products from the system.

Use Cases

  • Online Store Operations: Store owners can efficiently manage their product catalogs, update item details in real-time, control product visibility, and coordinate inventory changes through the API, ensuring accurate and timely store information across all channels.
  • Inventory Control Integration: Operations teams can synchronize inventory levels across multiple systems, configure automated stock updates, and manage stock allocation rules, preventing overselling while optimizing inventory efficiency.
  • Multi-channel Product Display: E-commerce teams can distribute consistent product information across mobile apps and websites, manage rich media content, and synchronize updates across sales channels, delivering unified product experiences.
  • Product Performance Analytics: Business analysts can track product metrics, generate sales trend reports, and analyze market performance through the API, enabling data-driven inventory and pricing decisions.

Product Object

The product object.

Properties

productobject
The product.
- Hide child properties
productIdnumber
An unsigned 64-bit integer that's used as a unique identifier for the product.
titlestring
The name of the product.
subTitlestring
The subTitle of product.
bodyHtmlstring
The description of the product. Supports HTML formatting.
productTypestring
The type of product. Valid Enumeration value: normal - The general physical product.
tagsarray
The list of unique identifiers for product tags.
vendorstring
The name of the product's vendor.
collectionsarray
The list of unique identifiers for product collections.
statusstring
The status of the product. Enumeration value: active - active status; inactive - inactive status; archive - archive status; draft - draft status.
imagesarray
A list of product image objects, each one representing an image associated with the product.
+ Show child properties
isMultiVariantboolean
Whether there are multple varians.
optionsarray
The custom product properties. For example, Size, Color, and Material.
+ Show child properties
variantsarray
An array of product variants, each representing a different version of the product.
+ Show child properties
marketAssignsarray
The market assigned list.
+ Show child properties
productCategoryobject
The product category.
+ Show child properties
salesChannelsarray
The sales channel
+ Show child properties
bash
{
  "product": {
    "isMultiVariant": "false",
    "salesChannels": [
      {
        "salesChannelCode": "onlineStore"
      }
    ],
    "images": [
      {
        "productId": "102745140756584",
        "src": "https://blaze.com/s/files/[email protected]?v=1716260620",
        "position": "1"
      }
    ],
    "productId": "102745140756584",
    "variants": [
      {
        "inventoryManagement": "true",
        "productId": "102744460756584",
        "costPrice": "3",
        "weight": "1",
        "compareOfPrice": "22",
        "inventoryQuantities": [
          {
            "locationId": "50002",
            "available": "666"
          }
        ],
        "price": "10",
        "options": [
          {
            "name": "size",
            "id": "10034623756584",
            "position": "1",
            "value": {
              "name": "L",
              "id": "10167791756584",
              "position": "1"
            }
          }
        ],
        "variantId": "107362030756584",
        "isDisabled": "false",
        "sku": "P001",
        "barcode": "AXOYX49XOPEX6",
        "weightUnit": "kg"
      }
    ],
    "marketAssigns": [
      {
        "isAssigned": "true",
        "marketId": "6016662702584"
      }
    ],
    "title": "shirt",
    "tags": "[102984300756584,102984300756585]",
    "productCategory": {
      "categoryName": "pet",
      "categoryId": "209148956145"
    },
    "subTitle": "wool shirt",
    "collections": "[107363170756584,107363170756585]",
    "vendor": "nike",
    "options": [
      {
        "name": "size",
        "id": "10034623756584",
        "position": "1",
        "value": [
          {
            "name": "L",
            "id": "10167791756584",
            "position": "1"
          }
        ]
      }
    ],
    "bodyHtml": "<p>wool shirt</p>",
    "productType": "normal",
    "status": "active"
  }
}

POST Create product

Create a new product.

Access scope

Requires ANY of the following access scopes: write_products

Endpoint

POST /api/202412/products 

Request Params

productobject
The product.
- Hide child properties
titlestring
The name of the product.
subTitlestring
The subTitle of product.
bodyHtmlstring
The description of the product. Supports HTML formatting.
productTypestring
The type of product. Valid values:normal:The general physical product.
tagsarray
The list of unique identifiers for product tags.
vendorstring
The name of the product's vendor.
collectionsarray
The list of unique identifiers for product collections.
statusstring
The status of the product. Enumeration value: active - active status; inactive - inactive status; archive - archive status; draft - draft status.
imagesarray
A list of product image objects, each one representing an image associated with the product.
+ Show child properties
isMultiVariantboolean
Whether there are multiple variants.
optionsarray
The custom product properties. For example, Size, Color, and Material.
+ Show child properties
variantsarray
An array of product variants, each representing a different version of the product.
+ Show child properties
marketAssignsarray
The market assigned list.
+ Show child properties

Response Data

productobject
The product
- Hide child properties
productIdnumber
An unsigned 64-bit integer that's used as a unique identifier for the product.
titlestring
The name of the product.
subTitlestring
The subTitle of product.
bodyHtmlstring
The description of the product. Supports HTML formatting.
productTypestring
The type of product. Valid values:normal:The general physical product.
tagsarray
The list of unique identifiers for product tags.
vendorstring
The name of the product's vendor.
collectionsarray
The list of unique identifiers for product collections.
statusstring
The status of the product. Enumeration value: active - active status; inactive - inactive status; archive - archive status; draft - draft status.
imagesarray
A list of product image objects, each one representing an image associated with the product.
+ Show child properties
isMultiVariantboolean
Whether there are multiple variants.
optionsarray
The custom product properties. For example, Size, Color, and Material.
+ Show child properties
variantsarray
An array of product variants, each representing a different version of the product.
+ Show child properties
marketAssignsarray
The market assigned list.
+ Show child properties
bash
curl -X POST \ 
https://{shop}.genmystore.com/api/202412/products" \ 
-H "X-Genstore-Access-Token: {access_token}" \ 
-H "Content-Type: application/json" \ 
-d '{
	"product":{
		"isMultiVariant":"false",
		"images":[
			{
				"productId":"102745140756584",
				"src":"https://blaze.com/s/files/[email protected]?v=1716260620",
				"position":"1"
			}
		],
		"variants":[
			{
				"inventoryManagement":"true",
				"price":"10",
				"costPrice":"3",
				"options":[
					{
						"name":"size",
						"id":"10034623756584",
						"position":"1",
						"value":{
							"name":"L",
							"id":"10167791756584",
							"position":"1"
						}
					}
				],
				"weight":"1",
				"isDisabled":"false",
				"sku":"P001",
				"compareOfPrice":"22",
				"barcode":"AXOYX49XOPEX6",
				"inventoryQuantities":[
					{
						"locationId":"50002",
						"available":"666"
					}
				],
				"weightUnit":"kg"
			}
		],
		"marketAssigns":[
			{
				"isAssigned":"true",
				"marketId":"6016662702584"
			}
		],
		"title":"shirt",
		"tags":"[102984300756584,102984300756585]",
		"subTitle":"wool shirt",
		"collections":"[107363170756584,107363170756585]",
		"vendor":"nike",
		"options":[
			{
				"name":"size",
				"id":"10034623756584",
				"position":"1",
				"value":[
					{
						"name":"L",
						"id":"10167791756584",
						"position":"1"
					}
				]
			}
		],
		"bodyHtml":"<p>wool shirt</p>",
		"productType":"normal",
		"status":"active"
	}
}'
json
HTTP/1.1 200 OK
{
  "product": {
    "isMultiVariant": "false",
    "images": [
      {
        "productId": "102745140756584",
        "src": "https://blaze.com/s/files/[email protected]?v=1716260620",
        "position": "1"
      }
    ],
    "productId": "102745140756584",
    "variants": [
      {
        "inventoryManagement": "true",
        "productId": "102744460756584",
        "costPrice": "3",
        "weight": "1",
        "compareOfPrice": "22",
        "inventoryQuantities": [
          {
            "locationId": "50002",
            "available": "666"
          }
        ],
        "price": "10",
        "options": [
          {
            "name": "size",
            "id": "10034623756584",
            "position": "1",
            "value": {
              "name": "L",
              "id": "10167791756584",
              "position": "1"
            }
          }
        ],
        "variantId": "107362030756584",
        "isDisabled": "false",
        "sku": "P001",
        "barcode": "AXOYX49XOPEX6",
        "weightUnit": "kg"
      }
    ],
    "marketAssigns": [
      {
        "isAssigned": "true",
        "marketId": "6016662702584"
      }
    ],
    "title": "shirt",
    "tags": "[102984300756584,102984300756585]",
    "subTitle": "wool shirt",
    "collections": "[107363170756584,107363170756585]",
    "vendor": "nike",
    "options": [
      {
        "name": "size",
        "id": "10034623756584",
        "position": "1",
        "value": [
          {
            "name": "L",
            "id": "10167791756584",
            "position": "1"
          }
        ]
      }
    ],
    "bodyHtml": "<p>wool shirt</p>",
    "productType": "normal",
    "status": "active"
  }
}

PUT Update product

Update a product.

Access scope

Requires ANY of the following access scopes: write_products

Endpoint

PUT /api/202412/products/{productId} 

Request Params

productobject
The product.
- Hide child properties
productIdnumber
An unsigned 64-bit integer that's used as a unique identifier for the product.
titlestring
The name of the product.
subTitlestring
The subTitle of product.
bodyHtmlstring
The description of the product. Supports HTML formatting.
productTypestring
The type of product. Valid Enumeration value: normal - The general physical product.
tagsarray
The list of unique identifiers for product tags.
vendorstring
The name of the product's vendor.
collectionsarray
The list of unique identifiers for product collections.
statusstring
The status of the product. Enumeration value: active - active status; inactive - inactive status; archive - archive status; draft - draft status.
imagesarray
A list of product image objects, each one representing an image associated with the product.
+ Show child properties
isMultiVariantboolean
Whether there are multiple variants.
optionsarray
The custom product properties. For example, Size, Color, and Material.
+ Show child properties
variantsarray
An array of product variants, each representing a different version of the product.
+ Show child properties
marketAssignsarray
The market assigned list.
+ Show child properties

Response Data

productobject
The product.
- Hide child properties
productIdnumber
An unsigned 64-bit integer that's used as a unique identifier for the product.
titlestring
The name of the product.
subTitlestring
The subTitle of product.
bodyHtmlstring
The description of the product. Supports HTML formatting.
productTypestring
The type of product. Enumeration value : normal - The general physical product.
tagsarray
The list of unique identifiers for product tags.
vendorstring
The name of the product's vendor.
collectionsarray
The list of unique identifiers for product collections.
statusstring
The status of the product. Enumeration value: active - active status; inactive - inactive status; archive - archive status; draft - draft status.
imagesarray
A list of product image objects, each one representing an image associated with the product.
+ Show child properties
isMultiVariantboolean
Whether there are multiple variants.
optionsarray
The custom product properties. For example, Size, Color, and Material.
+ Show child properties
variantsarray
An array of product variants, each representing a different version of the product.
+ Show child properties
marketAssignsarray
The market assigned list.
+ Show child properties
bash
curl -X PUT \ 
https://{shop}.genmystore.com/api/202412/products/{productId}" \ 
-H "X-Genstore-Access-Token: {access_token}" \ 
-H "Content-Type: application/json" \ 
-d '{
	"product":{
		"isMultiVariant":"false",
		"images":[
			{
				"productId":"102745140756584",
				"src":"https://blaze.com/s/files/[email protected]?v=1716260620",
				"position":"1"
			}
		],
		"productId":"102745140756584",
		"variants":[
			{
				"inventoryManagement":"true",
				"productId":"102744460756584",
				"costPrice":"3",
				"weight":"1",
				"compareOfPrice":"22",
				"inventoryQuantities":[
					{
						"locationId":"50002",
						"available":"666"
					}
				],
				"price":"10",
				"options":[
					{
						"name":"size",
						"id":"10034623756584",
						"position":"1",
						"value":{
							"name":"L",
							"id":"10167791756584",
							"position":"1"
						}
					}
				],
				"variantId":"107362030756584",
				"isDisabled":"false",
				"sku":"P001",
				"barcode":"AXOYX49XOPEX6",
				"weightUnit":"kg"
			}
		],
		"marketAssigns":[
			{
				"isAssigned":"true",
				"marketId":"6016662702584"
			}
		],
		"title":"shirt",
		"tags":"[102984300756584,102984300756585]",
		"subTitle":"wool shirt",
		"collections":"[107363170756584,107363170756585]",
		"vendor":"nike",
		"options":[
			{
				"name":"size",
				"id":"10034623756584",
				"position":"1",
				"value":[
					{
						"name":"L",
						"id":"10167791756584",
						"position":"1"
					}
				]
			}
		],
		"bodyHtml":"<p>wool shirt</p>",
		"productType":"normal",
		"status":"active"
	}
}'
json
HTTP/1.1 200 OK
{
  "product": {
    "isMultiVariant": "false",
    "images": [
      {
        "productId": "102745140756584",
        "src": "https://blaze.com/s/files/[email protected]?v=1716260620",
        "position": "1"
      }
    ],
    "productId": "102745140756584",
    "variants": [
      {
        "inventoryManagement": "true",
        "productId": "102744460756584",
        "costPrice": "3",
        "weight": "1",
        "compareOfPrice": "22",
        "inventoryQuantities": [
          {
            "locationId": "50002",
            "available": "666"
          }
        ],
        "price": "10",
        "options": [
          {
            "name": "size",
            "id": "10034623756584",
            "position": "1",
            "value": {
              "name": "L",
              "id": "10167791756584",
              "position": "1"
            }
          }
        ],
        "variantId": "107362030756584",
        "isDisabled": "false",
        "sku": "P001",
        "barcode": "AXOYX49XOPEX6",
        "weightUnit": "kg"
      }
    ],
    "marketAssigns": [
      {
        "isAssigned": "true",
        "marketId": "6016662702584"
      }
    ],
    "title": "shirt",
    "tags": "[102984300756584,102984300756585]",
    "subTitle": "wool shirt",
    "collections": "[107363170756584,107363170756585]",
    "vendor": "nike",
    "options": [
      {
        "name": "size",
        "id": "10034623756584",
        "position": "1",
        "value": [
          {
            "name": "L",
            "id": "10167791756584",
            "position": "1"
          }
        ]
      }
    ],
    "bodyHtml": "<p>wool shirt</p>",
    "productType": "normal",
    "status": "active"
  }
}

DELETE Delete product

Delete a product.

Access scope

Requires ANY of the following access scopes: write_products

Endpoint

DELETE /api/202412/products/{productId} 

Request Params

productIdnumber
An unsigned 64-bit integer that's used as a unique identifier for the product.

Response Data

{}
bash
curl -X DELETE \ 
https://{shop}.genmystore.com/api/202412/products/{productId}" \ 
-H "X-Genstore-Access-Token: {access_token}" \
json
HTTP/1.1 200 OK
{}

GET Get product list

Retrieve a list of products.

Access scope

Requires ANY of the following access scopes: write_products read_products

Endpoint

GET /api/202412/products 

Request Params

idsarray
A list of unsigned 64-bit integers used as unique identifiers for the products.
searchstring
The keyword of search for product.
variantIdsarray
The list of unique identifiers for product variants.
tagIdsarray
The list of unique identifiers for product tags.
collectionIdsarray
The list of unique identifiers for product collections.
statusstring
The status of the product. Enumeration value: active - active status; inActive - inActive status; archive - archive status; draft - draft status.
updateTimeMinstring
The min date and time (ISO 8601 format) when the product was updated.
updateTimeMaxstring
The max date and time (ISO 8601 format) when the product was updated.
createdTimeMinstring
The min date and time (ISO 8601 format) when the product was created.
createdTimeMaxstring
The max date and time (ISO 8601 format) when the product was created.
pageTokenstring
The cursor representing a page will return the homepage data by default.
limitnumber
Page count limit, default limit is 50.
sinceIdstring
Starting resource ID, mainly used for querying pagination starting from sinceId on the homepage.
salesChannelCodesarray
The list of sales channel code. Enumeration value: onlineStore - onlineStore sales channel code; google - google sales channel code.
categoryIdnumber
An unsigned 64-bit integer that's used as a unique identifier for the product category.
productTypestring
The type of product. Enumeration value: normal - The general physical product; virtual - The virtual product; virtualDigitalProduct - The virtual digital product; giftCard - The gift card product.
priceMinnumber
The min price of the product.
priceMaxnumber
The max price of the product.
metaFieldDataarray
The Metafield data.
+ Show child properties

Response Data

productsarray
The product.
- Hide child properties
productIdnumber
An unsigned 64-bit integer that's used as a unique identifier for the product.
titlestring
The name of the product.
subTitlestring
The subTitle of product.
bodyHtmlstring
The description of the product. Supports HTML formatting.
productTypestring
The type of product. Enumeration value: normal - The general physical product; virtual - The virtual product; virtualDigitalProduct - The virtual digital product; giftCard - The gift card product.
tagsarray
The list of unique identifiers for product tags.
vendorstring
The name of the product's vendor.
collectionsarray
The list of unique identifiers for product collections.
statusstring
The status of the product. Enumeration value: active - active status; inactive - inactive status; archive - archive status; draft - draft status.
imagesarray
A list of product image objects, each one representing an image associated with the product.
+ Show child properties
isMultiVariantboolean
Whether there are multiple variants.
optionsarray
The custom product properties. For example, Size, Color, and Material.
+ Show child properties
variantsarray
An array of product variants, each representing a different version of the product.
+ Show child properties
marketAssignsarray
The market assigned list.
+ Show child properties
productCategoryobject
The product category.
+ Show child properties
salesChannelsarray
The sales channel list.
+ Show child properties
bash
curl -X GET \ 
https://{shop}.genmystore.com/api/202412/products" \ 
-H "X-Genstore-Access-Token: {access_token}" \
json
HTTP/1.1 200 OK
{
  "products": [
    {
      "isMultiVariant": "false",
      "salesChannels": [
        {
          "salesChannelCode": "onlineStore"
        }
      ],
      "images": [
        {
          "productId": "102745140756584",
          "src": "https://blaze.com/s/files/[email protected]?v=1716260620",
          "position": "1"
        }
      ],
      "productId": "102745140756584",
      "variants": [
        {
          "inventoryManagement": "true",
          "productId": "102744460756584",
          "costPrice": "3",
          "weight": "1",
          "compareOfPrice": "22",
          "inventoryQuantities": [
            {
              "locationId": "50002",
              "available": "666"
            }
          ],
          "price": "10",
          "options": [
            {
              "name": "size",
              "id": "10034623756584",
              "position": "1",
              "value": {
                "name": "L",
                "id": "10167791756584",
                "position": "1"
              }
            }
          ],
          "variantId": "107362030756584",
          "isDisabled": "false",
          "sku": "P001",
          "barcode": "AXOYX49XOPEX6",
          "weightUnit": "kg"
        }
      ],
      "marketAssigns": [
        {
          "isAssigned": "true",
          "marketId": "6016662702584"
        }
      ],
      "title": "shirt",
      "tags": [
        102984300756584,
        102984300756585
      ],
      "productCategory": {
        "categoryName": "pet",
        "categoryId": "209148956145"
      },
      "subTitle": "wool shirt",
      "collections": [
        107363170756584,
        107363170756585
      ],
      "vendor": "nike",
      "options": [
        {
          "name": "size",
          "id": "10034623756584",
          "position": "1",
          "value": [
            {
              "name": "L",
              "id": "10167791756584",
              "position": "1"
            }
          ]
        }
      ],
      "bodyHtml": "<p>wool shirt</p>",
      "productType": "normal",
      "status": "active"
    }
  ]
}

GET Get product

Retrieve a single product.

Access scope

Requires ANY of the following access scopes: write_products read_products

Endpoint

GET /api/202412/products/{productId} 

Request Params

productIdnumber
An unsigned 64-bit integer that's used as a unique identifier for the product.

Response Data

productobject
The product.
- Hide child properties
productIdnumber
An unsigned 64-bit integer that's used as a unique identifier for the product.
titlestring
The name of the product.
subTitlestring
The subTitle of product.
bodyHtmlstring
The description of the product. Supports HTML formatting.
productTypestring
The type of product. Valid values:normal:The general physical product.
tagsarray
The list of unique identifiers for product tags.
vendorstring
The name of the product's vendor.
collectionsarray
The list of unique identifiers for product collections.
statusstring
The status of the product. Enumeration value: active - active status; inactive - inactive status; archive - archive status; draft - draft status.
imagesarray
A list of product image objects, each one representing an image associated with the product.
+ Show child properties
isMultiVariantboolean
Whether there are multiple variants.
optionsarray
The custom product properties. For example, Size, Color, and Material.
+ Show child properties
variantsarray
An array of product variants, each representing a different version of the product.
+ Show child properties
marketAssignsarray
The market assigned list.
+ Show child properties
productCategoryobject
The product category.
+ Show child properties
salesChannelsarray
The sales channel list.
+ Show child properties
bash
curl -X GET \ 
https://{shop}.genmystore.com/api/202412/products/{productId}" \ 
-H "X-Genstore-Access-Token: {access_token}" \
json
HTTP/1.1 200 OK
{
  "product": {
    "isMultiVariant": "false",
    "salesChannels": [
      {
        "salesChannelCode": "onlineStore"
      }
    ],
    "images": [
      {
        "productId": "102745140756584",
        "src": "https://blaze.com/s/files/[email protected]?v=1716260620",
        "position": "1"
      }
    ],
    "productId": "102745140756584",
    "variants": [
      {
        "inventoryManagement": "true",
        "productId": "102744460756584",
        "costPrice": "3",
        "weight": "1",
        "compareOfPrice": "22",
        "inventoryQuantities": [
          {
            "locationId": "50002",
            "available": "666"
          }
        ],
        "price": "10",
        "options": [
          {
            "name": "size",
            "id": "10034623756584",
            "position": "1",
            "value": {
              "name": "L",
              "id": "10167791756584",
              "position": "1"
            }
          }
        ],
        "variantId": "107362030756584",
        "isDisabled": "false",
        "sku": "P001",
        "barcode": "AXOYX49XOPEX6",
        "weightUnit": "kg"
      }
    ],
    "marketAssigns": [
      {
        "isAssigned": "true",
        "marketId": "6016662702584"
      }
    ],
    "title": "shirt",
    "tags": "[102984300756584,102984300756585]",
    "productCategory": {
      "categoryName": "pet",
      "categoryId": "209148956145"
    },
    "subTitle": "wool shirt",
    "collections": "[107363170756584,107363170756585]",
    "vendor": "nike",
    "options": [
      {
        "name": "size",
        "id": "10034623756584",
        "position": "1",
        "value": [
          {
            "name": "L",
            "id": "10167791756584",
            "position": "1"
          }
        ]
      }
    ],
    "bodyHtml": "<p>wool shirt</p>",
    "productType": "normal",
    "status": "active"
  }
}

GET Get product count

Retrieve product count.

Access scope

Requires ANY of the following access scopes: write_products read_products

Endpoint

GET /api/202412/products/count 

Request Params

idsarray
An unsigned 64-bit integer that's used as a unique identifier for the product.
searchstring
The keyword to search for a product.
variantIdsarray
The list of unique identifiers for product variants.
tagIdsarray
The list of unique identifiers for product tags.
collectionIdsarray
The list of unique identifiers for product collections.
statusstring
The status of the product. Enumeration value: active - active status; inActive - inActive status; archive - archive status; draft - draft status.
updateTimeMinstring
The min date and time (ISO 8601 format) when the product was updated.
updateTimeMaxstring
The max date and time (ISO 8601 format) when the product was updated.
createdTimeMinstring
The min date and time (ISO 8601 format) when the product was created.
createdTimeMaxstring
The max date and time (ISO 8601 format) when the product was created.
pageTokenstring
The cursor representing a page will return the homepage data by default.
limitnumber
Page count limit, default limit is 50.
sinceIdstring
Starting resource ID, mainly used for querying pagination starting from sinceId on the homepage.

Response Data

countnumber
The count of products.
bash
curl -X GET \ 
https://{shop}.genmystore.com/api/202412/products/count" \ 
-H "X-Genstore-Access-Token: {access_token}" \
json
HTTP/1.1 200 OK
{
  "count": "10"
}