PIMS Product Management API
POST/pim/manage/products
- Requires Data Editor ApiKey permissions.
- Example URI: https://instancename.piminto.com/api/en-us/pim/manage/products
This API provides a powerful tool for managing your products. You can add and edit product information at the attribute level, as well as retrieve information about all Product Attributes in the PIMS system and their values for a specific product.
To use this API, send a POST request body JSON. ✔The description of JSON keys is provided in the Example Value and Schema.
Set the action key in the JSON body to one of the following values:
listProduct: Retrieve information about a product.
listProductsBySku: Retrieve a list of products with specified SKUs.
getList: Retrieve a list of products in the PIMS system. ✔To manage the output of products list, use the params block, the description of which can be found in the Schema for JSON requests section.
editProduct: Modify an existing product's details
createProduct: Add a new product to the PIMS
historyProduct: Retrieve the history of product attribute changes in the PIMS system.
Delete Product: In PIMS, products are not permanently deleted. Instead, they are marked as deleted by setting their status attribute to 'deleted'. When using APIs that retrieve lists of products, these deleted products will only be included if the appropriate parameter is specified. This ensures that you can always access and restore these products by changing their status back to any other value. This approach helps maintain a complete history and prevents accidental data loss.
Specify the SKU (unique code or number) of the product for which you want to perform this action as the value of the sku key in the JSON body.
To edit or add product attributes, list the required attributes in the JSON body in the format "attribute name" = "attribute value".
When entering attributes, make sure that the attribute value matches its corresponding attribute type. For example, if the attribute type is "dropdown", the attribute value must match one of the values in the "dictionary" attribute. If the name of any attribute is incorrect, it will be ignored.
If the action is successful, the API response contains all Product Attributes in the PIMS system and their values for the specified product in JSON format. The API response also includes a definition section with complete information about the structure of each attribute in the PIMS system.
Please note the following important aspect of edit attribute product:
- variation_skus read only, set automatically if sku is specified as parent
- variation_matrix read only, dynamic data: all variations parent sku.
Do not pass read-only parameters as modifiable.
Access to product attributes is set by the added View for the authorization key:
all product attributes if the ApiKey has no View
if no View is specified in the parameter, the default View applies
Attribute names are set and returned according to the applied View.
Request
Header Parameters
View name from the PIM's view Dictionary. ✔If the ApiView parameter is not passed- data is returned according to default View defined for access group.
- application/json
Body
required
- List Product
- List Products By Sku
- Get List Products
- Create/Edit Product
- Product Change History
- Array [
- ]
Possible values: [listProduct
]
Possible values: [listProductsBySku
]
An array of product SKUs.
Possible values: [getList
]
params object
Parameters for product listing, sorting, and filtering.
filter_values: For multiple values, separate them using '|' For a value range, separate the maximum and minimum values using ';;' the values in the range must consist only of digits and periods (0-9, '.')
Specify a unique category identifier. If you want to retrieve all products in the system, set the category identifier to 0. ✔Use this parameter to fetch a list of products specific to that category.
order object[]
Parameters for sorting the product list. By default, sorting is based on "SKU ASC" (for product variations, the Parent SKU is used).
The name of the attribute. ✔The attribute should not be a Collection and should be Filterable or Indexable.
Can be "ASC" for ascending or "DESC" for descending.
pagination object
Parameters for paginated product listing, different from the default settings.
The number of products per page. Default limit is 24 items. The parameter should be set in the range of 1 to 500 to avoid excessive data output.
The page number. Should be greater than 0. Default is 1.
Specify a search word or phrase (search term). The endpoint returns a list of products that match the search keywords.
Set the value to "true" to include deleted products in the API's returned product list. Default is "false".
Set the value to 'true' to include product variants in the API's returned product list. Default is 'false'."
Set the value to 'true' to include subcategories in the displayed list of items when the 'cat_id' parameter is set.
Filter the list of products based on specified attributes. The condition_query parameter allows you to construct a filter using SQL-like syntax. For example, condition_query="[[sku]] not LIKE 'IMP%'" filters products where the SKU does not start with 'IMP'. ✔The specified attributes must be isFilterable.
Possible values: [createProduct
, editProduct
]
Unique product code or number
The pauseReIndexing parameter controls the recalculation of Categories' filter values. Set the pauseReIndexing parameter value to Y to pause the recalculation process. If the parameter is not provided or its value is an empty string, the recalculation proceeds as usual. ✔Used for product Import.
data object
attributes object
Possible values: [historyProduct
]
params object
pagination object
The number of history entries per page, where each entry represents changes made in a single transaction. Default limit is 24 items.
The page number. Should be greater than 0. Default is 1.
The API key used for editing or the user name if it was set during the session
Responses
- 200
- default
success
- application/json
- Schema
- Example (from schema)
- List/Edit/Create Product
- List Products By Sku, Get List Products
- Product Change History
Schema
- Product
- ProductList
- Product Change History
- Array [
- ]
- Array [
- ]
The status of the API request. A value of "OK" indicates that the request was successfully sent and processed
data objectrequired
attributes objectrequired
Detailed information about the product, its variants, their corresponding attributes, and values
Unique product code or number.
Collection of categories that the product is assigned to.
Presented the relative path of the category that is calculated and uses '>' as a separator for the category name.
Status of the product. Can only take the following values: active, inactive, deleted.
Link to internal or external image asset in the form of a url.
Short description of the product.
Presented as a recommended attribute
It can be any attribute from your Pims system. The attribute 'rod_diameter' is provided here as an example for the variation SKU.
Collection of attributes for the current product and the SKUs in the variation_skus collection. The values of these attribute data are set as variations of the product.
Collection of sku's that are variations of the current product. This field value is automatically maintained by the PIMS.
List of sku's that are variations of the current product. This field value is automatically maintained by the PIMS.
variation_matrix object
A JSON object in which the variation SKUs act as keys, and their attribute-value pairs act as values. It represents dynamic data that can vary depending on the product and its variations.
The following JSON schema is provided as an example only, where:
Part-number01, Part-number02- are the variation SKU keys.
rod_diameter- is an attribute of the variation SKUs, which can be any attribute from your Pims system. The attribute 'rod_diameter' is provided here as an example.
Part-number01 object
Part-number02 object
Part-number00 object
definition objectrequired
Complete information about the structure of each attribute in the PIMs system.
status object
label objectrequired
comment objectrequired
variation_skus object
comment objectrequired
label objectrequired
variation_attributes object
label objectrequired
comment objectrequired
variation_of object
label objectrequired
comment objectrequired
sku object
comment objectrequired
label objectrequired
rod_diameter object
label objectrequired
dictionary object
comment objectrequired
price object
label objectrequired
comment objectrequired
title object
label objectrequired
comment objectrequired
categories object
label objectrequired
comment objectrequired
thumbnail object
comment objectrequired
label objectrequired
products object[]required
Collection objects Product
data object
attributes object
Detailed information about the product, its variants, their corresponding attributes, and values
Unique product code or number.
Collection of categories that the product is assigned to.
Presented the relative path of the category that is calculated and uses '>' as a separator for the category name.
Status of the product. Can only take the following values: active, inactive, deleted.
Link to internal or external image asset in the form of a url.
Short description of the product.
Presented as a recommended attribute
It can be any attribute from your Pims system. The attribute 'rod_diameter' is provided here as an example for the variation SKU.
Collection of attributes for the current product and the SKUs in the variation_skus collection. The values of these attribute data are set as variations of the product.
Collection of sku's that are variations of the current product. This field value is automatically maintained by the PIMS.
List of sku's that are variations of the current product. This field value is automatically maintained by the PIMS.
variation_matrix object
A JSON object in which the variation SKUs act as keys, and their attribute-value pairs act as values. It represents dynamic data that can vary depending on the product and its variations.
The following JSON schema is provided as an example only, where:
Part-number01, Part-number02- are the variation SKU keys.
rod_diameter- is an attribute of the variation SKUs, which can be any attribute from your Pims system. The attribute 'rod_diameter' is provided here as an example.
Part-number01 object
Part-number02 object
Part-number00 object
Unique product code or number.
definition objectrequired
Complete information about the structure of each attribute in the PIMs system.
status object
label objectrequired
comment objectrequired
variation_skus object
comment objectrequired
label objectrequired
variation_attributes object
label objectrequired
comment objectrequired
variation_of object
label objectrequired
comment objectrequired
sku object
comment objectrequired
label objectrequired
rod_diameter object
label objectrequired
dictionary object
comment objectrequired
price object
label objectrequired
comment objectrequired
title object
label objectrequired
comment objectrequired
categories object
label objectrequired
comment objectrequired
thumbnail object
comment objectrequired
label objectrequired
The status of the API request. A value of "OK" indicates that the request was successfully sent and processed.
The number of products found
history object[]required
old objectrequired
An object where the keys represent attribute names, and the values of the keys represent attribute values.
new objectrequired
An object where the keys represent attribute names, and the values of the keys represent attribute values.
definition objectrequired
Complete information about the structure of each attribute in the PIMs system.
status object
label objectrequired
comment objectrequired
variation_skus object
comment objectrequired
label objectrequired
variation_attributes object
label objectrequired
comment objectrequired
variation_of object
label objectrequired
comment objectrequired
sku object
comment objectrequired
label objectrequired
rod_diameter object
label objectrequired
dictionary object
comment objectrequired
price object
label objectrequired
comment objectrequired
title object
label objectrequired
comment objectrequired
categories object
label objectrequired
comment objectrequired
thumbnail object
comment objectrequired
label objectrequired
{}
{
"status": "OK",
"sku": "Part-number00",
"data": {
"attributes": {
"sku": "Part-number00",
"categories": [
"CategoryNameParent > CategoryName"
],
"status": "active",
"title": "Title PART-number00",
"price": "100.00",
"rod_diameter": "2.875 in (7.3 cm)",
"variation_attributes": [
"rod_diameter"
],
"variation_of": null,
"variation_skus": [
[
"Part-number01",
"Part-number02"
]
],
"variation_matrix": {
"Part-number01": {
"rod_diameter": [
"1.66 in (4.22 cm)"
]
},
"Part-number02": {
"rod_diameter": [
"2.625 in (6.67 cm)"
]
},
"Part-number00": {
"rod_diameter": [
"2.875 in (7.3 cm)"
]
}
}
},
"definition": {
"status": {
"type": "string",
"collection": "string",
"isUnique": "string",
"label": {
"en-us": "string"
},
"validation": "string",
"isSearchable": "string",
"isIndexable": "string",
"isFilterable": "string",
"group": "string",
"comment": {
"en-us": "string"
}
},
"variation_skus": {
"isUnique": "string",
"dictionaryIsStatic": "string",
"comment": {
"en-us": "string"
},
"value": "string",
"collection": "string",
"isIndexable": "string",
"label": {
"en-us": "string"
},
"validation": "string",
"group": "string",
"type": "string",
"isSearchable": "string",
"isSimpleType": "string",
"isFilterable": "string"
},
"variation_attributes": {
"isSearchable": "string",
"group": "string",
"type": "string",
"label": {
"en-us": "string"
},
"isIndexable": "string",
"validation": "string",
"isFilterable": "string",
"isSimpleType": "string",
"value": "string",
"comment": {
"en-us": "string"
},
"dictionaryIsStatic": "string",
"isUnique": "string",
"collection": "string"
},
"variation_of": {
"isSimpleType": "string",
"isFilterable": "string",
"type": "string",
"group": "string",
"validation": "string",
"label": {
"en-us": "string"
},
"isIndexable": "string",
"isSearchable": "string",
"collection": "string",
"dictionaryIsStatic": "string",
"isUnique": "string",
"value": "string",
"comment": {
"en-us": "string"
}
},
"sku": {
"isFilterable": "string",
"collection": "string",
"isSearchable": "string",
"comment": {
"en-us": "string"
},
"group": "string",
"type": "string",
"label": {
"en-us": "string"
},
"isIndexable": "string",
"isUnique": "string",
"validation": "string"
},
"rod_diameter": {
"collection": "string",
"isFilterable": "string",
"type": "string",
"isIndexable": "string",
"isUnique": "string",
"isSimpleType": "string",
"group": "string",
"label": {
"en-us": "string"
},
"dictionary": {
"visible": [
0
],
"sortingMethod": "string",
"columns": [
"string"
],
"validation": [
"string"
],
"sorting": [
"string"
],
"unique": [
0
],
"data": [
"string"
]
},
"validation": "string",
"value": "string",
"isSearchable": "string",
"comment": {
"en-us": "string"
},
"dictionaryIsStatic": "string"
},
"price": {
"value": "string",
"label": {
"en-us": "string"
},
"comment": {
"en-us": "string"
},
"collection": "string",
"group": "string",
"isFilterable": "string",
"isSimpleType": "string",
"validation": "string",
"isIndexable": "string",
"isUnique": "string",
"type": "string",
"isSearchable": "string",
"dictionaryIsStatic": "string"
},
"title": {
"isFilterable": "string",
"group": "string",
"collection": "string",
"label": {
"en-us": "string"
},
"comment": {
"en-us": "string"
},
"isIndexable": "string",
"isUnique": "string",
"validation": "string",
"isSearchable": "string",
"type": "string"
},
"categories": {
"type": "string",
"collection": "string",
"label": {
"en-us": "string"
},
"isUnique": "string",
"isFilterable": "string",
"isSearchable": "string",
"isIndexable": "string",
"validation": "string",
"group": "string",
"comment": {
"en-us": "string"
}
}
}
}
}
{
"products": [
{
"data": {
"attributes": {
"sku": "Part-number00",
"categories": [
"CategoryNameParent > CategoryName"
],
"status": "active",
"title": "Title PART-number00",
"price": "100.00",
"rod_diameter": "2.875 in (7.3 cm)",
"variation_attributes": [
"rod_diameter"
],
"variation_of": null,
"variation_skus": [
[
"Part-number01",
"Part-number02"
]
],
"variation_matrix": {
"Part-number01": {
"rod_diameter": [
"1.66 in (4.22 cm)"
]
},
"Part-number02": {
"rod_diameter": [
"2.625 in (6.67 cm)"
]
},
"Part-number00": {
"rod_diameter": [
"2.875 in (7.3 cm)"
]
}
}
}
},
"sku": "Part-number00"
}
],
"definition": {
"status": {
"type": "string",
"collection": "string",
"isUnique": "string",
"label": {
"en-us": "string"
},
"validation": "string",
"isSearchable": "string",
"isIndexable": "string",
"isFilterable": "string",
"group": "string",
"comment": {
"en-us": "string"
}
},
"variation_skus": {
"isUnique": "string",
"dictionaryIsStatic": "string",
"comment": {
"en-us": "string"
},
"value": "string",
"collection": "string",
"isIndexable": "string",
"label": {
"en-us": "string"
},
"validation": "string",
"group": "string",
"type": "string",
"isSearchable": "string",
"isSimpleType": "string",
"isFilterable": "string"
},
"variation_attributes": {
"isSearchable": "string",
"group": "string",
"type": "string",
"label": {
"en-us": "string"
},
"isIndexable": "string",
"validation": "string",
"isFilterable": "string",
"isSimpleType": "string",
"value": "string",
"comment": {
"en-us": "string"
},
"dictionaryIsStatic": "string",
"isUnique": "string",
"collection": "string"
},
"variation_of": {
"isSimpleType": "string",
"isFilterable": "string",
"type": "string",
"group": "string",
"validation": "string",
"label": {
"en-us": "string"
},
"isIndexable": "string",
"isSearchable": "string",
"collection": "string",
"dictionaryIsStatic": "string",
"isUnique": "string",
"value": "string",
"comment": {
"en-us": "string"
}
},
"sku": {
"isFilterable": "string",
"collection": "string",
"isSearchable": "string",
"comment": {
"en-us": "string"
},
"group": "string",
"type": "string",
"label": {
"en-us": "string"
},
"isIndexable": "string",
"isUnique": "string",
"validation": "string"
},
"rod_diameter": {
"collection": "string",
"isFilterable": "string",
"type": "string",
"isIndexable": "string",
"isUnique": "string",
"isSimpleType": "string",
"group": "string",
"label": {
"en-us": "string"
},
"dictionary": {
"visible": [
0
],
"sortingMethod": "string",
"columns": [
"string"
],
"validation": [
"string"
],
"sorting": [
"string"
],
"unique": [
0
],
"data": [
"string"
]
},
"validation": "string",
"value": "string",
"isSearchable": "string",
"comment": {
"en-us": "string"
},
"dictionaryIsStatic": "string"
},
"price": {
"value": "string",
"label": {
"en-us": "string"
},
"comment": {
"en-us": "string"
},
"collection": "string",
"group": "string",
"isFilterable": "string",
"isSimpleType": "string",
"validation": "string",
"isIndexable": "string",
"isUnique": "string",
"type": "string",
"isSearchable": "string",
"dictionaryIsStatic": "string"
},
"title": {
"isFilterable": "string",
"group": "string",
"collection": "string",
"label": {
"en-us": "string"
},
"comment": {
"en-us": "string"
},
"isIndexable": "string",
"isUnique": "string",
"validation": "string",
"isSearchable": "string",
"type": "string"
},
"categories": {
"type": "string",
"collection": "string",
"label": {
"en-us": "string"
},
"isUnique": "string",
"isFilterable": "string",
"isSearchable": "string",
"isIndexable": "string",
"validation": "string",
"group": "string",
"comment": {
"en-us": "string"
}
}
},
"status": "OK",
"sku_count": 1
}
{
"status": "OK",
"total_count": 13,
"history": [
{
"user": "axxx...xxx9",
"new": {
"price": "110.50"
},
"old": {
"price": "100"
},
"formatted_date_round": "2024-02-13 00:00:00",
"date": 1707831737
},
{
"formatted_date_round": "2024-02-23 00:00:00",
"date": 1708668919,
"new": {
"title": "New Test SKU"
},
"user": "axxx...xxx9",
"old": {
"title": "Test SKU"
}
}
],
"definition": {
"status": {
"type": "string",
"collection": "string",
"isUnique": "string",
"label": {
"en-us": "string"
},
"validation": "string",
"isSearchable": "string",
"isIndexable": "string",
"isFilterable": "string",
"group": "string",
"comment": {
"en-us": "string"
}
},
"variation_skus": {
"isUnique": "string",
"dictionaryIsStatic": "string",
"comment": {
"en-us": "string"
},
"value": "string",
"collection": "string",
"isIndexable": "string",
"label": {
"en-us": "string"
},
"validation": "string",
"group": "string",
"type": "string",
"isSearchable": "string",
"isSimpleType": "string",
"isFilterable": "string"
},
"variation_attributes": {
"isSearchable": "string",
"group": "string",
"type": "string",
"label": {
"en-us": "string"
},
"isIndexable": "string",
"validation": "string",
"isFilterable": "string",
"isSimpleType": "string",
"value": "string",
"comment": {
"en-us": "string"
},
"dictionaryIsStatic": "string",
"isUnique": "string",
"collection": "string"
},
"variation_of": {
"isSimpleType": "string",
"isFilterable": "string",
"type": "string",
"group": "string",
"validation": "string",
"label": {
"en-us": "string"
},
"isIndexable": "string",
"isSearchable": "string",
"collection": "string",
"dictionaryIsStatic": "string",
"isUnique": "string",
"value": "string",
"comment": {
"en-us": "string"
}
},
"sku": {
"isFilterable": "string",
"collection": "string",
"isSearchable": "string",
"comment": {
"en-us": "string"
},
"group": "string",
"type": "string",
"label": {
"en-us": "string"
},
"isIndexable": "string",
"isUnique": "string",
"validation": "string"
},
"rod_diameter": {
"collection": "string",
"isFilterable": "string",
"type": "string",
"isIndexable": "string",
"isUnique": "string",
"isSimpleType": "string",
"group": "string",
"label": {
"en-us": "string"
},
"dictionary": {
"visible": [
0
],
"sortingMethod": "string",
"columns": [
"string"
],
"validation": [
"string"
],
"sorting": [
"string"
],
"unique": [
0
],
"data": [
"string"
]
},
"validation": "string",
"value": "string",
"isSearchable": "string",
"comment": {
"en-us": "string"
},
"dictionaryIsStatic": "string"
},
"price": {
"value": "string",
"label": {
"en-us": "string"
},
"comment": {
"en-us": "string"
},
"collection": "string",
"group": "string",
"isFilterable": "string",
"isSimpleType": "string",
"validation": "string",
"isIndexable": "string",
"isUnique": "string",
"type": "string",
"isSearchable": "string",
"dictionaryIsStatic": "string"
},
"title": {
"isFilterable": "string",
"group": "string",
"collection": "string",
"label": {
"en-us": "string"
},
"comment": {
"en-us": "string"
},
"isIndexable": "string",
"isUnique": "string",
"validation": "string",
"isSearchable": "string",
"type": "string"
},
"categories": {
"type": "string",
"collection": "string",
"label": {
"en-us": "string"
},
"isUnique": "string",
"isFilterable": "string",
"isSearchable": "string",
"isIndexable": "string",
"validation": "string",
"group": "string",
"comment": {
"en-us": "string"
}
}
}
}
If there is an error with the API request, additional information will be provided in the response body.
Examples of error messages include:
listProduct: is called and sku is set:
"status_message": "Product does not exist!"
listProductsBySku:
"status_message": "SKU list is not provided!"
"status_message": "List of SKUs should be an ARRAY!"
"status_message": "The SKU list is empty!"
editProduct:
"status_message": "SKU cannot be empty!
"status_message": "Product does not exist!"
createProduct:
"status_message": "SKU cannot be empty!
"status_message": "Product already exists!"
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [Error
]
The status of the API request. A value of "Error" indicates that the request was not successfully sent or processed.
Provides a message that describes the reason for the error that occurred while processing the API request.
{
"status": "Error",
"status_message": "string"
}