Skip to main content
POST
/
admin
/
products
/
{id}
/
attributes
/
batch
curl -X POST 'http://localhost:9000/admin/products/prod_01HXYZABCDEF/attributes/batch' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "add": [{ "id": "pattr_01HXYZABCDEF", "value_ids": ["pattrval_01HXYZABCDEF"] }],
    "remove": ["pattr_01HXYZABCDEG"]
  }'
{
  "product": {
    "id": "prod_01HXYZABCDEF",
    "title": "Linen Shirt",
    "status": "published",
    "product_attribute_values": [
      {
        "id": "pattrval_01HXYZABCDEF",
        "name": "Linen",
        "attribute": { "id": "pattr_01HXYZABCDEF", "name": "Material", "type": "single_select" }
      }
    ],
    "scoped_attributes": []
  }
}
Applies attribute changes to the product in the order removeaddupdate.

Path parameters

id
string
required
The product’s ID.

Body parameters

add
object[]
Attributes to attach — one of two shapes per item.
remove
string[]
IDs of attributes to detach from the product.
update
object[]
Changes to attributes already on the product.

Response

product
object
curl -X POST 'http://localhost:9000/admin/products/prod_01HXYZABCDEF/attributes/batch' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "add": [{ "id": "pattr_01HXYZABCDEF", "value_ids": ["pattrval_01HXYZABCDEF"] }],
    "remove": ["pattr_01HXYZABCDEG"]
  }'
{
  "product": {
    "id": "prod_01HXYZABCDEF",
    "title": "Linen Shirt",
    "status": "published",
    "product_attribute_values": [
      {
        "id": "pattrval_01HXYZABCDEF",
        "name": "Linen",
        "attribute": { "id": "pattr_01HXYZABCDEF", "name": "Material", "type": "single_select" }
      }
    ],
    "scoped_attributes": []
  }
}