It's because you're using the custom options object - you need to use the configurable options object to pass through configurable attributes using the "configurable_item_options" object. { "cartItem": { "item_id": 0, "sku": "string", "qty": 0, "name": "string", "price": 0, "product_type": "string", "quote_id": "string", "product_option": { "extension_attributes": { configurable_item_options": [ { "option_id": "string", "option_value": 0, "extension_attributes": {} } ] } }, "extension_attributes": {} } }