{
  "openapi": "3.1.0",
  "info": {
    "title": "Multi-Point Bucket V3 APIs",
    "description": "Welcome to the Multi Point Bucket (MPB) API documentation for Annex Cloud, the Multi Point Bucket feature is a powerful tool available in various API’s such as Tiers, Orders, Rewards, Points, Products, and Cart.\n\nThe MPB feature allows for the creation of multiple buckets for points, each representing a different type or purpose. This enables users to track and manage points more effectively, ensuring that they are allocated correctly according to the defined rules and criteria.\n\nUsing the MPB feature with the GET, POST and PATCH methods, users can define criteria based on products and orders to determine eligibility for earning or redeeming points and rewards. For example, users can set rules that specify which products or categories of products are eligible for earning points towards the additional point buckets or establish thresholds for the minimum purchase amount required to earn points.\n\nOverall, the Multi Point Bucket feature enhances the functionality of various API’s by providing a flexible and customizable solution for configuring eligibility criteria for members associated with points, rewards, tiers, products, and orders. This allows businesses to create loyalty programs and rewards systems that are tailored to meet the unique needs of their customers and drive engagement and loyalty.",
    "version": "3.0.1"
  },
  "servers": [
    {
      "url": "https://s15.socialannex.net/api/3.0"
    }
  ],
  "paths": {
    "/users/{{memberId}}/tiers": {
      "get": {
        "tags": [
          "Tiers"
        ],
        "summary": "Get tier information for a loyalty member",
        "description": "This method retrieves tier details for a specific member using their member ID.",
        "operationId": "getTiersInfo",
        "parameters": [
          {
            "name": "memberId",
            "in": "path",
            "description": "Enter the unique ID of the member.",
            "example": "johan19.sa@gmail.com",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getTiersInfo"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/getTiersInfo"
                }
              }
            }
          },
          "400": {
            "description": "AC1004 Invalid status value"
          }
        }
      }
    },
    "/orders": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Create new order",
        "description": "Use the POST method in the Orders API to create a new order placed by a member of the loyalty program. Include fields such as email, first name, last name, order total, coupon code, reward, and any additional fields as needed.",
        "operationId": "createOrder",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "description": "Enter the order ID for the order.",
                    "example": "abc120",
                    "type": "string"
                  },
                  "userId": {
                    "description": "Enter the unique ID of the loyalty member.",
                    "example": "user@domain.com",
                    "type": "string"
                  },
                  "email": {
                    "description": "Enter the email address of the loyalty member.",
                    "example": "johan19.sa@gmail.com",
                    "type": "string"
                  },
                  "firstName": {
                    "description": "Enter the first name of the loyalty member.",
                    "example": "John",
                    "type": "string"
                  },
                  "lastName": {
                    "description": "Enter the last name of the loyalty member.",
                    "example": "Deo",
                    "type": "string"
                  },
                  "optInStatus": {
                    "description": "Enter the opt-in status as YES for opt-in or NO for opt-out. The default opt-in status is YES.",
                    "example": "YES",
                    "type": "string"
                  },
                  "status": {
                    "description": "Enter the loyalty member’s status as active or inactive. By default, it is active and can be changed to inactive as per the client’s request.",
                    "example": "ACTIVE",
                    "type": "string"
                  },
                  "phone": {
                    "description": "Enter the loyalty member’s phone number.",
                    "example": "123-123-4567",
                    "type": "string"
                  },
                  "birthDate": {
                    "description": "Enter the loyalty member's date of birth in yyyy-MM-dd format.",
                    "example": "1989-12-11",
                    "type": "string"
                  },
                  "anniversaryDate": {
                    "description": "Enter the loyalty member's anniversary date in yyyy-MM-dd format. This can be their birthdate, the date they joined the loyalty program or marriage date.",
                    "example": "2023-12-11",
                    "type": "string"
                  },
                  "createDate": {
                    "description": "Enter the date when the loyalty member’s profile was created in yyyy-MM-dd'T'HH:mm:ssZ format. If the date is not provided, by default, the system takes the current date and time automatically.",
                    "example": "2024-08-08 07:00:12",
                    "type": "string"
                  },
                  "orderTotal": {
                    "description": "Enter the total amount spent on the order.",
                    "example": 100,
                    "type": "integer"
                  },
                  "storeId": {
                    "description": "Enter the unique ID of the store.",
                    "example": "bc34",
                    "type": "string"
                  },
                  "source": {
                    "description": "Enter the source where the order was placed by the loyalty member. For example, web or store.",
                    "example": "web",
                    "type": "string"
                  },
                  "discountAmount": {
                    "description": "Enter the total discount amount applied to the order.",
                    "example": 5,
                    "type": "integer"
                  },
                  "coupon": {
                    "description": "Enter the coupon code applied to the order.",
                    "example": "SARL0RXQ12017",
                    "type": "string"
                  },
                  "rewardId": {
                    "description": "Enter the reward ID of the reward being applied to the order.",
                    "example": 1234,
                    "type": "integer"
                  },
                  "rewardName": {
                    "description": "Enter the name of the reward.",
                    "example": "Reward234",
                    "type": "string"
                  },
                  "shipping amount": {
                    "description": "Enter the amount that will be applied for shipping the order.",
                    "example": 250,
                    "type": "integer"
                  },
                  "orderDetail": {
                    "type": "object",
                    "description": "Enter the order details presented in the orderDetail object as follows.",
                    "properties": {
                      "Id": {
                        "description": "Enter the unique ID of the product.",
                        "example": "p1",
                        "type": "string"
                      },
                      "productName": {
                        "description": "Enter the name of the product.",
                        "example": "smart phone",
                        "type": "string"
                      },
                      "quantity": {
                        "description": "Enter the quantity of the product that has been purchased.",
                        "example": 2,
                        "type": "integer"
                      },
                      "unitPrice": {
                        "description": "Enter the unit price of the product.",
                        "example": 50,
                        "type": "integer"
                      },
                      "estimatedShipDate": {
                        "description": "Enter the estimated date the product will be shipped in yyyy-MM-dd'T'HH:mm:ssZ format.",
                        "example": "2023-04-01T00:00:00-0700",
                        "type": "string"
                      },
                      "categoryId": {
                        "description": "Enter the category ID of the product.",
                        "example": 23,
                        "type": "integer"
                      },
                      "categoryName": {
                        "description": "Enter the category name of the product.",
                        "example": "electronic devices",
                        "type": "string"
                      },
                      "url": {
                        "description": "Enter the product URL.",
                        "example": "https://www.annexcloud.com/",
                        "type": "string"
                      },
                      "imageUrl": {
                        "description": "Enter the product image URL.",
                        "example": "domain.com/image.gif",
                        "type": "string"
                      },
                      "description": {
                        "description": "Enter the applicable description of the product.",
                        "example": "A smartphone is a mobile device that combines the functionality of a phone with computer capabilities such as internet access, apps, and multimedia features.",
                        "type": "string"
                      },
                      "secondarykey": {
                        "description": "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.",
                        "example": "p101",
                        "type": "string"
                      },
                      "autoDelivery": {
                        "description": "Enter the auto delivery as YES or NO for the products. If not provided, then by default it is YES. Note - It's an optional field but if the \"Enable Loyalty V3 Auto Delivery\" flag is enabled, then this is a mandatory (Required) field.",
                        "example": "YES",
                        "type": "string"
                      }
                    }
                  }
                },
                "required": [
                  "id",
                  "userId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/createOrder"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/createOrder"
                }
              }
            }
          },
          "405": {
            "description": "AC1002 Request Not Authorized"
          }
        }
      }
    },
    "/orders/{{orderId}}": {
      "patch": {
        "tags": [
          "Orders"
        ],
        "summary": "Update the order",
        "description": "Use the PATCH method in the Orders API to update the order status of a shipment to ship, return, or cancel status in the input parameter. Orders can be updated based on their status, including partial or full shipment of the order, partial or full return of the product, and partial or full cancellation of the order.",
        "operationId": "updateOrder",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "Different body parameters": {
                    "type": "object",
                    "description": "Different body parameters are shown below in accordance with the order update needed.",
                    "properties": {
                      "For Partial Ship": {
                        "type": "object",
                        "description": "Enter the following parameter details.",
                        "properties": {
                          "orderId": {
                            "description": "Enter the original order ID.",
                            "example": "satestorder1",
                            "type": "string"
                          },
                          "userId": {
                            "description": "Enter the unique ID of the loyalty member.",
                            "example": "cotton.sa@gmail.com",
                            "type": "string"
                          },
                          "status": {
                            "description": "Enter the status as ship.",
                            "example": "ship",
                            "type": "string"
                          },
                          "orderDetail": {
                            "type": "object",
                            "description": "Enter the order details presented in the orderDetail object as follows.",
                            "properties": {
                              "id": {
                                "description": "Enter the unique ID of the product.",
                                "example": "p1",
                                "type": "string"
                              },
                              "productName": {
                                "description": "Enter the name of the product.",
                                "example": "smart phone",
                                "type": "string"
                              },
                              "quantity": {
                                "description": "Enter the quantity of the product that has been purchased.",
                                "example": 2,
                                "type": "integer"
                              },
                              "unitPrice": {
                                "description": "Enter the unit price of the product.",
                                "example": 50,
                                "type": "integer"
                              },
                              "estimatedShipDate": {
                                "description": "Enter the estimated date the product will be shipped in yyyy-MM-dd'T'HH:mm:ssZ format.",
                                "example": "2023-04-01T00:00:00-0700",
                                "type": "string"
                              },
                              "categoryId": {
                                "description": "Enter the category ID of the product.",
                                "example": 23,
                                "type": "integer"
                              },
                              "categoryName": {
                                "description": "Enter the category name of the product.",
                                "example": "electronic devices",
                                "type": "string"
                              },
                              "url": {
                                "description": "Enter the product URL.",
                                "example": "https://www.annexcloud.com/",
                                "type": "string"
                              },
                              "imageUrl": {
                                "description": "Enter the product image URL.",
                                "example": "domain.com/image.gif",
                                "type": "string"
                              },
                              "description": {
                                "description": "Enter the applicable description of the product.",
                                "example": "A smartphone is a mobile device that combines the functionality of a phone with computer capabilities such as internet access, apps, and multimedia features.",
                                "type": "string"
                              },
                              "secondarykey": {
                                "description": "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.",
                                "example": "p101",
                                "type": "string"
                              },
                              "autoDelivery": {
                                "description": "Enter the auto delivery as YES or NO for the products. If not provided, then by default it is YES. Note - It's an optional field but if the \"Enable Loyalty V3 Auto Delivery\" flag is enabled, then this is a mandatory (Required) field.",
                                "example": "YES",
                                "type": "string"
                              }
                            }
                          }
                        }
                      },
                      "For Full Ship": {
                        "type": "object",
                        "description": "Enter the following parameter details for the order.",
                        "properties": {
                          "orderId": {
                            "description": "Enter the original order ID.",
                            "example": "satestorder1",
                            "type": "string"
                          },
                          "status": {
                            "description": "Enter the status as ship.",
                            "example": "ship",
                            "type": "string"
                          }
                        }
                      },
                      "For Full Return": {
                        "type": "object",
                        "description": "Enter the following details for the order.",
                        "properties": {
                          "orderId": {
                            "description": "Enter the original order ID.",
                            "example": "satestorder1",
                            "type": "string"
                          },
                          "status": {
                            "description": "Enter the status as return.",
                            "example": "return",
                            "type": "string"
                          }
                        }
                      },
                      "For Partial Return": {
                        "type": "object",
                        "description": "Enter the following parameter details.",
                        "properties": {
                          "orderId": {
                            "description": "Enter the original order ID.",
                            "example": "satestorder1",
                            "type": "string"
                          },
                          "status": {
                            "description": "Enter the status as return.",
                            "example": "return",
                            "type": "string"
                          },
                          "reason": {
                            "description": "Enter an explanation for why part of the order was returned.",
                            "example": "credit memo",
                            "type": "string"
                          },
                          "orderDetail": {
                            "type": "object",
                            "description": "Enter the order details presented in the orderDetail object as follows.",
                            "properties": {
                              "id": {
                                "description": "Enter the unique ID of the product.",
                                "example": "p1",
                                "type": "string"
                              },
                              "productName": {
                                "description": "Enter the name of the product.",
                                "example": "smart phone",
                                "type": "string"
                              },
                              "quantity": {
                                "description": "Enter the quantity of the product that has been purchased.",
                                "example": 2,
                                "type": "integer"
                              },
                              "unitPrice": {
                                "description": "Enter the unit price of the product.",
                                "example": 50,
                                "type": "integer"
                              },
                              "estimatedShipDate": {
                                "description": "Enter the estimated date the product will be shipped in yyyy-MM-dd'T'HH:mm:ssZ format.",
                                "example": "2023-04-01T00:00:00-0700",
                                "type": "string"
                              },
                              "categoryId": {
                                "description": "Enter the category ID of the product.",
                                "example": 23,
                                "type": "integer"
                              },
                              "categoryName": {
                                "description": "Enter the category name of the product.",
                                "example": "electronic devices",
                                "type": "string"
                              },
                              "url": {
                                "description": "Enter the product URL.",
                                "example": "https://www.annexcloud.com/",
                                "type": "string"
                              },
                              "imageUrl": {
                                "description": "Enter the product image URL.",
                                "example": "domain.com/image.gif",
                                "type": "string"
                              },
                              "description": {
                                "description": "Enter the applicable description of the product.",
                                "example": "A smartphone is a mobile device that combines the functionality of a phone with computer capabilities such as internet access, apps, and multimedia features.",
                                "type": "string"
                              }
                            }
                          }
                        }
                      },
                      "For Full Cancel": {
                        "type": "object",
                        "description": "Enter the following parameter details for the order being cancelled.",
                        "properties": {
                          "orderId": {
                            "description": "Enter the original order ID.",
                            "example": "satestorder1",
                            "type": "string"
                          },
                          "status": {
                            "description": "Enter the status as cancel.",
                            "example": "cancel",
                            "type": "string"
                          }
                        }
                      },
                      "For Partial Cancel": {
                        "type": "object",
                        "description": "Enter the following parameter details.",
                        "properties": {
                          "orderId": {
                            "description": "Enter the original order ID.",
                            "example": "satestorder1",
                            "type": "string"
                          },
                          "status": {
                            "description": "Enter the status as cancel.",
                            "example": "cancel",
                            "type": "string"
                          },
                          "orderDetail": {
                            "type": "object",
                            "description": "Enter the order details presented in the orderDetail object as follows.",
                            "properties": {
                              "id": {
                                "description": "Enter the unique ID of the product.",
                                "example": "p1",
                                "type": "string"
                              },
                              "productName": {
                                "description": "Enter the name of the product.",
                                "example": "smart phone",
                                "type": "string"
                              },
                              "quantity": {
                                "description": "Enter the quantity of the product that has been purchased.",
                                "example": 2,
                                "type": "integer"
                              },
                              "unitPrice": {
                                "description": "Enter the unit price of the product.",
                                "example": 50,
                                "type": "integer"
                              },
                              "estimatedShipDate": {
                                "description": "Enter the estimated date the product will be shipped in yyyy-MM-dd'T'HH:mm:ssZ format.",
                                "example": "2023-04-01T00:00:00-0700",
                                "type": "string"
                              },
                              "categoryId": {
                                "description": "Enter the category ID of the product.",
                                "example": 23,
                                "type": "integer"
                              },
                              "categoryName": {
                                "description": "Enter the category name of the product.",
                                "example": "electronic devices",
                                "type": "string"
                              },
                              "url": {
                                "description": "Enter the product URL.",
                                "example": "https://www.annexcloud.com/",
                                "type": "string"
                              },
                              "imageUrl": {
                                "description": "Enter the product image URL.",
                                "example": "domain.com/image.gif",
                                "type": "string"
                              },
                              "description": {
                                "description": "Enter the applicable description of the product.",
                                "example": "A smartphone is a mobile device that combines the functionality of a phone with computer capabilities such as internet access, apps, and multimedia features.",
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ship"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ship"
                }
              }
            }
          },
          "405": {
            "description": "AC1002 Request Not Authorized"
          }
        }
      }
    },
    "/users/{{memberId}}/reward": {
      "get": {
        "tags": [
          "Rewards"
        ],
        "summary": "Fetch the list of all rewards for a member",
        "description": "This method can be used to retrieve a list of all available rewards against a member ID. The administrator needs to pass a unique member ID as the key to fetch the details.",
        "operationId": "getRewardsByUser",
        "parameters": [
          {
            "name": "memberId",
            "in": "path",
            "description": "Enter the unique ID of the member.",
            "example": "johan19.sa@gmail.com",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getRewardsByUser"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/getRewardsByUser"
                }
              }
            }
          },
          "405": {
            "description": "AC1002 Request Not Authorized"
          }
        }
      }
    },
    "/points": {
      "post": {
        "tags": [
          "Points"
        ],
        "summary": "Redeem, and award loyalty points to the member",
        "description": "Use the POST method in the Points API to give, redeem and award points to members of the loyalty program. All other fields in the request body are listed below.",
        "operationId": "addOrRedeemPoints",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "body": {
                    "type": "object",
                    "description": "Different body parameters are shown below depending on whether you’d like to redeem or award points.",
                    "properties": {
                      "To Redeem Custom Points": {
                        "type": "object",
                        "description": "Note - Custom points are not predefined in the system, instead, they are set and managed based on specific user-defined criteria.",
                        "properties": {
                          "id": {
                            "description": "Enter the unique ID for the member.",
                            "example": "johan19.sa@gmail.com",
                            "type": "string"
                          },
                          "actionId": {
                            "description": "Enter the unique action ID for the redemption of custom points performed by the member.",
                            "example": 107,
                            "type": "integer"
                          },
                          "activity": {
                            "description": "Enter debit in the activity field to indicate that the member is redeeming their custom points.",
                            "example": "debit",
                            "type": "string"
                          },
                          "rewardId": {
                            "description": "Enter the specific reward id associated with the points.",
                            "example": 27,
                            "type": "integer"
                          },
                          "orderId": {
                            "description": "Enter the loyalty member's order ID.",
                            "example": "A12345",
                            "type": "string"
                          },
                          "debit": {
                            "description": "Enter the number of points debited from the member’s account for redeeming custom points by performing the redemption action.",
                            "example": 121,
                            "type": "integer"
                          },
                          "reason": {
                            "description": "Enter the reason for removing points from the member’s account to redeem custom points.",
                            "example": "debit",
                            "type": "string"
                          },
                          "source": {
                            "description": "Enter the source from where the member performed the transaction. For example, Web or App.",
                            "example": "web",
                            "type": "string"
                          },
                          "pointsTierDebit": {
                            "description": "Enter the number of points if you are redeeming the member’s custom points from an additional tier point bucket. (This is only applicable if the loyalty program leverages multiple point buckets).",
                            "example": 50,
                            "type": "integer"
                          },
                          "coinsDebit": {
                            "description": "Enter the number of points in this field if you are redeeming the member’s custom points from an additional coins bucket. (This is only applicable if the loyalty program leverages multipoint buckets).",
                            "example": 50,
                            "type": "integer"
                          },
                          "coinsTierDebit": {
                            "description": "Enter the number of points if you are redeeming the member’s custom points from an additional tier coins bucket. (This is only applicable if the loyalty program leverages multiple point buckets).",
                            "example": 15,
                            "type": "integer"
                          },
                          "perksDebit": {
                            "description": "Enter the number of points in this field if you are redeeming the member’s custom points from an additional perks bucket. (This is only applicable if the loyalty program leverages multipoint buckets).",
                            "example": 50,
                            "type": "integer"
                          },
                          "perksTierDebit": {
                            "description": "Enter the number of points if you are redeeming the member’s custom points from an additional tier perks bucket. (This is only applicable if the loyalty program leverages multiple point buckets).",
                            "example": 15,
                            "type": "integer"
                          }
                        }
                      },
                      "To Award Custom Points": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "description": "Enter the unique ID for the member.",
                            "example": "johan19.sa@gmail.com",
                            "type": "string"
                          },
                          "actionId": {
                            "description": "Enter the unique action ID for which you are awarding custom points for the member. For example, the action ID for manual credit is 100.",
                            "example": 100,
                            "type": "integer"
                          },
                          "activity": {
                            "description": "Enter credit in the activity field to indicate that the points are awarded to the member’s account.",
                            "example": "credit",
                            "type": "string"
                          },
                          "credit": {
                            "description": "Enter the number of points credited to the member’s account for performing the action.",
                            "example": 12132,
                            "type": "integer"
                          },
                          "reason": {
                            "description": "Enter the reason for awarding points to the member’s account.",
                            "example": "bonus",
                            "type": "string"
                          },
                          "source": {
                            "description": "Enter the source from where the member performed the transaction. For example, Web or App.",
                            "example": "web",
                            "type": "string"
                          },
                          "pointsTierCredit": {
                            "description": "Enter the number of points if you are awarding the member’s custom points to an additional tier points bucket. (This is only applicable if the loyalty program leverages multiple point buckets).",
                            "example": 50,
                            "type": "integer"
                          },
                          "coinsCredit": {
                            "description": "Enter the number of points in this field if you are awarding the member’s custom points to an additional coins bucket. (This is only applicable if the loyalty program leverages multipoint buckets).",
                            "example": 50,
                            "type": "integer"
                          },
                          "coinsTierCredit": {
                            "description": "Enter the number of points if you are awarding the member’s custom points to an additional tier coins bucket. (This is only applicable if the loyalty program leverages multiple point buckets).",
                            "example": 15,
                            "type": "integer"
                          },
                          "perksCredit": {
                            "description": "Enter the number of points in this field if you are awarding the member’s custom points to an additional perks bucket. (This is only applicable if the loyalty program leverages multipoint buckets).",
                            "example": 50,
                            "type": "integer"
                          },
                          "perksTierCredit": {
                            "description": "Enter the number of points if you are awarding the member’s custom points to an additional tier perks bucket. (This is only applicable if the loyalty program leverages multiple point buckets).",
                            "example": 15,
                            "type": "integer"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddOrRemovePointsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AddOrRemovePointsResponse"
                }
              }
            }
          },
          "400": {
            "description": "AC1004 Invalid Order"
          }
        }
      }
    },
    "/points/{{memberId}}": {
      "get": {
        "tags": [
          "Points"
        ],
        "summary": "To retrieve point details for a member",
        "description": "This method retrieves point details associated with a member’s ID. The user needs to use the member’s user ID as a key to fetch all the points details.",
        "operationId": "Add/RemovePoints",
        "parameters": [
          {
            "name": "memberId",
            "in": "path",
            "description": "Enter the unique ID of the member.",
            "example": "johan19.sa@gmail.com",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getPointsDetails"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/getPointsDetails"
                }
              }
            }
          },
          "405": {
            "description": "AC1002 Request Not Authorized"
          }
        }
      }
    },
    "/products": {
      "post": {
        "tags": [
          "Product"
        ],
        "summary": "Enter the product information to calculate how many points the member will earn for their purchase",
        "description": "This API is used to display the points that a member will earn for purchasing a product.",
        "operationId": "ProductPoints",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "body": {
                    "type": "object",
                    "description": "Enter the following details.",
                    "properties": {
                      "id": {
                        "description": "Enter the unique ID of the member.",
                        "example": "samsa35.sa@gmail.com",
                        "type": "string"
                      },
                      "appliedPoints": {
                        "description": "Enter the number of points the member has applied to redeem on the cart page.",
                        "example": 245,
                        "type": "integer"
                      },
                      "discountAmount": {
                        "description": "Enter the total discount amount applied to the product.",
                        "example": 20,
                        "type": "integer"
                      },
                      "shippingAmount": {
                        "description": "Enter the amount that will be applied for shipping the product.",
                        "example": 200,
                        "type": "integer"
                      },
                      "productDetail": {
                        "type": "object",
                        "description": "Enter the product details.",
                        "properties": {
                          "id": {
                            "description": "Enter the unique ID of the product.",
                            "example": "samsa35.sa@gmail.com",
                            "type": "string"
                          },
                          "quantity": {
                            "description": "Enter the quantity of the product that has been purchased.",
                            "example": 1,
                            "type": "integer"
                          },
                          "unitPrice": {
                            "description": "Enter the unit price of the product.",
                            "example": 10,
                            "type": "integer"
                          },
                          "autoDelivery": {
                            "description": "Enter the auto delivery as YES or NO for the product. If not provided, then by default it is YES. Note - It's an optional field but if the \"Enable Loyalty V3 Auto Delivery\" flag is enabled, then this is a mandatory (Required) field.",
                            "example": "YES",
                            "type": "string"
                          },
                          "productName": {
                            "description": "Enter the name of the product.",
                            "example": "lorem",
                            "type": "string"
                          },
                          "categoryId": {
                            "description": "Enter the category ID for the product.",
                            "example": 23,
                            "type": "integer"
                          },
                          "categoryName": {
                            "description": "Enter the category name of the product.",
                            "example": "lorem ipsum",
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/productpointsresponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/productpointsresponse"
                }
              }
            }
          },
          "400": {
            "description": "AC1004 Invalid Order"
          }
        }
      }
    },
    "/cart": {
      "post": {
        "tags": [
          "Cart"
        ],
        "summary": "Points earned for the product(s) in cart",
        "description": "This method is used to display the number of points members will earn upon purchasing the products in their cart. This method accounts for any points the member is applying to the order in their cart for redemption.",
        "operationId": "ProductPointsCart",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userId": {
                    "description": "Enter the unique ID of the member.",
                    "example": "samsa35.sa@gmail.com",
                    "type": "string"
                  },
                  "appliedPoints": {
                    "description": "Enter the number of points the member has applied to redeem on the cart page.",
                    "example": 245,
                    "type": "integer"
                  },
                  "discountAmount": {
                    "description": "Enter the total discount amount applied to the order.",
                    "example": 20,
                    "type": "integer"
                  },
                  "shippingAmount": {
                    "description": "Enter the amount that will be applied for shipping the product.",
                    "example": 200,
                    "type": "integer"
                  },
                  "productDetail": {
                    "type": "object",
                    "description": "Enter the following details.",
                    "properties": {
                      "id": {
                        "description": "Enter the unique ID of the product.",
                        "example": "samsa35.sa@gmail.com",
                        "type": "string"
                      },
                      "quantity": {
                        "description": "Enter the quantity of the product that is being purchased.",
                        "example": 1,
                        "type": "integer"
                      },
                      "unitPrice": {
                        "description": "Enter the unit price of the product.",
                        "example": 10,
                        "type": "integer"
                      },
                      "autoDelivery": {
                        "description": "Enter the auto delivery as YES or NO for the products. If not provided, then by default it is YES. Note - It's an optional field but if the \"Enable Loyalty V3 Auto Delivery\" flag is enabled, then this is a mandatory (Required) field.",
                        "example": "YES",
                        "type": "string"
                      },
                      "productName": {
                        "description": "Enter the name of the product.",
                        "example": "lorem",
                        "type": "string"
                      },
                      "categoryId": {
                        "description": "Enter the category ID for the product.",
                        "example": 23,
                        "type": "integer"
                      },
                      "categoryName": {
                        "description": "Enter the category name of the product.",
                        "example": "lorem ipsum",
                        "type": "string"
                      }
                    }
                  }
                },
                "required": [
                  "userId",
                  "discountAmount"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cartproductpointsresponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/cartproductpointsresponse"
                }
              }
            }
          },
          "400": {
            "description": "AC1004 Invalid Order"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "getTiersInfo": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string",
            "description": "Displays Annex Cloud’s site ID for the loyalty program.",
            "example": 33986340
          },
          "currentTier": {
            "type": "string",
            "description": "Displays the loyalty member's current tier name. For example, Bronze, Silver, Gold.",
            "example": "Silver"
          },
          "previousTier": {
            "type": "string",
            "description": "Displays the previous tier that was assigned to the member.",
            "example": "Bronze"
          },
          "tierAchievedDate": {
            "type": "string",
            "description": "Displays the current tier achievement date in yyyy-MM-dd'T'HH:mm:ssZ format.",
            "example": "2022-04-01T00:00:00-0700"
          },
          "tierExpirationDate": {
            "type": "string",
            "description": "Displays the tier expiration date in yyyy-MM-dd'T'HH:mm:ssZ format. When the tier expiration date is reached, the current tier is no longer valid. The additional points in the bucket are deducted, and the tier sequence restarts from the base tier.",
            "example": "2023-04-01T00:00:00-0700"
          },
          "nextTier": {
            "type": "string",
            "description": "Displays the name of the next tier which is awarded to the member once the required milestones are achieved.",
            "example": "Gold"
          },
          "pointsToNextTier": {
            "type": "integer",
            "description": "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": 210
          },
          "purchaseRatio": {
            "type": "integer",
            "description": "Displays the purchase ratio established for the loyalty program, which will be applied to the member’s purchases. For example, if the purchase ratio is 2 and purchase amount is 400, then after completing the purchase, 800 points is awarded to the member.",
            "example": 2
          },
          "currentTierPurchaseRatio": {
            "type": "string",
            "description": "Displays the purchase ratio that is applied to the member for this tier while earning points for purchase.",
            "example": 0.5
          },
          "spendAmountToNextTier": {
            "type": "integer",
            "description": "Displays the amount the member must spend to achieve the next tier.",
            "example": 200
          },
          "currentTierRewards": {
            "type": "object",
            "description": "Displays the details of the current tier rewards.",
            "properties": {
              "rewardId": {
                "type": "integer",
                "description": "Displays the reward ID associated with the current tier.",
                "example": 1234
              },
              "rewardName": {
                "type": "string",
                "description": "Displays the name of the reward.",
                "example": "Reward First"
              },
              "tierEligible": {
                "type": "string",
                "description": "Displays the tier eligibility for the reward as true or false.",
                "example": true
              },
              "rewardLimit": {
                "type": "integer",
                "description": "Displays the number of times the reward can be awarded to each member.",
                "example": 2
              },
              "limitPeriod": {
                "type": "string",
                "description": "Displays the limit period assigned to the reward under the tier benefits section. Once the limit period has passed, the member is eligible for the reward again.",
                "example": "Day"
              },
              "redeemCount": {
                "type": "integer",
                "description": "Displays the number of times the member has redeemed the reward.",
                "example": 0
              },
              "remainingCount": {
                "type": "integer",
                "description": "Displays the remaining number of times the member can claim the reward. For example, if the maximum limit to avail the reward is 4 and the member has already claimed the reward 3 times, then the remaining count would be 1.",
                "example": 1
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi point bucket details with the following fields when the multi point bucket is enabled.",
                "properties": {
                  "tierPoint": {
                    "type": "object",
                    "description": "Displays the details of the tier points.",
                    "properties": {
                      "pointsToNextTier": {
                        "type": "integer",
                        "description": "Displays the number of points required in the additional point bucket 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
                      },
                      "coins": {
                        "type": "object",
                        "description": "Displays the details of the coins.",
                        "properties": {
                          "pointsToNextTier": {
                            "type": "integer",
                            "description": "Displays the number of points required in the additional point bucket to achieve the next tier.",
                            "example": 100
                          }
                        }
                      },
                      "perks": {
                        "type": "object",
                        "description": "Displays the details of the perks.",
                        "properties": {
                          "pointsToNextTier": {
                            "type": "integer",
                            "description": "Displays the number of points required in the additional point bucket to achieve the next tier.",
                            "example": 100
                          }
                        }
                      },
                      "tierPerks": {
                        "type": "object",
                        "description": "Displays the details of the tier perks.",
                        "properties": {
                          "pointsToNextTier": {
                            "type": "integer",
                            "description": "Displays the number of points required in the additional point bucket to achieve the next tier.",
                            "example": 100
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "createOrder": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string",
            "description": "Displays Annex Cloud’s site ID for the loyalty program.",
            "example": 9991331
          },
          "id": {
            "type": "string",
            "description": "Displays the unique ID of the order.",
            "example": "abc123"
          },
          "userId": {
            "type": "string",
            "description": "Displays the unique ID of the member.",
            "example": "user@domain.com"
          },
          "email": {
            "type": "string",
            "description": "Displays the email address of the member.",
            "example": "user@domain.com"
          },
          "firstName": {
            "type": "string",
            "description": "Displays the first name of the member.",
            "example": "Kervin"
          },
          "lastName": {
            "type": "string",
            "description": "Displays the last name of the member.",
            "example": "cotton"
          },
          "optInStatus": {
            "type": "string",
            "description": "Displays the opt-in status as YES for opt-in or NO for opt-out. The default opt-in status is YES.",
            "example": "YES"
          },
          "status": {
            "type": "string",
            "description": "Displays the loyalty member’s status as active or inactive.",
            "example": "ACTIVE"
          },
          "phone": {
            "type": "string",
            "description": "Displays the phone number of the loyalty member.",
            "example": "123-123-4567"
          },
          "birthDate": {
            "type": "string",
            "description": "Displays the date of birth of the loyalty member in yyyy-MM-dd format.",
            "example": "1989-12-11"
          },
          "anniversaryDate": {
            "type": "string",
            "description": "Displays the loyalty member's anniversary date, which can be their birthdate, the date they joined the loyalty program or marriage date in yyyy-MM-dd format.",
            "example": "2023-12-11"
          },
          "createDate": {
            "type": "string",
            "description": "Displays the date and time in yyyy-MM-dd’T’HH:mm:ssZ format on which the loyalty member profile was created.",
            "example": "2023-08-08 07:00:12"
          },
          "updateDate": {
            "type": "string",
            "description": "Displays the date and time in yyyy-MM-dd’T’HH:mm:ssZ format on which the loyalty member was updated.",
            "example": "2023-08-08 07:00:12"
          },
          "pointsAwarded": {
            "type": "integer",
            "description": "Displays the total points awarded for the order.",
            "example": 100
          },
          "pointsExpirationDate": {
            "type": "string",
            "description": "Displays the points expiration date in yyyy-MM-dd'T'HH:mm:ssZ format.",
            "example": "2023-04-01T00:00:00-0700"
          },
          "pointsOnHold": {
            "type": "integer",
            "description": "Displays the number of points on hold against the order. Points may be put on hold to account for possible returns made by the member.",
            "example": 145
          },
          "previousTier": {
            "type": "string",
            "description": "Displays the name of the member’s previous tier.",
            "example": "Silver"
          },
          "UpdatedUserTier": {
            "type": "string",
            "description": "Displays the updated member’s tier after the points have been updated for the order.",
            "example": "Gold"
          },
          "currentTier": {
            "type": "string",
            "description": "Displays the name of the member’s current tier. For example, Bronze, Silver, Gold.",
            "example": "Gold"
          },
          "nextTier": {
            "type": "string",
            "description": "Displays the name of the next tier the member can achieve in the loyalty program.",
            "example": "Platinum"
          },
          "pointsToNextTier": {
            "type": "integer",
            "description": "Displays the number of points required to achieve the next tier.",
            "example": 240
          },
          "currentTierPurchaseRatio": {
            "type": "integer",
            "description": "Displays the purchase point ratio applied to the member’s purchases in their current tier.",
            "example": 2
          },
          "spendAmountToNextTier": {
            "type": "integer",
            "description": "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
          },
          "tierAchievedDate": {
            "type": "string",
            "description": "Displays the date the current tier was achieved in yyyy-MM-dd'T'HH:mm:ssZ format.",
            "example": "2020-04-01T00:00:00-0700"
          },
          "tierExpirationDate": {
            "type": "string",
            "description": "Displays the tier expiration date in yyyy-MM-dd'T'HH:mm:ssZ format. When the tier expiration date is reached, the current tier is no longer valid. The loyalty points are deducted, and the tier sequence restarts from the base tier.",
            "example": "2018-04-01T00:00:00-0700"
          },
          "discountAmount": {
            "type": "integer",
            "description": "Displays the total discount amount applied to the order.",
            "example": 25
          },
          "shippingAmount": {
            "type": "integer",
            "description": "Displays the amount of shipping for the order.",
            "example": 250
          },
          "updatedAvailablePoints": {
            "type": "integer",
            "description": "Displays the updated number of available points in the member’s account.",
            "example": null
          },
          "updatedLifetimePoints": {
            "type": "integer",
            "description": "Displays the updated total number of points the member has earned in their lifetime.",
            "example": null
          },
          "orderDetail": {
            "type": "object",
            "description": "Displays the product details for the order as shown below.",
            "properties": {
              "Id": {
                "type": "string",
                "description": "Displays the unique product ID.",
                "example": "p1"
              },
              "productName": {
                "type": "string",
                "description": "Displays the name of the product.",
                "example": "smart phone"
              },
              "quantity": {
                "type": "integer",
                "description": "Displays the quantity of the product purchased in the order.",
                "example": 2
              },
              "unitPrice": {
                "type": "integer",
                "description": "Displays the unit price of the product.",
                "example": 50
              },
              "estimateShipDate": {
                "type": "string",
                "description": "Displays the estimated date the product will be shipped in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2023-04-01T00:00:00-0700"
              },
              "categoryId": {
                "type": "integer",
                "description": "Displays the category ID for the product.",
                "example": 23
              },
              "categoryName": {
                "type": "string",
                "description": "Displays the category name for the product.",
                "example": "electronic devices"
              },
              "url": {
                "type": "string",
                "description": "Displays the product URL.",
                "example": "https://www.annexcloud.com/"
              },
              "imageUrl": {
                "type": "string",
                "description": "Displays the product image URL.",
                "example": "domain.com/image.gif"
              },
              "description": {
                "type": "string",
                "description": "Displays the description of the product.",
                "example": "A smartphone is a mobile device that combines the functionality of a phone with computer capabilities such as internet access, apps, and multimedia features."
              },
              "autoDelivery": {
                "type": "string",
                "description": "Displays the auto delivery as YES or NO for the products. If not provided, then by default it is YES. Points are not awarded against the product ID if the value is NO and enable loyalty v3 auto delivery flag is enabled.",
                "example": "YES"
              },
              "points": {
                "type": "integer",
                "description": "Displays the number of points the member earned for purchasing the product.",
                "example": 100
              }
            }
          },
          "multiBucketsData": {
            "type": "object",
            "description": "Displays an array of all multi point bucket details with the following fields. Only displays if the multi point bucket flag is enabled.",
            "properties": {
              "coins": {
                "type": "object",
                "description": "Displays the details for coins.",
                "properties": {
                  "credit": {
                    "type": "integer",
                    "description": "Displays the number of points credited in the member’s account towards additional coins bucket for the order.",
                    "example": 200
                  },
                  "coinsToExpireDate": {
                    "type": "string",
                    "description": "Displays the date in yyyy-MM-dd'T'HH:mm:ssZ format on which the additional coins expire.",
                    "example": "2023-05-05T00:00:00-0700"
                  },
                  "holdCredit": {
                    "type": "integer",
                    "description": "Displays the points on hold within the point bucket.",
                    "example": 190
                  },
                  "releasedDate": {
                    "type": "string",
                    "description": "Displays the release date for the points on hold in yyyy-mm-dd format.",
                    "example": "2024-02-29"
                  },
                  "updateAvailableCoins": {
                    "type": "integer",
                    "description": "Displays the updated number of available coins in the member’s account of the additional bucket.",
                    "example": 560
                  },
                  "updatedLifetimesCoins": {
                    "type": "integer",
                    "description": "Displays the updated total number of coins the member has earned in their lifetime with the loyalty program.",
                    "example": 560
                  }
                }
              },
              "tierPoints": {
                "type": "object",
                "description": "Displays the details of the tier points.",
                "properties": {
                  "credit": {
                    "type": "integer",
                    "description": "Displays the number of points credited in the member’s account towards additional tier points for the order.",
                    "example": 200
                  },
                  "tierPointsToExpireDate": {
                    "type": "string",
                    "description": "Displays the date on which the tier points will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                    "example": "2023-05-05T00:00:00-0700"
                  },
                  "updatedAvailableTierPoints": {
                    "type": "integer",
                    "description": "Displays the updated number of tier points available in the member’s account within the additional point bucket.",
                    "example": 560
                  },
                  "updatedLifeTimeTierPoints": {
                    "type": "integer",
                    "description": "Displays the updated total number of tier points the member has earned in their lifetime with the loyalty program.",
                    "example": 560
                  }
                }
              },
              "tierCoins": {
                "type": "object",
                "description": "Displays the details for tier coins.",
                "properties": {
                  "credit": {
                    "type": "integer",
                    "description": "Displays the number of points credited in the member’s account towards additional tier coins for the order.",
                    "example": 200
                  },
                  "tierCoinsToExpireDate": {
                    "type": "string",
                    "description": "Displays the date on which the tier coins will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                    "example": "2023-05-05T00:00:00-0700"
                  },
                  "updatedAvailableTierCoins": {
                    "type": "integer",
                    "description": "Displays the updated number of tier coins available in the member’s account.",
                    "example": 560
                  },
                  "updatedLifeTimeTierCoins": {
                    "type": "integer",
                    "description": "Displays the updated total number of tier coins the member has earned in their lifetime with the loyalty program.",
                    "example": 560
                  }
                }
              }
            }
          }
        }
      },
      "ship": {
        "type": "object",
        "properties": {
          "For Partial Ship": {
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Displays the Annex Cloud site ID for the loyalty program.",
                "example": 38044920
              },
              "orderId": {
                "type": "string",
                "description": "Displays the unique ID of the order.",
                "example": "St1235"
              },
              "pointsAwarded": {
                "type": "integer",
                "description": "Displays the total number of points awarded to the member.",
                "example": 60
              },
              "currentReleasedPoints": {
                "type": "integer",
                "description": "Displays the current number of released points available to the member.",
                "example": 35
              },
              "pointsExpirationDate": {
                "type": "string",
                "description": "Displays the points expiration date in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2026-12-31T23:59:59+0000"
              },
              "pointsOnHold": {
                "type": "integer",
                "description": "Displays the number of points on hold against the order.",
                "example": 1065
              },
              "updatedUserTier": {
                "type": "string",
                "description": "Displays the updated member’s tier after the points has been updated in the member’s account.",
                "example": "bronze"
              },
              "previousTier": {
                "type": "string",
                "description": "Display the member’s tier prior to having points updated in the member’s account.",
                "example": "silver"
              },
              "updatedAvailablePoints": {
                "type": "integer",
                "description": "Displays the number of points available in the member’s account after points have been updated.",
                "example": 468
              },
              "updatedLifetimePoints": {
                "type": "integer",
                "description": "Displays the updated number of points the member has earned in their lifetime with the loyalty program.",
                "example": 768
              },
              "orderDetail": {
                "type": "object",
                "description": "Displays the product details for the order as shown below.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Displays the unique ID of the product.",
                    "example": "p1"
                  },
                  "productName": {
                    "type": "string",
                    "description": "Displays the name of the product.",
                    "example": "smart phone"
                  },
                  "quantity": {
                    "type": "integer",
                    "description": "Displays the quantity of the product.",
                    "example": 2
                  },
                  "unitPrice": {
                    "type": "integer",
                    "description": "Displays the unit price the product.",
                    "example": 230
                  },
                  "estimatedShipDate": {
                    "type": "string",
                    "description": "Displays the estimated date the product will be shipped in yyyy-MM-dd'T'HH:mm:ssZ format.",
                    "example": "2020-04-01T00:00:00-0700"
                  },
                  "categoryId": {
                    "type": "integer",
                    "description": "Displays the category ID of the product.",
                    "example": 23
                  },
                  "categoryName": {
                    "type": "string",
                    "description": "Displays the category name of the product.",
                    "example": "electronic devices"
                  },
                  "url": {
                    "type": "string",
                    "description": "Displays the product URL.",
                    "example": "domain.com/image.gif"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Displays the product image URL.",
                    "example": "domain.com/image.gif"
                  },
                  "description": {
                    "type": "string",
                    "description": "Displays the description of the product.",
                    "example": "A smartphone is a mobile device that combines the functionality of a phone with computer capabilities such as internet access, apps, and multimedia features."
                  },
                  "autoDelivery": {
                    "type": "string",
                    "description": "Displays YES or NO depending on if the auto delivery system is enabled or disabled.",
                    "example": "YES"
                  },
                  "points": {
                    "type": "integer",
                    "description": "Displays the number of points the member earned for purchasing the product.",
                    "example": 100
                  }
                }
              },
              "currentTier": {
                "type": "string",
                "description": "Displays the name of the loyalty member's current tier. For example, Bronze, Silver, Gold.",
                "example": "bronze"
              },
              "nextTier": {
                "type": "string",
                "description": "Displays the name of the next tier which will be awarded to the member once the required milestones are achieved.",
                "example": "gold"
              },
              "pointsToNextTier": {
                "type": "integer",
                "description": "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": 0
              },
              "currentTierPurchaseRatio": {
                "type": "integer",
                "description": "Displays the purchase point ratio that is applied to the member’s purchases while in their current tier.",
                "example": 1
              },
              "spendAmountToNextTier": {
                "type": "integer",
                "description": "Displays the amount the member needs to spend to achieve the next tier.",
                "example": 0
              },
              "tierAchievedDate": {
                "type": "string",
                "description": "Displays the date the current tier was reached by the member in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2023-04-14T15:34:56+0000"
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi-point bucket details with the following fields. Only displays if multiple point buckets are enabled.",
                "properties": {
                  "coins": {
                    "type": "object",
                    "description": "Displays the details of the object coins.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of points credited in the member’s account towards additional coins bucket for the order.",
                        "example": 768
                      },
                      "coinsCreditToExpireDate": {
                        "type": "string",
                        "description": "Displays the date on which the coins credited will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                        "example": "2025-04-01T00:00:00-0700"
                      },
                      "updatedAvailableCoins": {
                        "type": "integer",
                        "description": "Displays the number of available coins updated in the member’s account.",
                        "example": 560
                      },
                      "updatedLifetimeCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the loyalty program.",
                        "example": 560
                      }
                    }
                  }
                }
              }
            }
          },
          "For Full Ship": {
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Displays the Annex Cloud site ID for the loyalty program.",
                "example": 38044920
              },
              "orderId": {
                "type": "string",
                "description": "Displays the unique ID of the order.",
                "example": "satestorder1"
              },
              "pointsAwarded": {
                "type": "integer",
                "description": "Displays the total number of points awarded to the member.",
                "example": 60
              },
              "pointsExpirationDate": {
                "type": "string",
                "description": "Displays the points expiration date in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2026-12-31T23:59:59+0000"
              },
              "pointsOnHold": {
                "type": "integer",
                "description": "Displays the number of points on hold against the order.",
                "example": 1065
              },
              "updatedUserTier": {
                "type": "string",
                "description": "Displays the updated member’s tier after the points has been updated in the member’s account.",
                "example": "bronze"
              },
              "previousTier": {
                "type": "string",
                "description": "Display the member’s tier prior to having points updated in the member’s account.",
                "example": "silver"
              },
              "updatedAvailablePoints": {
                "type": "integer",
                "description": "Displays the number of points available in the member’s account after points have been updated.",
                "example": 468
              },
              "updatedLifetimePoints": {
                "type": "integer",
                "description": "Displays the updated number of points the member has earned in their lifetime with the loyalty program.",
                "example": 768
              },
              "currentTier": {
                "type": "string",
                "description": "Displays the name of the loyalty member's current tier. For example, Bronze, Silver, Gold.",
                "example": "bronze"
              },
              "nextTier": {
                "type": "string",
                "description": "Displays the name of the next tier which will be awarded to the member once the required milestones are achieved.",
                "example": "gold"
              },
              "pointsToNextTier": {
                "type": "integer",
                "description": "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": 0
              },
              "currentTierPurchaseRatio": {
                "type": "integer",
                "description": "Displays the purchase point ratio that is applied to the member’s purchases while in their current tier.",
                "example": 1
              },
              "spendAmountToNextTier": {
                "type": "integer",
                "description": "Displays the amount the member needs to spend to achieve the next tier.",
                "example": 0
              },
              "tierAchievedDate": {
                "type": "string",
                "description": "Displays the date the current tier was reached by the member in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2023-04-14T15:34:56+0000"
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi-point bucket details with the following fields. Only displays if multiple point buckets are enabled.",
                "properties": {
                  "coins": {
                    "type": "object",
                    "description": "Displays the details of the object coins.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of points credited in the member’s account towards additional coins bucket for the order.",
                        "example": 768
                      },
                      "coinsCreditToExpireDate": {
                        "type": "string",
                        "description": "Displays the date on which the coins credited will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                        "example": "2025-04-01T00:00:00-0700"
                      },
                      "updatedAvailableCoins": {
                        "type": "integer",
                        "description": "Displays the number of available coins updated in the member’s account.",
                        "example": 560
                      },
                      "updatedLifetimeCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the loyalty program.",
                        "example": 560
                      }
                    }
                  }
                }
              }
            }
          },
          "For Full Return": {
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Displays the Annex Cloud site ID for the loyalty program.",
                "example": 38044920
              },
              "orderId": {
                "type": "string",
                "description": "Displays the unique ID of the order.",
                "example": "satestorder1"
              },
              "pointsRemoved": {
                "type": "integer",
                "description": "Display the total number of points removed from the member’s account for returning the product.",
                "example": 60
              },
              "updatedUserTier": {
                "type": "string",
                "description": "Displays the updated member’s tier after the points has been removed from the member’s account.",
                "example": "bronze"
              },
              "updatedAvailablePoints": {
                "type": "integer",
                "description": "Displays the number of points available in the member’s account after points have been removed.",
                "example": 468
              },
              "updatedLifetimePoints": {
                "type": "integer",
                "description": "Displays the updated number of points the member has earned in their lifetime with the loyalty program.",
                "example": 768
              },
              "previousTier": {
                "type": "string",
                "description": "Display the member’s tier prior to having points removed from the member’s account.",
                "example": "silver"
              },
              "currentTier": {
                "type": "string",
                "description": "Displays the name of the loyalty member's current tier.",
                "example": "bronze"
              },
              "nextTier": {
                "type": "string",
                "description": "Displays the name of the next tier which will be awarded to the member once the required milestones are achieved.",
                "example": "gold"
              },
              "pointsToNextTier": {
                "type": "integer",
                "description": "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": 0
              },
              "currentTierPurchaseRatio": {
                "type": "integer",
                "description": "Displays the purchase point ratio that is applied to the member’s purchases while in their current tier.",
                "example": 1
              },
              "spendAmountToNextTier": {
                "type": "integer",
                "description": "Displays the amount the member needs to spend to achieve the next tier.",
                "example": 1
              },
              "tierAchievedDate": {
                "type": "string",
                "description": "Displays the date the current tier was reached by the member in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2023-04-14T15:34:56+0000"
              },
              "tierExpirationDate": {
                "type": "string",
                "description": "Displays the tier expiration date in yyyy-MM-dd'T'HH:mm:ssZ format. When the tier expiration date is reached, the current tier is no longer valid. The loyalty points are deducted, and the tier sequence restarts from the base tier.",
                "example": "2024-04-01T00:00:00-0700"
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi-point bucket details with the following fields. Only displays if multiple point buckets are enabled.",
                "properties": {
                  "coins": {
                    "type": "object",
                    "description": "Displays the details of the object coins.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of points credited in the member’s account towards additional coins bucket for the order.",
                        "example": 768
                      },
                      "coinsCreditToExpireDate": {
                        "type": "string",
                        "description": "Displays the date on which the coins credited will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                        "example": "2025-04-01T00:00:00-0700"
                      },
                      "updatedAvailableCoins": {
                        "type": "integer",
                        "description": "Displays the number of available coins updated in the member’s account.",
                        "example": 560
                      },
                      "updatedLifetimeCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the loyalty program.",
                        "example": 560
                      }
                    }
                  }
                }
              }
            }
          },
          "For Partial Return": {
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Displays the Annex Cloud site ID for the loyalty program.",
                "example": 38044920
              },
              "orderId": {
                "type": "string",
                "description": "Displays the unique ID of the order.",
                "example": "satestorder1"
              },
              "pointsRemoved": {
                "type": "integer",
                "description": "Display the total number of points removed from the member’s account for returning the product(s).",
                "example": 0
              },
              "updatedAvailablePoints": {
                "type": "integer",
                "description": "Displays the number of points available in the member’s account after points have been removed.",
                "example": 468
              },
              "updatedLifetimePoints": {
                "type": "integer",
                "description": "Displays the updated number of points the member has earned in their lifetime with the loyalty program.",
                "example": 768
              },
              "previousTier": {
                "type": "string",
                "description": "Display the member’s tier prior to having points removed from the member’s account.",
                "example": "silver"
              },
              "updatedUserTier": {
                "type": "string",
                "description": "Displays the updated member’s tier after the points have been removed from the member’s account.",
                "example": "bronze"
              },
              "currentTier": {
                "type": "string",
                "description": "Displays the name of the loyalty member's current tier.",
                "example": "bronze"
              },
              "nextTier": {
                "type": "string",
                "description": "Displays the name of the next tier which will be awarded to the member once the required milestones are achieved.",
                "example": "gold"
              },
              "pointsToNextTier": {
                "type": "integer",
                "description": "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": 0
              },
              "currentTierPurchaseRatio": {
                "type": "integer",
                "description": "Displays the purchase point ratio that is applied to the member’s purchases while in their current tier.",
                "example": 1
              },
              "spendAmountToNextTier": {
                "type": "integer",
                "description": "Displays the amount the member needs to spend to achieve the next tier.",
                "example": 0
              },
              "tierAchievedDate": {
                "type": "string",
                "description": "Displays the date the current tier was reached by the member in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2021-04-14T15:34:56+0000"
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi-point bucket details with the following fields. Only displays if multiple point buckets are enabled.",
                "properties": {
                  "coins": {
                    "type": "object",
                    "description": "Displays the details of the object coins.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of points credited in the member’s account towards additional coins bucket for the order.",
                        "example": 768
                      },
                      "coinsCreditToExpireDate": {
                        "type": "string",
                        "description": "Displays the date on which the coins credited will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                        "example": "2025-04-01T00:00:00-0700"
                      },
                      "updatedAvailableCoins": {
                        "type": "integer",
                        "description": "Displays the number of available coins updated in the member’s account.",
                        "example": 560
                      },
                      "updatedLifetimeCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the loyalty program.",
                        "example": 560
                      }
                    }
                  }
                }
              }
            }
          },
          "For Full Cancel": {
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Displays the Annex Cloud site ID for the loyalty program.",
                "example": 38044920
              },
              "orderId": {
                "type": "string",
                "description": "Displays the unique ID of the order.",
                "example": "satestorder1"
              },
              "pointsRemoved": {
                "type": "integer",
                "description": "Display the total number of points removed from the member’s account for cancelling the order.",
                "example": 60
              },
              "updatedAvailablePoints": {
                "type": "integer",
                "description": "Displays the number of points available in the member’s account after points have been removed for cancelling the order.",
                "example": 468
              },
              "updatedLifetimePoints": {
                "type": "integer",
                "description": "Displays the updated number of points the member has earned in their lifetime with the loyalty program.",
                "example": 768
              },
              "previousTier": {
                "type": "string",
                "description": "Display the member’s tier prior to having points updated in the member’s account.",
                "example": "silver"
              },
              "updatedUserTier": {
                "type": "string",
                "description": "Displays the updated member’s tier after the points have been updated in the member’s account.",
                "example": "bronze"
              },
              "currentTier": {
                "type": "string",
                "description": "Displays the name of the loyalty member's current tier. For example, Bronze, Silver, Gold.",
                "example": "bronze"
              },
              "nextTier": {
                "type": "string",
                "description": "Displays the name of the next tier which will be awarded to the member once the required milestones are achieved.",
                "example": "gold"
              },
              "pointsToNextTier": {
                "type": "integer",
                "description": "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": 0
              },
              "currentTierPurchaseRatio": {
                "type": "integer",
                "description": "Displays the purchase point ratio that is applied to the member’s purchases while in their current tier.",
                "example": 1
              },
              "spendAmountToNextTier": {
                "type": "integer",
                "description": "Displays the amount the member needs to spend to achieve the next tier.",
                "example": 1
              },
              "tierAchievedDate": {
                "type": "string",
                "description": "Displays the date the current tier was reached by the member in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2023-04-14T15:34:56+0000"
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi-point bucket details with the following fields. Only displays if multiple point buckets are enabled.",
                "properties": {
                  "coins": {
                    "type": "object",
                    "description": "Displays the details of the object coins.",
                    "properties": {
                      "debit": {
                        "type": "integer",
                        "description": "Displays the number of coins debited from the member's account for cancelling the product.",
                        "example": 768
                      },
                      "updatedAvailableCoins": {
                        "type": "integer",
                        "description": "Displays the number of available coins updated in the member’s account.",
                        "example": 560
                      },
                      "updatedLifetimeCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the loyalty program.",
                        "example": 560
                      }
                    }
                  }
                }
              }
            }
          },
          "For Partial Cancel": {
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Displays the Annex Cloud site ID for the loyalty program.",
                "example": 38044920
              },
              "orderId": {
                "type": "string",
                "description": "Displays the unique ID of the order.",
                "example": "satestorder1"
              },
              "pointsRemoved": {
                "type": "integer",
                "description": "Display the total number of points removed from the member’s account for cancelling the product.",
                "example": 60
              },
              "updatedAvailablePoints": {
                "type": "integer",
                "description": "Displays the number of points available in the member’s account after points have been removed for cancelling the product.",
                "example": 468
              },
              "updatedLifetimePoints": {
                "type": "integer",
                "description": "Displays the updated number of points the member has earned in their lifetime with the loyalty program.",
                "example": 768
              },
              "previousTier": {
                "type": "string",
                "description": "Display the member’s tier prior to having points updated in the member’s account.",
                "example": "silver"
              },
              "updatedUserTier": {
                "type": "string",
                "description": "Displays the updated member’s tier after the points have been updated in the member’s account.",
                "example": "bronze"
              },
              "currentTier": {
                "type": "string",
                "description": "Displays the name of the loyalty member's current tier. For example, Bronze, Silver, Gold.",
                "example": "bronze"
              },
              "nextTier": {
                "type": "string",
                "description": "Displays the name of the next tier which will be awarded to the member once the required milestones are achieved.",
                "example": "gold"
              },
              "pointsToNextTier": {
                "type": "integer",
                "description": "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": 0
              },
              "currentTierPurchaseRatio": {
                "type": "integer",
                "description": "Displays the purchase point ratio that is applied to the member’s purchases while in their current tier.",
                "example": 1
              },
              "spendAmountToNextTier": {
                "type": "integer",
                "description": "Displays the amount the member needs to spend to achieve the next tier.",
                "example": 1
              },
              "tierAchievedDate": {
                "type": "string",
                "description": "Displays the date the current tier was reached by the member in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2023-04-14T15:34:56+0000"
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi-point bucket details with the following fields. Only displays if multiple point buckets are enabled.",
                "properties": {
                  "coins": {
                    "type": "object",
                    "description": "Displays the details of the object coins.",
                    "properties": {
                      "debit": {
                        "type": "integer",
                        "description": "Displays the number of coins debited from the member's account for cancelling the product.",
                        "example": 768
                      },
                      "updatedAvailableCoins": {
                        "type": "integer",
                        "description": "Displays the number of available coins updated in the member’s account.",
                        "example": 560
                      },
                      "updatedLifetimeCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the loyalty program.",
                        "example": 560
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "getRewardsByUser": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "integer",
            "description": "Displays Annex Cloud’s site ID for the loyalty program.",
            "example": 38044920
          },
          "creditsToCurrencyRatio": {
            "type": "string",
            "description": "Displays the credits to currency ratio defined by the admin. Multiplying this ratio by the member's available points results in total currency values of the available points.",
            "example": "0.05"
          },
          "creditsToCurrencyValue": {
            "type": "string",
            "description": "Displays the total currency value after multiplying the member’s available points with credit to currency ratio up to a defined decimal place.",
            "example": 5.05
          },
          "rewardDetail": {
            "type": "object",
            "description": "Displays the following details associated with the rewards.",
            "properties": {
              "rewardId": {
                "type": "integer",
                "description": "Displays the unique ID for the reward configured in the loyalty program.",
                "example": 123
              },
              "rewardCategory": {
                "type": "string",
                "description": "Displays the reward category as defined when configuring the reward in the Annex Cloud platform.",
                "example": "winter offer"
              },
              "displayText": {
                "type": "string",
                "description": "Displays a brief description of the reward.",
                "example": "$5 off gift card"
              },
              "rewardType": {
                "type": "string",
                "description": "Displays the reward type set while configuring the reward. Note - As long as the reward type is set to 0, loyalty members do not receive a reward code. If the field is set to any other value, they do receive a reward code.",
                "example": "lorem"
              },
              "rewardTerms": {
                "type": "string",
                "description": "Displays the terms and conditions (rules, restrictions) for the reward.",
                "example": "Points can be redeemed for rewards according to the current redemption schedule. Rewards may include discounts, merchandise, or other specified offers. Rewards are subject to availability and may be changed or discontinued at any time without notice. By participating in the Loyalty Program, you acknowledge that you have read, understood, and agree to abide by these terms and conditions."
              },
              "rewardDescription": {
                "type": "string",
                "description": "Displays the additional information related to the reward.",
                "example": "Update your date of birth and get 2x points"
              },
              "creditRequired": {
                "type": "integer",
                "description": "Displays the number of points required to claim the reward.",
                "example": 500
              },
              "deductAmount": {
                "type": "integer",
                "description": "Displays the monetary value of the reward to be applied to the order as a discount.",
                "example": 4
              },
              "rewardCurrency": {
                "type": "string",
                "description": "Displays the reward currency.",
                "example": "$"
              },
              "rewardUrl": {
                "type": "string",
                "description": "Displays the URL to claim reward benefits. The member will be directed to the reward page after clicking the URL.",
                "example": "www.example.com/reward"
              },
              "rewardImageUrl": {
                "type": "string",
                "description": "Displays the reward image URL.",
                "example": "www.example.com/example.png"
              },
              "defaultThumbnailImageUrl": {
                "type": "string",
                "description": "Displays the thumbnail image for the reward. Note - The image value is in base64 encoded format. For example, aHR0cHM6Ly93d3cuc29jaWFsYW5uZXguY29tL3B1YmxpYy9tYW5hZ2VvcHRpb25zZGVzaWduMTYvaW1hZ2VzL3Byb2R1Y3RfbGFuZGluZy9sb3lhbHR5LWhvdmVyLnBuZw==.",
                "example": "https://image.winterofferthumbnail.com"
              },
              "videoImageUrl": {
                "type": "string",
                "description": "Displays the URL for the video image associated with the reward.",
                "example": "https://videoimagewinteroffer.com"
              },
              "productId": {
                "type": "string",
                "description": "Displays the product ID of the product for which reward can be earned.",
                "example": "p3"
              },
              "tierId": {
                "type": "integer",
                "description": "Displays the system generated unique tier ID for the tier associated with the reward.",
                "example": 1592
              },
              "tierName": {
                "type": "string",
                "description": "Displays the name of the tier associated with the reward.",
                "example": "Silver"
              },
              "tierEligible": {
                "type": "integer",
                "description": "Displays whether the member qualifies for the reward based on tier benefits or not.",
                "example": "yes"
              },
              "userTierId": {
                "type": "integer",
                "description": "Displays the tier ID for the member’s current tier.",
                "example": 6755
              },
              "userTierName": {
                "type": "string",
                "description": "Displays the name of the member’s current tier.",
                "example": "Gold"
              },
              "tierAchievedDate": {
                "type": "string",
                "description": "Displays the current tier achievement date in yyyy-MM-dd'T'HH:mm:ssZ format.",
                "example": "2018-04-01T00:00:00-0700"
              },
              "rewardExpirationType": {
                "type": "string",
                "description": "Displays the reward expiration type as rolling or calendar. If ‘Rolling’ is selected, the result appears in days, whereas ‘Calendar’ shows the result in weeks, months, or years.",
                "example": "Rolling"
              },
              "rewardExpirationPeriod": {
                "type": "string",
                "description": "Displays the time after which the reward expires in days, months, or years.",
                "example": "2 Days"
              },
              "eligible": {
                "type": "string",
                "description": "Displays whether the member is eligible for the reward on a weekly, monthly, or annual basis.",
                "example": "yes"
              },
              "additionalPointsRequired": {
                "type": "integer",
                "description": "Displays the number of points required to get the benefits of the reward. For example, if the reward threshold is set to 300 points and a member currently has 250 points, the member must earn 50 more points to get the benefit of the reward.",
                "example": 50
              },
              "nonEligibleReason": {
                "type": "string",
                "description": "Displays the reason why the member is not eligible for the reward.",
                "example": "Not for this period"
              },
              "yearSelected": {
                "type": "integer",
                "description": "Displays the year in which loyalty members are eligible to redeem the reward (if defined upon award configuration).",
                "example": 2021
              },
              "period": {
                "type": "string",
                "description": "Displays the period that the reward is available to eligible members. For example, monthly, quarterly, half-yearly or annually.",
                "example": "monthly"
              },
              "periodDetails": {
                "type": "string",
                "description": "Displays the month, quarter, or year in which the reward can be claimed based on the period defined upon configuration.",
                "example": "January"
              },
              "rewardLimit": {
                "type": "integer",
                "description": "Displays the limit for how many times a member can claim the reward. For example, If the maximum user claim count is set to five, the reward could be claimed only five times. If the maximum user claim count is set to zero, there is no restriction on claiming rewards based on availability.",
                "example": 0
              },
              "limitPeriod": {
                "type": "string",
                "description": "Displays the length of time the reward claim limit is in place. For example, if the claim limit was set to 4 and the limit period is “lifetime”, the member can only claim this reward 4 times in their lifetime with the loyalty program.",
                "example": "lifetime"
              },
              "redeemCount": {
                "type": "integer",
                "description": "Displays the number of times the reward has been redeemed by the member.",
                "example": 5
              },
              "remainingCount": {
                "type": "integer",
                "description": "Displays the remaining number of times the member can claim the reward. (Based on the Maximum User Claim Count). For example, if the maximum user claim count is 5 and the member has already claimed the reward 3 times, then the remaining count would be 2.",
                "example": 2
              },
              "autoRewardStatus": {
                "type": "string",
                "description": "Displays whether the automate reward flag is enabled within the reward’s additional settings. If it is enabled, the response will display as YES. If it is not enabled, the response will be NO. If the flag is turned on, the following parameters will also appear.",
                "example": "yes"
              },
              "autoRewardBasedOn": {
                "type": "string",
                "description": "Displays what criteria the automated reward is based on- Purchase Amount or Lifetime Points.",
                "example": "lifetime points"
              },
              "autoRewardClaimThresholdType": {
                "type": "string",
                "description": "Displays the threshold type to claim the reward automatically. It can be either Rolling or Fixed.",
                "example": "rolling"
              },
              "autoRewardClaimThresholdValue": {
                "type": "integer",
                "description": "Displays the number of points or spend amount required by the member to claim the reward automatically.",
                "example": 50
              },
              "autoRewardClaimLimit": {
                "type": "integer",
                "description": "Displays the number of times the reward can be claimed automatically.",
                "example": 20
              },
              "autoRewardClaimReason": {
                "type": "string",
                "description": "Displays the reason the member can claim the reward automatically.",
                "example": "Auto Voucher Claimed"
              },
              "timeBasedIssuanceFlag": {
                "type": "string",
                "description": "Displays the status of the flag as ON or OFF. YES, indicates that the flag is ON and NO indicates that it is off. This feature allows the admin to award the reward automatically at a scheduled time.",
                "example": "YES"
              },
              "timeBasedIssuanceDate": {
                "type": "string",
                "description": "Displays the time at which the reward is awarded to the member in yyyy-MM-dd format.",
                "example": "2023-06-21"
              },
              "rewardEligibilityType": {
                "type": "string",
                "description": "Displays the type of reward eligibility as Fixed or Recurring.",
                "example": "fixed"
              },
              "rewardEligibilityBasedOn": {
                "type": "string",
                "description": "Displays the eligibility criteria based on which the member can qualify for the reward. If reward eligibility type is “Fixed”, the member’s eligibility will be based on lifetime points, purchase amount, segment, or tier. If reward eligibility type is “Recurring”, the member’s eligibility will be based on earned points in a calendar year.",
                "example": "lifetime points"
              },
              "rewardEligibilityThreshold": {
                "type": "integer",
                "description": "Displays the number of points earned or amount to be spent by the member to qualify for the reward. (If eligibility is based on points earned or amount spent).",
                "example": 50
              },
              "multibucketsData": {
                "type": "object",
                "description": "Displays an array of all multi bucket details with the following fields when the multi point bucket flag is enabled. Note - To redeem the reward, the reward eligibility threshold and multibucket criteria must be completed.",
                "properties": {
                  "tierPoints": {
                    "type": "object",
                    "description": "Displays the details of the object tier points.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of tier points required to redeem the reward.",
                        "example": 10
                      }
                    }
                  },
                  "coins": {
                    "type": "object",
                    "description": "Displays the details of the object coins.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of coins required to redeem the reward.",
                        "example": 10
                      }
                    }
                  },
                  "tierCoins": {
                    "type": "object",
                    "description": "Displays the details of the object tier coins.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of tier coins required to redeem the reward.",
                        "example": 10
                      }
                    }
                  },
                  "perks": {
                    "type": "object",
                    "description": "Displays the details of the object perks.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of perks required to redeem the reward.",
                        "example": 10
                      }
                    }
                  },
                  "tierPerks": {
                    "type": "object",
                    "description": "Displays the details of the object tier perks.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of tier perks required to redeem the reward.",
                        "example": 10
                      }
                    }
                  }
                }
              },
              "tierData": {
                "type": "object",
                "description": "If the reward is associated with a tier in the loyalty program the details below will be displayed.",
                "properties": {
                  "tierId": {
                    "type": "integer",
                    "description": "Displays the unique tier ID.",
                    "example": 2186
                  },
                  "tierName": {
                    "type": "string",
                    "description": "Displays the name of the tier which the member must be a part of to redeem the reward if reward eligibility is based on tier.",
                    "example": "Silver"
                  },
                  "tierEligible": {
                    "type": "integer",
                    "description": "Displays YES if the member satisfies the tier criteria otherwise NO.",
                    "example": "YES"
                  },
                  "rewardLimit": {
                    "type": "integer",
                    "description": "Displays the limit for how many times a member can claim the reward. For example, If the maximum user claim count is set to five, the reward could be claimed only five times. If the maximum user claim count is set to zero, there is no restriction on claiming rewards based on availability.",
                    "example": 0
                  },
                  "limitPeriod": {
                    "type": "string",
                    "description": "Displays the length of time the reward claim limit is in place. For example, if the claim limit was set to 4 and the limit period is “lifetime”, the member can only claim this reward 4 times in their lifetime with the loyalty program.",
                    "example": "lifetime"
                  }
                }
              }
            }
          }
        }
      },
      "AddOrRemovePointsResponse": {
        "type": "object",
        "properties": {
          "To Redeem Custom Points": {
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Displays Annex Cloud’s site ID for the loyalty program.",
                "example": 9991331
              },
              "id": {
                "type": "string",
                "description": "Displays the unique ID for the member.",
                "example": "johan19.sa@gmail.com"
              },
              "actionId": {
                "type": "integer",
                "description": "Displays the unique action ID for the redemption of custom points performed by the member.",
                "example": 100
              },
              "activity": {
                "type": "string",
                "description": "Displays debit to indicate custom points were redeemed.",
                "example": "debit"
              },
              "rewardId": {
                "type": "integer",
                "description": "Displays the specific reward ID associated with the points.",
                "example": 27
              },
              "orderId": {
                "type": "string",
                "description": "Displays the loyalty member's order ID.",
                "example": "A12345"
              },
              "debit": {
                "type": "integer",
                "description": "Displays the number of points debited from the member’s account for redeeming custom points by performing the redemption action.",
                "example": 500
              },
              "pointsDeducted": {
                "type": "integer",
                "description": "Displays the number of points deducted from the member’s account for redeeming the custom points. (Points deducted refers to the points subtracted from the debited points. This can be configured in the “Points Deduction Behavior” where options like, “Do not Allow Negative Points, Allow Negative Points, and Set Balance to Zero” are available).",
                "example": 100
              },
              "reason": {
                "type": "string",
                "description": "Displays the reason for removing points from the member’s account upon redeeming custom points.",
                "example": "claim"
              },
              "source": {
                "type": "string",
                "description": "Displays the source from where the transaction was performed by the member. For example, Web or App.",
                "example": "web"
              },
              "previousTier": {
                "type": "string",
                "description": "Displays the member’s tier before redeeming custom points.",
                "example": "silver"
              },
              "updatedUserTier": {
                "type": "string",
                "description": "Displays the member’s updated tier after the points are removed for the redemption of custom points.",
                "example": "gold"
              },
              "updatedAvaialblePoints": {
                "type": "integer",
                "description": "Displays the updated number of available points in the member’s account after redeeming the custom points.",
                "example": 900
              },
              "updatedLifetimepoints": {
                "type": "integer",
                "description": "Displays the updated number of points the member has earned in their lifetime with the program after redeeming the custom points.",
                "example": 1327
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi bucket details with the following fields.",
                "properties": {
                  "coins": {
                    "type": "object",
                    "description": "Displays the details of the object coins.",
                    "properties": {
                      "debit": {
                        "type": "integer",
                        "description": "Displays the number of coins debited from the member’s account.",
                        "example": 100
                      },
                      "updatedAvailableCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of available coins in the member’s account redeeming the custom points.",
                        "example": 200
                      },
                      "updatedLifetimeCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the program after redeeming the custom points.",
                        "example": 300
                      }
                    }
                  },
                  "tierCoins": {
                    "type": "object",
                    "description": "Displays the details of the object tier coins.",
                    "properties": {
                      "debit": {
                        "type": "integer",
                        "description": "Displays the number of coins debited from the member’s tier coins bucket for the redemption.",
                        "example": 100
                      },
                      "updatedAvailableTierCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of available coins in the member’s tier coins bucket after redeeming the custom points.",
                        "example": 500
                      },
                      "updatedLifetimeTierCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the program after redeeming the custom points.",
                        "example": 800
                      }
                    }
                  }
                }
              }
            }
          },
          "To Award Custom Points": {
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Displays Annex Cloud’s site ID for the loyalty program.",
                "example": 99383640
              },
              "id": {
                "type": "string",
                "description": "Displays the unique ID of the member.",
                "example": "johan19.sa@gmail.com"
              },
              "actionId": {
                "type": "integer",
                "description": "Displays the unique action ID for which the member is being awarded custom points.",
                "example": 100
              },
              "activity": {
                "type": "string",
                "description": "Displays credit when custom points are awarded to the member’s account.",
                "example": "credit"
              },
              "credit": {
                "type": "integer",
                "description": "Displays the number of custom points credited to the member’s account.",
                "example": 50
              },
              "pointsAwarded": {
                "type": "integer",
                "description": "Displays the number of points awarded to the member's account.",
                "example": 50
              },
              "reason": {
                "type": "string",
                "description": "Displays the reason for awarding points to the member’s account.",
                "example": "bonus"
              },
              "source": {
                "type": "string",
                "description": "Displays the source from where the transaction was performed by the member. For example, Web or App.",
                "example": "web"
              },
              "previousTier": {
                "type": "string",
                "description": "Displays the member’s previous tier before the custom points were awarded to their account.",
                "example": "silver"
              },
              "updatedUserTier": {
                "type": "string",
                "description": "Displays the member’s updated tier after crediting points to their account.",
                "example": "gold"
              },
              "updatedAvaialblePoints": {
                "type": "integer",
                "description": "Displays the number of updated available points after the points have been credited to the member’s account.",
                "example": 4545
              },
              "updatedLifetimepoints": {
                "type": "integer",
                "description": "Displays the total number of points the member has earned in their lifetime with the loyalty program.",
                "example": 7860
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi bucket details with the following fields.",
                "properties": {
                  "coins": {
                    "type": "object",
                    "description": "Displays the details of the object coins.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of coins credited to the member’s account coins bucket for performing the action.",
                        "example": 100
                      },
                      "coinsToExpireDate": {
                        "type": "string",
                        "description": "Displays the date on which coins will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                        "example": "2020-10-30T05:30:00+0000"
                      },
                      "updatedAvailableCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of available coins in the member’s account redeeming the custom points.",
                        "example": 200
                      },
                      "updatedLifetimeCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the program after redeeming the custom points.",
                        "example": 300
                      }
                    }
                  },
                  "tierCoins": {
                    "type": "object",
                    "description": "Displays the details of the object tier coins.",
                    "properties": {
                      "credit": {
                        "type": "integer",
                        "description": "Displays the number of coins credited to the member’s account in the tier coins bucket after the points were awarded.",
                        "example": 100
                      },
                      "tierCoinsToExpireDate": {
                        "type": "string",
                        "description": "Displays the date on which the coins will expire in the tier coins bucket date in yyyy-MM-dd'T'HH:mm:ssZ format.",
                        "example": "2020-10-30T05:30:00+0000"
                      },
                      "updatedAvailableTierCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of available coins in the member’s tier coins bucket after redeeming the custom points.",
                        "example": 500
                      },
                      "updatedLifetimeTierCoins": {
                        "type": "integer",
                        "description": "Displays the updated number of coins the member has earned in their lifetime with the program after redeeming the custom points.",
                        "example": 800
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "getPointsDetails": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string",
            "description": "Displays Annex Cloud’s site ID for the loyalty program.",
            "example": 38044920
          },
          "id": {
            "type": "string",
            "description": "Displays the unique ID of the member.",
            "example": "johan19.sa@gmail.com"
          },
          "availablePoints": {
            "type": "integer",
            "description": "Displays the number of available points in the member’s account.",
            "example": 6656
          },
          "usedPoints": {
            "type": "integer",
            "description": "Displays the number of points used from the member’s account.",
            "example": 600
          },
          "expiredPoints": {
            "type": "integer",
            "description": "Displays the number of expired points from the member’s account.",
            "example": "2023-04-01T00:00:00-0700"
          },
          "lifetimePoints": {
            "type": "integer",
            "description": "Displays the number of points the member has earned in their lifetime with the loyalty program.",
            "example": 7256
          },
          "earnedPointsPeriod": {
            "type": "string",
            "description": "Displays the period during which points are earned by the member. For example, anniversary year, calendar year, quarter, semester. (Displays only when earned points display flag is enabled in the configuration).",
            "example": "anniversary year"
          },
          "earnedPoints": {
            "type": "integer",
            "description": "Displays the total number of points earned by the member within the selected time period.",
            "example": 123
          },
          "holdPoints": {
            "type": "integer",
            "description": "Displays the total number of points on hold in the member’s account.",
            "example": 1000
          },
          "usedPointsOnReward": {
            "type": "integer",
            "description": "Displays the total number of points used by the member on rewards.",
            "example": 600
          },
          "pointsToExpire": {
            "type": "integer",
            "description": "Displays the total number of expired points, indicating that the member had not used these points within the specified date range.",
            "example": 56
          },
          "pointsToNextTier": {
            "type": "integer",
            "description": "Displays the number of points needed for the member to achieve the next tier.",
            "example": 20
          },
          "spendToNextTier": {
            "type": "integer",
            "description": "Displays the amount that the member needs to spend to achieve the next tier.",
            "example": 0
          },
          "pointsToExpireDate": {
            "type": "string",
            "description": "Displays the date on which the points will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
            "example": "2020-01-30T05:30:00+0000"
          },
          "totalSpent": {
            "type": "integer",
            "description": "Displays the total number of points spent by the member.",
            "example": 550
          },
          "rewardDenomination": {
            "type": "integer",
            "description": "Displays the denomination value associated with the reward.",
            "example": 500
          },
          "creditToCurrencyRatio": {
            "type": "integer",
            "description": "Displays the credits to currency ratio defined by the admin. Multiplying this ratio by the member's available points results in total currency values of the available points.",
            "example": 1
          },
          "creditToCurrencyValue": {
            "type": "integer",
            "description": "Displays the total currency value after multiplying the available points with credit to currency ratio, rounded to the defined decimal place.",
            "example": 6656
          },
          "ytdCreditPoints": {
            "type": "integer",
            "description": "Displays the total number of points credited to the member’s account from the beginning of the year up to the current date.",
            "example": 8620
          },
          "ytdDebitPoints": {
            "type": "integer",
            "description": "Displays the total number of points debited from the member’s account from the beginning of the year up to the current date.",
            "example": 2000
          },
          "availableRedemptionPoints": {
            "type": "integer",
            "description": "Displays the total number of available points for redemption in the member’s account.",
            "example": 1100
          },
          "usedRedemptionPoints": {
            "type": "integer",
            "description": "Displays the total number of points used for redemption in the member’s account.",
            "example": 0
          },
          "multiBucketsData": {
            "type": "object",
            "description": "Displays an array of all multi bucket details with the following fields.",
            "properties": {
              "points": {
                "type": "object",
                "description": "Displays an array of all multi bucket points.",
                "properties": {
                  "availablePoints": {
                    "type": "integer",
                    "description": "Displays the number of points available in the member’s account within the additional point bucket.",
                    "example": 100
                  },
                  "lifetimePoints": {
                    "type": "integer",
                    "description": "Displays the number of points the member has earned in their lifetime with the loyalty program.",
                    "example": 200
                  },
                  "usedPoints": {
                    "type": "integer",
                    "description": "Displays the number of points used by the member from the additional point bucket.",
                    "example": 300
                  },
                  "negativePoints": {
                    "type": "integer",
                    "description": "Displays the number of negative points in the member’s account in the additional point bucket.",
                    "example": 0
                  },
                  "holdPoints": {
                    "type": "integer",
                    "description": "Displays the number of points on hold in the member’s account.",
                    "example": 5
                  },
                  "expiredPoints": {
                    "type": "integer",
                    "description": "Displays the number of points from the additional point bucket that have expired.",
                    "example": 100
                  },
                  "pointsToExpire": {
                    "type": "integer",
                    "description": "Displays the total number of points that are next to expire in the additional point bucket.",
                    "example": 500
                  },
                  "pointsToExpireDate": {
                    "type": "string",
                    "description": "Displays the date on which the points will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                    "example": "2020-10-30T05:30:00+0000"
                  },
                  "pointsToNextTier": {
                    "type": "integer",
                    "description": "Displays the number of points required to reach the next tier associated with the additional point bucket.",
                    "example": 0
                  },
                  "tierPoints": {
                    "type": "object",
                    "description": "Displays the details of the object tier points.",
                    "properties": {
                      "availableTierpoints": {
                        "type": "integer",
                        "description": "Displays the number of points available in the member’s account within the additional tier points bucket.",
                        "example": 20
                      },
                      "lifetimeTierpoints": {
                        "type": "integer",
                        "description": "Displays the number of tier points the member has earned in their lifetime with the loyalty program.",
                        "example": 58
                      },
                      "usedTierpoints": {
                        "type": "integer",
                        "description": "Displays the number of points used by the member from the additional tier points bucket.",
                        "example": 78
                      },
                      "negativeTierPoints": {
                        "type": "integer",
                        "description": "Displays the total number of negative points in the member’s account in the additional tier points bucket.",
                        "example": 0
                      },
                      "expiredTierpoints": {
                        "type": "integer",
                        "description": "Displays the number of points from the additional tier points bucket that have expired.",
                        "example": 100
                      },
                      "holdTierpoints": {
                        "type": "integer",
                        "description": "Displays the number of points on hold in the member’s account in the additional tier points bucket.",
                        "example": 50
                      },
                      "tierPointsToExpire": {
                        "type": "integer",
                        "description": "Displays the total number of points that are next to expire in the tier points bucket.",
                        "example": 115
                      },
                      "tierPointsToExpireDate": {
                        "type": "string",
                        "description": "Displays the date on which the points will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                        "example": "2020-04-29'T'04:45:56+0000"
                      },
                      "pointsToNextTier": {
                        "type": "integer",
                        "description": "Displays the total number of points required to reach the next tier associated with the additional points bucket.",
                        "example": 0
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "productpointsresponse": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string",
            "description": "Displays Annex Cloud’s site ID for the loyalty program.",
            "example": 33986340
          },
          "data": {
            "type": "object",
            "description": "Displays the order details.",
            "properties": {
              "id": {
                "type": "string",
                "description": "Displays the unique product ID.",
                "example": 12345
              },
              "quantity": {
                "type": "integer",
                "description": "Displays the quantity of the product that has been purchased.",
                "example": 2
              },
              "unitPrice": {
                "type": "integer",
                "description": "Displays the unit price of the product.",
                "example": 10
              },
              "autoDelivery": {
                "type": "string",
                "description": "Displays the auto delivery as YES or NO for the products. If not provided, then by default it is YES.",
                "example": "YES"
              },
              "points": {
                "type": "integer",
                "description": "Displays the number of points the member earned for purchasing the product.",
                "example": 70
              },
              "calculation": {
                "type": "integer",
                "description": "Displays the calculation of points the member will earn after purchasing that product.",
                "example": "Total Points = Purchase ratio (1) * Product ratio () * Tier ratio (2) * Sale amount(10) * Quantity (1)"
              },
              "pointsRatio": {
                "type": "integer",
                "description": "Displays the total points ratio [purchaseRatio/campaignRatio (whichever is higher) X  tierRatio].",
                "example": 2
              }
            }
          },
          "multibucketsData": {
            "type": "object",
            "description": "Displays an array of all multi-point bucket details with the following fields. Only displays if multiple point bucket is enabled.",
            "properties": {
              "tierStatusPoints": {
                "type": "object",
                "description": "Displays the details of the object tier status points.",
                "properties": {
                  "cartStatusPointsTierCredit": {
                    "type": "integer",
                    "description": "Displays the number of points credited in the member’s account towards cart status points.",
                    "example": 20
                  },
                  "tierstatuspointsToExpireDate": {
                    "type": "string",
                    "description": "Displays the date on which the tier status points will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                    "example": "2022-09-21T00:00:00-0700"
                  },
                  "availableTierStatusPoints": {
                    "type": "integer",
                    "description": "Displays the number of tier status points available in the member’s account.",
                    "example": 210
                  },
                  "lifetimeTierStatus Points": {
                    "type": "integer",
                    "description": "Displays the number of tier status points the member has earned in their lifetime with the loyalty program.",
                    "example": 410
                  },
                  "availableStatusPointsTierCreditAfterOrder": {
                    "type": "integer",
                    "description": "Displays the number of tier status points available in the member’s account credited after purchasing the product.",
                    "example": 230
                  },
                  "lifetimeStatusPointsTierCreditAfterOrder": {
                    "type": "integer",
                    "description": "Displays the number of tier status points the member has earned in their lifetime with the loyalty program after the order is placed.",
                    "example": 430
                  }
                }
              }
            }
          }
        }
      },
      "cartproductpointsresponse": {
        "type": "object",
        "properties": {
          "cartproductpointsresponse": {
            "type": "object",
            "description": "Displays the following parameters.",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Displays Annex Cloud’s site ID for the loyalty program.",
                "example": 33986340
              },
              "userId": {
                "type": "string",
                "description": "Displays the unique ID of the member.",
                "example": "samsa35.sa@gmail.com"
              },
              "lifetimePoints": {
                "type": "integer",
                "description": "Displays the number of points the member has earned in their lifetime with the loyalty program.",
                "example": 450
              },
              "usedPoints": {
                "type": "integer",
                "description": "Displays the number of points used from the member’s account.",
                "example": 200
              },
              "availablePoints": {
                "type": "integer",
                "description": "Displays the number of available points in the member’s account.",
                "example": 250
              },
              "holdPoints": {
                "type": "integer",
                "description": "Displays the total number of points on hold in the member’s account.",
                "example": 5
              },
              "cartPoints": {
                "type": "integer",
                "description": "Displays the number of points the member will earn after purchasing the products which are in their cart.",
                "example": 20
              },
              "availablePointsAfterOrder": {
                "type": "integer",
                "description": "Displays the number of available points the member will have after placing the order.",
                "example": 320
              },
              "holdPointsAfterOrder": {
                "type": "integer",
                "description": "Displays the number of points which are on hold after placing the order.",
                "example": 5
              },
              "creditsToCurrencyRatio": {
                "type": "string",
                "description": "Displays the credit to currency ratio defined by the admin. Multiplying this ratio by the member's available points results in total currency values of the available points.",
                "example": 0.25
              },
              "creditsToCurrencyValue": {
                "type": "string",
                "description": "Displays the total currency value after multiplying the available points by the credit to currency ratio up to a defined decimal place.",
                "example": 6656.678
              },
              "creditsToCurrencyValueAfterOrder": {
                "type": "string",
                "description": "Displays the credit to currency value of total available points after the order is placed by the member.",
                "example": 7656.678
              },
              "creditsToCurrencyValueCartPoints": {
                "type": "string",
                "description": "Displays the credit to currency value of the current cart points.",
                "example": 7656.678
              },
              "productDetail": {
                "type": "object",
                "description": "Displays the details of the object product detail.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Displays the unique ID of the product.",
                    "example": "Abc123"
                  },
                  "quantity": {
                    "type": "integer",
                    "description": "Displays the quantity of the product that has been purchased.",
                    "example": 1
                  },
                  "unitPrice": {
                    "type": "integer",
                    "description": "Displays the unit price of the product.",
                    "example": 10
                  },
                  "points": {
                    "type": "integer",
                    "description": "Displays the number of points the member earned for purchasing the product.",
                    "example": 20
                  },
                  "productName": {
                    "type": "string",
                    "description": "Displays the name of the product.",
                    "example": "lorem"
                  },
                  "categoryId": {
                    "type": "integer",
                    "description": "Displays the category ID of the product.",
                    "example": 23
                  },
                  "categoryName": {
                    "type": "string",
                    "description": "Displays the category name of the product.",
                    "example": "lorem ipsum"
                  }
                }
              },
              "multiBucketsData": {
                "type": "object",
                "description": "Displays an array of all multi-point bucket details with the following fields. Only displays if multiple point bucket is enabled.",
                "properties": {
                  "tierStatusPoints": {
                    "type": "object",
                    "description": "Displays the details of the object tier status points.",
                    "properties": {
                      "cartStatusPointsTierCredit": {
                        "type": "integer",
                        "description": "Displays the number of points credited in the member’s account towards cart status points.",
                        "example": 20
                      },
                      "tierstatuspointsToExpireDate": {
                        "type": "string",
                        "description": "Displays the date on which the tier status points that will expire in yyyy-MM-dd'T'HH:mm:ssZ format.",
                        "example": "2022-09-21T00:00:00-0700"
                      },
                      "availableTierStatusPoints": {
                        "type": "integer",
                        "description": "Displays the number of tier status points available in the member’s account.",
                        "example": 210
                      },
                      "lifetimeTierStatus Points": {
                        "type": "integer",
                        "description": "Displays the number of tier status points the member has earned in their lifetime with the loyalty program.",
                        "example": 410
                      },
                      "availableStatusPointsTierCreditAfterOrder": {
                        "type": "integer",
                        "description": "Displays the number of tier status points available in the member’s account after the order is placed.",
                        "example": 230
                      },
                      "lifetimeStatusPointsTierCreditAfterOrder": {
                        "type": "integer",
                        "description": "Displays the number of tier status points the member has earned in their lifetime with the loyalty program after the order is placed.",
                        "example": 430
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Tiers",
      "description": "Welcome to Annex Cloud’s Tier API documentation for Multi Point Bucket. Designed to enhance your loyalty journey, this API allows you to discover a member’s current tier, the next achievable tier, along with the points needed to reach it. The multi bucket data provides insight into available tier points, coins, and perks. You can retrieve information for the points and coins required for member’s to advance to the next tier in the loyalty program."
    },
    {
      "name": "Orders",
      "description": "Welcome to Annex Cloud’s Order API documentation for Multi Point Bucket. Seamlessly manage orders, input and update order details, apply coupon codes, and track rewards whether customers are shopping instore, through your website or via mobile app. By using the multi point bucket parameters provided in the methods below you can allow members to earn points towards multiple point buckets for an order and update the points within the additional point buckets once an order’s status has been updated."
    },
    {
      "name": "Rewards",
      "description": "Welcome to Annex Cloud’s Rewards API documentation for Multi Point Bucket, designed to elevate your loyalty program experience. Using the GET method listed below, you can retrieve the list of rewards against a member’s User ID. You can easily see what rewards they are eligible for and what rewards require points in additional point buckets to be redeemed."
    },
    {
      "name": "Points",
      "description": "Welcome to Annex Cloud’s Points API documentation for Multi Point Bucket. Using the multi point bucket parameters provided in the documentation below, you can easily update points for members in your loyalty program within all point buckets. Additionally, you can use the GET method to retrieve all of the point information for a member, including the status of their points within the additional point buckets in your program."
    },
    {
      "name": "Product",
      "description": "Welcome to Annex Cloud’s Product API documentation for Multi Point Bucket. Using the method below you can calculate how many points a member will earn for purchasing products, including details on points that can be earned towards additional point buckets established in your loyalty program."
    },
    {
      "name": "Cart",
      "description": "Welcome to Annex Cloud’s Cart API documentation for Multi Point Bucket. Using the POST method below you can calculate the points members can earn for the products in their cart. This includes points that can be earned towards the additional point buckets established in your loyalty program."
    }
  ],
  "security": [
    {
      "MuseumPlaceholderAuth": []
    }
  ]
}