Create and update product

How to create and update a product in Management API

The products in Bluestone PIM has a few built-in properties. 

Name

Single line product name that will be visible many places in Bluestone PIM UI. No restrictions on the number or type of characters.

Number

Product number is typically the customer id for the product. Displayed many places in the UI. Often used as a common identifier between systems when integrating with PIM. No restrictions on the number or type of characters.

Description

Multiline text description of the product. No restrictions on the number or type of characters.

Type

There are four product types in Bluestone PIM. The single product is the most basic type and all the other types have the same properties and features with some additions.  

  • SINGLE: A stand-alone product in Bluestone PIM. Can change to a variant product if added to a variant group.
  • GROUP: A variant group can be linked to multiple variant products. Attributes can be inherited by the variants, this is managed on the group.
  • VARIANT: A variant can be added to one variant group. Can get attributes from the group. 
  • BUNDLE: A bundle product can be linked to all the other product types. Each linked product has a quantity.

Read more about product types.

Create product

POST https://mapi.bluestonepim.com/pim/products

Example request body

{
    "type": "SINGLE",
  "name": "Single sample product",
    "number": "123456",
  "description": "Longer text to describe the product.\n Second line of text"
}

Response

If successful, this will result in a 201 - Created response.

The response headers will include a resource-id with the GUID of the newly created product. 

Try it in readme.io

Update product

Use the GUID from the previous step as the {id} in the request to update the product details.

PATCH https://mapi.bluestonepim.com/pim/products/{id}

At this point, it is not possible to change the product type directly. 

The endpoint supports partial data, meaning you can send and update only one of the properties.

Example request body:

{    
    "name": {
      "value": "New name for single sample product"
    },
"description": {
    "value": "Longer text to describe the product.\n Second line of text \n Third line of text"
    },
  "number": "654321"
}


Try it in readme.io

Back to the top