{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/RegisterChangeRequest", "title": "RegisterChangeRequest", "required": [ "requestId", "reason", "discountValue", "incrementValue" ], "type": "object", "properties": { "requestId": { "type": "string", "description": "Request identification of the change. Only the first change made with each `requestId` will be effective on a given order. Use different IDs for different changes to the same order.", "example": "change-request-0123" }, "reason": { "type": "string", "description": "Reason for order change. This may be shown to the shopper in the UI or transactional emails.", "example": "Stock shortage" }, "discountValue": { "type": "integer", "description": "This field can be used to apply a discount to the total value of the order. Value in cents.", "example": 100 }, "incrementValue": { "type": "integer", "description": "This field can be used to increment the total value of the order. Value in cents.", "example": 100 }, "itemsRemoved": { "type": "array", "description": "List of items that should be removed from the order.", "items": { "type": "object", "description": "Removed items' details.", "required": [ "id", "price", "quantity" ], "properties": { "id": { "type": "string", "description": "Product ID of the item.", "example": "0" }, "price": { "type": "integer", "description": "Price of the item in cents.", "example": 2499 }, "quantity": { "type": "integer", "description": "Amount of items to be removed.", "example": 1 } } } }, "itemsAdded": { "type": "array", "description": "List of items that should be added to the order.", "items": { "type": "object", "description": "Added items' details.", "required": [ "id", "price", "quantity" ], "properties": { "id": { "type": "string", "description": "Product ID of the item.", "example": "0" }, "price": { "type": "integer", "description": "Price of the item in cents.", "example": 2499 }, "quantity": { "type": "integer", "description": "Amount of items to be added.", "example": 1 } } } } } }