# Add to an exisiting order Use the following request body schema to add new quantities or an additional product(s) to an existing order by entering add as the Status parameter value. Endpoint: PATCH /orders/orderid - Add to an existing order Version: 3.0.0 Security: ## Request fields (application/json): - `orderId` (string, required) Enter the original order ID. Example: "123abc" - `status` (string, required) Enter the status as Add. Example: "Add" - `disregardHoldPeriod` (string) Enter Yes or No based on the flag enabled. YES- instructs the system to bypass the standard hold period for the points associated with the order. It releases the points to the member immediately, overriding the default holding period. NO- the points will follow the standard hold process before being released. Example: "YES" - `orderDetail` (object, required) Enter the order details for the products from the order that you would like to add to the order in the orderDetail object as follows. - `orderDetail.id` (string) Enter the unique product ID. Example: "p1" - `orderDetail.quantity` (integer) Enter the quantity of the product purchased. Example: 2 - `orderDetail.unitPrice` (integer) Enter the unit price of the product. Example: 230 - `orderDetail.secondarykey` (string) Enter the unique secondary key. The secondary key is an essential element in handling orders that contain multiple products with the same product ID. If a member wants to return a product after the order is shipped, the system may encounter issues due to the identical product IDs. However, the secondary key comes in handy to differentiate between the products, enabling the system to identify each product accurately and process partial returns or cancellations of the order successfully. Note - If the secondary key flag is enabled in the Products > Actions > Action Rules > Purchase > Advanced Settings > Additional Settings > Enable Secondary Key for Product page, the field is required; otherwise, it's optional. Example: "p101" ## Response 200 fields (application/json): - `siteId` (string) Displays the Annex Cloud site ID for the loyalty program. Example: 123456 - `disregardHoldPeriod` (string) Displays whether the system has successfully disregarded the hold period for the points associated with the order. If set to YES, the hold period was bypassed, and the points were released to the member immediately. If set to NO, the points are still subject to the standard hold period before being released. Example: "YES" - `orderId` (string) Displays the unique ID of the order. Example: "ORDER17840" - `pointsOnHold` (integer) Displays the total points on hold for the member from the placed order. - `pointsAwarded` (integer) Displays the total points awarded against the order. Example: 60 - `currentAwardedPoints` (integer) Displays the points against the current product ID and quantity added to the order. Example: 200 - `pointsExpirationDate` (string) Displays the points expiration date in the following format- yyyy-MM-dd'T'HH:mm:ssZ. Example: "2020-04-01T00:00:00-0700" - `updatedAvailablePoints` (integer) Displays the updated total number of available points for the member. Example: 650 - `updatedLifetimePoints` (integer) Displays the updated number of lifetime points for the member. Example: 2000 - `previousTier` (string) Displays the previous member tier after the points are awarded/removed. Example: "Silver" - `updatedUserTier` (string) Displays the updated member tier after the points are awarded/removed. Example: "Silver" - `orderDetail` (object) Displays the product details for the order as shown below. - `orderDetail.id` (string) Displays the unique ID of the product. Example: "p1" - `orderDetail.quantity` (integer) Displays the quantity of the product purchased. Example: 2 - `orderDetail.unitPrice` (integer) Displays the unit price of the product. Example: 230 - `orderDetail.points` (integer) Displays the number of points the member earns after purchasing the product. Example: 370 - `orderDetail.currentTier` (string) Displays the name of the loyalty member's current tier. For example, Bronze, Silver, Gold. The name of the tier is defined by the client during configuration of the loyalty program. Example: "Silver" - `orderDetail.nextTier` (string) Displays the name of the next tier which is awarded to the member once the required milestones are achieved. Example: "Gold" - `orderDetail.pointsToNextTier` (integer) Displays the number of points required to achieve the next tier. This depends on the point threshold required to reach the next tier and the number of points the member currently has in their account. Example: 100 - `orderDetail.currentTierPurchaseRatio` (integer) Displays the purchase ratio that is applied to the member for this tier while earning purchase points. Example: 1 - `orderDetail.spendAmountToNextTier` (integer) Displays the amount the member needs to spend to achieve the next tier. This is only applicable to tiers where the metric is spend-based. If the tier metric is points-based or based on extended attributes, it will not show any additional values. Example: 200 - `orderDetail.tierAchievedDate` (string) Displays the current tier achievement date in the following format- yyyy-MM-dd'T'HH:mm:ssZ. Example: "2020-04-01T00:00:00-0700" - `orderDetail.secondarykey` (string) Displays the unique secondary key. The secondary key is an essential element in handling orders that contain multiple products with the same product ID. If a member wants to return a product after the order is shipped, the system may encounter issues due to the identical product IDs. However, the secondary key comes in handy to differentiate between the products, enabling the system to identify each product accurately and process partial returns or cancellations of the order successfully. Example: "p101"