Create a modifier
POSThttps://euwest.api.elasticpath.com/pcm/variations/:variationID/options/:optionID/modifiers
You can specify different modifiers for different options in a variation. When you build child products using options in variations, the properties of a child products depends on the modifier set for the options that are applied to the child product.
The table below describes the different types of modifiers.
Modifier | Data Type | Effect |
---|---|---|
name_equals | string | Overrides the name of the child product with the name specified by the modifier. |
name_append | string | Appends the string specified in the modifier to the name of the child product. |
name_prepend | string | Prepends the string specified in the modifier to the name of the child product. |
description_equals | string | Overrides the description of the child product. |
description_append | string | Appends the string specified in the modifier to the description of the child product. |
description_prepend | string | Prepends the string specified in the modifier to the product description of the child product. |
commodity_type | string | Sets the commodity type of the child product, such as physical or digital . |
price | string | Allows application of price modifiers (price_increment , price_decrement , and price_equals ) to the child products. |
price_increment | string | Increases the price of the child product. |
price_decrement | string | Decreases the price of the child product. |
price_equals | string | Sets the price of a child product to the amount you specify. |
slug_append | string | Appends the string specified in the modifier to the slug of the child product. Can only contain A-Z, a-z, 0 to 9, hyphen, underscore, and period. Spaces or other special characters like ^, [], *, and $ are not allowed. However, for the slug-builder modifier, you can use {} in the seek field, for example, "seek": :{COLOR}" . |
slug_prepend | string | Prepends the string specified in the modifier to the slug of the child product. Can only contain A-Z, a-z, 0 to 9, hyphen, underscore, and period. Spaces or other special characters like ^, [], *, and $ are not allowed. However, for the slug-builder modifier, you can use {} in the seek field, for example, "seek": :{COLOR}" . |
slug_builder | string | Sets a part of the slug of the child product. Can only contain A-Z, a-z, 0 to 9, hyphen, underscore, and period. Spaces or other special characters like ^, [], *, and $ are not allowed. However, for the slug-builder modifier, you can use {} in the seek field, for example, "seek": :{COLOR}" . |
sku_equals | string | Sets the SKU of the child product. |
sku_append | string | Appends the string specified in the modifier to the SKU of the child product. |
sku_prepend | string | Prepends the string specified in the modifier to the SKU of the child product. |
sku_builder | string | Sets a part of the SKU of the child product. |
status | string | Sets the status of the child product, such as draft or live . |
Request
Path Parameters
variationID stringrequired
A unique identifier for the variation.
optionID stringrequired
A unique identifier for the option.
- application/json
Body
data objectrequired
Responses
- 201
- 422
- 500
Successfully returns the created modifier
- application/json
- Schema
- Example (from schema)
- created-variation-modifier
Schema
data object
{
"data": {
"id": "string",
"type": "product-variation-modifier",
"attributes": {
"type": "commodity_type",
"value": "string",
"seek": "string",
"set": "string",
"reference_name": "string"
},
"meta": {
"owner": "organization"
}
}
}
{
"data": {
"type": "product-variation-modifier",
"id": "a510cddc-e946-4c22-9541-54626a7cf0ec",
"attributes": {
"seek": "{color}",
"set": "red",
"type": "slug_builder"
},
"meta": {
"owner": "store"
}
}
}
Bad request. The request failed validation.
- application/json
- Schema
- Example (from schema)
- failed-validation
Schema
errors undefined[]required
{
"errors": [
{
"status": "500",
"title": "Internal server error",
"detail": "An internal error has occurred.",
"request_id": "00000000-0000-0000-0000-000000000000",
"meta": {
"missing_ids": [
"e7d50bd5-1833-43c0-9848-f9d325b08be8"
]
}
}
]
}
{
"errors": [
{
"title": "Failed Validation",
"status": "422",
"detail": "<XYZ> can not be empty"
}
]
}
Internal server error. There was a system failure in the platform.
- application/json
- Schema
- Example (from schema)
- internal-server-error
Schema
errors undefined[]required
{
"errors": [
{
"status": "500",
"title": "Internal server error",
"detail": "An internal error has occurred.",
"request_id": "00000000-0000-0000-0000-000000000000",
"meta": {
"missing_ids": [
"e7d50bd5-1833-43c0-9848-f9d325b08be8"
]
}
}
]
}
{
"errors": [
{
"status": "500",
"title": "Internal Server Error",
"detail": "There was an internal server error, you can report with your request id.",
"request_id": "635da56d-75a1-43cd-b696-7ab119756b3a"
}
]
}
Authorization: http
name: bearerAuthtype: httpscheme: bearer
- curl
- python
- go
- nodejs
- ruby
- csharp
- php
- java
- powershell
- CURL
curl -L -X POST 'https://euwest.api.elasticpath.com/pcm/variations/:variationID/options/:optionID/modifiers' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"data": {
"type": "product-variation-modifier",
"attributes": {
"type": "commodity_type",
"value": "string",
"seek": "string",
"set": "string",
"reference_name": "string"
}
}
}'
ResponseClear