# Loyalty APIs

Customer loyalty drives successful enterprises, representing the trust and emotional connection consumers develop with brands over time. In today's competitive landscape with evolving customer expectations, retaining existing customers is as crucial as attracting new ones.
Our Customer Loyalty API revolutionizes customer engagement by enabling seamless integration of loyalty programs into your applications, websites, and platforms. This solution empowers businesses of all sizes with personalized experiences, targeted rewards, and data-driven insights to enhance customer lifetime value.
This documentation guides you through integration with detailed explanations, endpoints, examples, and best practices suitable for both newcomers and experienced developers.

Key Features-

Customer Enrollment - Easily register customers with minimal API calls

Points and Rewards Management - Track points and incentivize engagement

Personalized Promotions - Create targeted offers based on individual preferences

Data Analytics - Gain insights into customer behavior for informed decisions

Security and Compliance - Protect customer data with robust security measures

Seamless Integration - Compatible with various platforms for hassle-free implementation

Version: 3.0.0

## Servers

```
https://s15.socialannex.net/api/3.0
```

## Download OpenAPI description

 - [Loyalty APIs](https://annexcloud.redocly.app/_bundle/loyalty/loyalty.yaml)

## JWT Authentication

## Users

 - [POST /users](https://annexcloud.redocly.app/loyalty/loyalty/users/createuser.md): To create new loyalty members and enroll them in the loyalty program, use the POST method in the user API. A unique ID must be specified while creating a new member. All other additional fields in the
 - [GET /users/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/paths/~1users~1%7B%7Bmemberid%7D%7D/get.md): This API method is used to fetch all the information for a loyalty member by passing the unique ID of the member. Note: For all date-time fields in the request and response, if the timestamp contains
 - [PATCH /users/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/userupdatereq.md): This method is used to update existing member information by merging the provided information with the current data. The Annex Cloud User API uses the Zend Framework’s email validation library to veri
 - [POST /userdelete](https://annexcloud.redocly.app/loyalty/loyalty/users/userdelete.md): This method can be used to delete the member from the loyalty program. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset after the + symbol (for e
 - [GET /users/{{memberId}}/allgroup](https://annexcloud.redocly.app/loyalty/loyalty/users/getgroupdetails.md): This API is used to retrieve the information of a member associated with a hierarchy management group. Note: For all date-time fields in the request and response, if the timestamp contains a timezone
 - [POST /users/search](https://annexcloud.redocly.app/loyalty/loyalty/users/usersearch.md): This API is used to search member details based on multiple query parameters. **Note - This API can only return a maximum of 50 records, and customers can access more than 50 user records by using the
 - [POST /mergeuser](https://annexcloud.redocly.app/loyalty/loyalty/users/mergeuserpost.md): This method is used to merge two member accounts. The Secondary member account is merged with the Primary member account. Post merge, all the activities on the secondary member account are owned by th
 - [GET /mergeuser/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/getmergeuser.md): This method is used to get the details of the primary member after the merge functionality is completed, and only a single member is left (the primary member). It displays how many members have been m
 - [GET /users/{{memberId}}/activitysummary/{{actionId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/getuseridactivitysummaryactionid.md): This API retrieves a summary of a member's activity, including points that have been debited or credited. Note: For all date-time fields in the request and response, if the timestamp contains a timezo
 - [POST /bulkpostusers](https://annexcloud.redocly.app/loyalty/loyalty/users/bulkpostusers.md): This API method is used for managing large-scale member registrations in the loyalty program. It facilitates the quick and efficient onboarding of multiple loyalty members simultaneously, by allowing
 - [POST /bulkpatchusers](https://annexcloud.redocly.app/loyalty/loyalty/users/postbulkpatchusers.md): This endpoint enables updating member information efficiently in bulk. NOTE - We recommend limiting requests to around 100 records. Note: For all date-time fields in the request and response, if the t
 - [GET /transactionErasure/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/users/gettransactionerasure.md): By passing the User ID, use this method to retrieve all transaction erasure details for a loyalty member. Note: For all date-time fields in the request and response, if the timestamp contains a timezo
 - [POST /transactionErasure](https://annexcloud.redocly.app/loyalty/loyalty/users/posttransactionerasure.md): This method enables the member to perform Transaction Erasure for transactions that meet the predefined conditions. Note: For all date-time fields in the request and response, if the timestamp contain
 - [PATCH /transactionErasure](https://annexcloud.redocly.app/loyalty/loyalty/users/transactionerasure.md): Patch method is used to undo the transaction erasure that is in progress and not yet completed. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset
 - [GET /users/{{memberId}}/activity](https://annexcloud.redocly.app/loyalty/loyalty/users/getuseractivityreq.md): By using this method, all activity details for a member can be retrieved. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset after the + symbol (fo
## Points

 - [POST /bulkpoints](https://annexcloud.redocly.app/loyalty/loyalty/points/postbulkpoints.md): This method allows you to simultaneously deduct or award points to multiple members. To make a bulk point adjustment you will number each object in the request. Nested within each object, you must inc
 - [GET /points/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/points/getpointsid.md): This method retrieves point details associated with a member’s ID. The member needs to use their ID as a key to fetch all the points details. Note: For all date-time fields in the request and response
 - [GET /pointsexpiry/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/points/getpointsexpiryid.md): This API is used to fetch the point expiration details for a member based on the specified date range and page number as provided by the user. Note: For all date-time fields in the request and respons
 - [POST /points](https://annexcloud.redocly.app/loyalty/loyalty/points/postpoints.md): Use the POST method in the Points API to redeem points and award points to members of the loyalty program. All other fields in the request body are listed below. Note: For all date-time fields in the
 - [POST /getbulkpoints](https://annexcloud.redocly.app/loyalty/loyalty/points/getbulkpoints.md): This method retrieves point details associated with multiple members’ IDs. The members need to use their ID as a key to fetch all the points details. Note: For all date-time fields in the request and
## Action

 - [POST /actions](https://annexcloud.redocly.app/loyalty/loyalty/action/postactions.md): This method retrieves all actions configured for the site and indicates which ones the member has completed. Note: For all date-time fields in the request and response, if the timestamp contains a tim
 - [GET /actions/{{status}}](https://annexcloud.redocly.app/loyalty/loyalty/action/getactionstatus.md): This method retrieves information pertaining to all activities carried out on the site ID. To obtain all actions configured on the site, simply input "all" as the status parameter. Note: For all date-
 - [GET /actiongrouplist/{{actionGroupId}}](https://annexcloud.redocly.app/loyalty/loyalty/action/getactiongrouplistgroupid.md): This GET method is utilized to retrieve details associated with the action group by specifying the Action Group ID within the environment. Note: For all date-time fields in the request and response, i
 - [GET /actiongroup/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/action/getactiongroupemailid.md): Upon passing the GET method in the environment, the system retrieves the following information - 1. All enabled action groups for the site. 2. User-associated actions linked to any enabled actions, in
 - [POST /users/{{memberId}}/actionseries](https://annexcloud.redocly.app/loyalty/loyalty/action/postactionseries.md)
 - [GET /users/{{memberId}}/actionseries](https://annexcloud.redocly.app/loyalty/loyalty/action/getactionseriesbyemail.md): This method retrieves the details of all action series performed by the particular member by using email address. Note: For all date-time fields in the request and response, if the timestamp contains
## Activity

 - [GET /users/{{memberId}}/activity/](https://annexcloud.redocly.app/loyalty/loyalty/activity/getactivityqueryreq.md): This method allows for the retrieval of details about performed activities. The following paths can be utilized to display the activities. Below are a few examples that show how you can combine query
## Tiers V2

 - [GET /tier/program/{{all}}](https://annexcloud.redocly.app/loyalty/loyalty/tiers-v2/gettierprogramall.md): This method allows you to fetch all the configured tier programs on a site. At any given time, a maximum of only ten tier programs can be configured on the site, and only one tier program can go live
 - [GET /tier/program{{program_id}}](https://annexcloud.redocly.app/loyalty/loyalty/tiers-v2/gettierprogramprogramid.md): This endpoint retrieves all configuration details for a tier program using the program ID. It includes details such as entry conditions, tier benefits, and additional metadata. The metadata offers fur
 - [GET /users/{{user_id}}/tier](https://annexcloud.redocly.app/loyalty/loyalty/tiers-v2/getusersuseridtier.md): This method can be used to get tier information for a member by passing the user ID. It also provides information on tier upgrades, retention, and downgrades. Note: For all date-time fields in the req
 - [POST /tier/{{tier_id}}](https://annexcloud.redocly.app/loyalty/loyalty/tiers-v2/posttiertierid.md): This method is used to manually assign a tier to a member, qualifying them for the configured benefits associated with the assigned tier. **Note:** To manually assign a tier to a member, the "Enable m
## Tiers(Deprecated)

 - [GET /tierlist/all](https://annexcloud.redocly.app/loyalty/loyalty/tiers(deprecated)/getalltierlist.md): This method retrieves tier details against site ID. The member must use the site ID as a key to fetch all the details of the Tier. Note: For all date-time fields in the request and response, if the ti
 - [GET /tierlist/all?page=1](https://annexcloud.redocly.app/loyalty/loyalty/tiers(deprecated)/getalltierlistpage.md): This method retrieves tier details against a site ID and page number. Site ID and page number must be passed as a key to fetch all the details of the tiers. Note: For all date-time fields in the reque
 - [GET /users/{{memberId}}/tiers](https://annexcloud.redocly.app/loyalty/loyalty/tiers(deprecated)/gettiersinfo.md): This method retrieves tier details for a specific member. Enter the member's user ID as a key to fetch all tier details for that member. Note: For all date-time fields in the request and response, if
## Rewards

 - [GET /users/{{memberId}}/reward](https://annexcloud.redocly.app/loyalty/loyalty/rewards/getrewardsbyuser.md): 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. A query parameter rewardSeq
 - [GET /users/{{memberId}}/usedreward](https://annexcloud.redocly.app/loyalty/loyalty/rewards/getusedreward.md): Using this method, you can retrieve the details of all rewards that have been used by a specific loyalty member. To access the rewards, you need to pass the unique member ID. Note: For all date-time f
 - [POST /users/{{memberId}}/usedreward](https://annexcloud.redocly.app/loyalty/loyalty/rewards/usedrewardpost.md): This method is used to debit points from the member's account using their ID, used reward ID and code, and the number of points to be debited. Note: For all date-time fields in the request and respons
 - [GET /rewardlist/all](https://annexcloud.redocly.app/loyalty/loyalty/rewards/getrewardsbysite.md): By using this method, all rewards configured against a site ID can be retrieved. Note - The results of this API can also be filtered by passing the page number in the query parameter /rewardlist/all?p
 - [PATCH rewardlistupdate/{{rewardId}}](https://annexcloud.redocly.app/loyalty/loyalty/rewards/patchrewardlistrewardidre.md): This method can be used to update four parameter details - rewardName, overallRewardLimit, creditRequired, and rewardStatus. Note - To receive a successful response, the request body must include one
## Segment

 - [POST /segment](https://annexcloud.redocly.app/loyalty/loyalty/segment/createsegment.md): This API is used to create a new segment of members in the database. The mandatory parameter values are the name of the segment, the defined start date of the segment, and the defined end date of the
 - [GET /eligiblesegment/{{segmentId}}](https://annexcloud.redocly.app/loyalty/loyalty/segment/eligiblesegment.md): This method retrieves segment details for all members who are eligible to be included in an existing segment. The administrator needs to use the segment ID as a key to fetch all the details of that el
 - [GET /segment/{{segmentId}}](https://annexcloud.redocly.app/loyalty/loyalty/segment/getsegmentid.md): This method retrieves segment details for a specific segment ID. The user needs to use the segment ID as a key to fetch all the details for that particular segment. Note: For all date-time fields in t
 - [PATCH /segment/{{segmentId}}](https://annexcloud.redocly.app/loyalty/loyalty/segment/updatesegment.md): The patch method is used to update existing member segments in the database. An update merges the given request parameters into the current segment. The mandatory parameter values are segment ID, segm
 - [GET /segmentlist/status](https://annexcloud.redocly.app/loyalty/loyalty/segment/getsegmentliststatus.md): This method retrieves details of all segments available against the site ID. The administrator defines the ‘status’ parameter as either ‘all,’ ‘active,’ or ‘inactive’ in order to display a list of all
 - [POST /bulksegmentupdate](https://annexcloud.redocly.app/loyalty/loyalty/segment/postbulksegment.md): This API is used to add, override, or delete users in bulk in the database. The segment ID, a list of user IDs, and defining the ‘memberUpdate’ parameter as ‘add’, ‘override,’ or ‘delete’ are required
## Campaign

 - [POST /campaign](https://annexcloud.redocly.app/loyalty/loyalty/campaign/postcampaign.md): This API is used to get the campaigns details against the user & campaignID. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset after the + symbol
 - [GET /campaign/{{status}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getcampaignstatus.md): This method retrieves campaign details for campaigns based on the Campaign Status. To retrieve details for all campaigns of any status, use campaign status = all Note: For all date-time fields in the
 - [GET /campaign/{{campaignId}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getcampaigncampaignid.md): This method retrieves campaign details for a specific Campaign ID. The user must provide the Campaign ID as a key to fetch all the details of that campaign. Note: For all date-time fields in the reque
 - [GET /users/{{memberId}}/campaign](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getusersidcampaign.md): This method retrieves all active eligible campaigns for a particular member. The user needs to use a unique user ID as a key to fetch all eligible campaigns for the particular member. Note: For all da
 - [PATCH /campaign/activation/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/patchcampaignactivation.md): Use this PATCH campaign activation method to reactivate the campaign to participate in it. {Reactivation is required if the member receives individual validity more than one time for a campaign.} Note
 - [POST /campaign/activation](https://annexcloud.redocly.app/loyalty/loyalty/campaign/postcampaignactivation.md): Use this POST campaign activation method to let the member activate the campaign to participate in it. Note: For all date-time fields in the request and response, if the timestamp contains a timezone
 - [POST /campaign/individualvalidity](https://annexcloud.redocly.app/loyalty/loyalty/campaign/postcampaignindividualvalidity.md): Use this POST campaign individual validity method to send individual validity for each target member in bulk. Note: For all date-time fields in the request and response, if the timestamp contains a ti
 - [GET /campaign/group/{{status}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getcampaigngroupstatus.md): This API method returns the response as per the campaign group status passed, i.e. all, active or inactive. Note: For all date-time fields in the request and response, if the timestamp contains a time
 - [GET /campaign/group/{{campaignGroupId}}](https://annexcloud.redocly.app/loyalty/loyalty/campaign/getcampaigngroupcampaigngroupid.md): This method allows users to retrieve detailed information about a campaign group by specifying a unique Campaign Group ID. Note: For all date-time fields in the request and response, if the timestamp
## Orders

 - [POST /orders](https://annexcloud.redocly.app/loyalty/loyalty/orders/createorder.md): Use the POST method in the Orders API to create a new order made by a member in the loyalty program. Each order has a unique ID and contains all the relevant order data such as the member placing the
 - [POST /bulkpostorder](https://annexcloud.redocly.app/loyalty/loyalty/orders/createbulkorder.md): To create new orders in bulk, use this POST method in the Orders API. When uploading bulk orders, you will input the relevant order information such as the parameters for userId, orderID and orderDeta
 - [POST /bulkpatchorder](https://annexcloud.redocly.app/loyalty/loyalty/orders/bulkpatchorder.md): Use this endpoint in the Bulk Patch Order API to update details of an already created order in the loyalty program. This method allows updating order level information such as status, product details,
 - [GET /secondaryuserorders](https://annexcloud.redocly.app/loyalty/loyalty/orders/secondaryuserorders.md): This field will only retrieve the information specific to that member for that order. Otherwise, it will return all secondary member's data. Note: For all date-time fields in the request and response,
 - [POST /orderdetails](https://annexcloud.redocly.app/loyalty/loyalty/orders/postorderdetails.md): This API is used to retrieve all of the details of an order based on either the user ID parameter, the order ID parameter, or both. Please note that if only the userId is entered, all orders placed by
 - [POST /cart](https://annexcloud.redocly.app/loyalty/loyalty/orders/postcart.md): The potential points a member can earn off of the products in their cart are calculated by using the POST cart API. The Purchase Action must be properly configured before the API can function correctl
 - [POST /manualspend](https://annexcloud.redocly.app/loyalty/loyalty/orders/postmanuaspend.md): To manually adjust the spend amount of an order, use this POST method. When adjusting the spend amount, locate the specific order using the orderId field and then enter when the adjustment is a credit
 - [PATCH /orders/orderid](https://annexcloud.redocly.app/loyalty/loyalty/orders/updateorder.md): Use the PATCH method in the Orders API to update the order status of a shipment to the ship, return, or cancel status in the input parameter. Orders can also be updated depending on their status as pa
 - [PATCH /orders/orderid - Add to an existing order](https://annexcloud.redocly.app/loyalty/loyalty/orders/updateaddexistingorder.md): Use the following request body schema to add new quantities or an additional product(s) to an existing order by entering add as the Status parameter value. Note: For all date-time fields in the reques
## BlockList

 - [POST /blocklist](https://annexcloud.redocly.app/loyalty/loyalty/blocklist/blocklist.md): This API method is used to block both members and domains within the Annex Cloud site. It facilitates the execution of actions that prevent specified members and domains from accessing or interacting
 - [GET /blocklist/all](https://annexcloud.redocly.app/loyalty/loyalty/blocklist/blocklistall.md): This API method retrieves comprehensive information about all the members and domains listed in the blocklist on the Annex Cloud site. Note: For all date-time fields in the request and response, if th
 - [POST /blocklistdelete](https://annexcloud.redocly.app/loyalty/loyalty/blocklist/blocklistdelete.md): This API method is used for removing members and domains from the blocklist of the Annex Cloud site. If members or domains are requested to be deleted but are not on the blocklist, you will be notifie
## Product

 - [POST /products](https://annexcloud.redocly.app/loyalty/loyalty/product/productcreatenew.md): Use the POST:/products method to get details of the products in the loyalty program. All fields in the response body are listed below. Although this is a POST method, the method performs a GET action
 - [POST /bulkproducts](https://annexcloud.redocly.app/loyalty/loyalty/product/createbulkproducts.md): Use the POST:/bulkproducts method to efficiently add several new products into a loyalty program's product catalog in one operation. When making a bulk request it is required to include the parameters
 - [GET /products/{{prod_id}}](https://annexcloud.redocly.app/loyalty/loyalty/product/getproductinfo.md): This method retrieves product details for a specific product ID. User needs to use product ID as a key to fetch all the details of that particular product. Note: For all date-time fields in the reques
 - [PATCH /products/{{prod_id}}](https://annexcloud.redocly.app/loyalty/loyalty/product/updateproduct.md): The PATCH method is used for updates of existing product information. The Point Award Type and Product ID must be specified to update product information. If you enter a different value for any of the
 - [POST /bulkpatchproducts](https://annexcloud.redocly.app/loyalty/loyalty/product/postbulkpatchproducts.md): To update a several products at once in the loyalty program, use this POST method. Points Award Type, Product ID must be specified when updating multiple products. All other additional fields in the r
## Others

 - [GET /sitedetails/{{siteId}}](https://annexcloud.redocly.app/loyalty/loyalty/others/getsitedetails.md): This method retrieves the details for the Annex Cloud site. The administrator must use the site ID to fetch the details for the site. Note: For all date-time fields in the request and response, if the
## Survey

 - [POST /survey](https://annexcloud.redocly.app/loyalty/loyalty/survey/postsurvey.md): This method can be used in three different ways to submit a response to questions in the survey. Please see the information listed below to identify your use case. Note1 - Question Type - checkbox, ra
 - [GET /survey/all](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveyall.md): By using this method, all surveys configured against a site ID can be retrieved. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset after the + sym
 - [GET /survey/{{surveyId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysueveyid.md): This method is used to get the survey information for a specific survey by passing the survey ID. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offse
 - [GET /survey/all/user/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveyalluseremailid.md): By passing the user ID, you can retrieve information for all surveys configured for the site and the specific member’s eligibility and completion status for each survey. Note: For all date-time fields
 - [GET /survey/{{surveyId}}/user/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailid.md): By passing the survey ID and user ID, information can be retrieved for a specific survey as well as a specific member’s eligibility and completion status for that survey. Note: For all date-time field
 - [GET /survey/{{surveyId}}/user/{{memberId}}/section/all](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionall.md): This method is used to fetch section information for a specific survey along with a specific member’s completion and eligibility status for the survey by passing the survey ID and user ID. Note: For a
 - [GET /survey/{{surveyId}}/user/{{memberId}}/section/{{sectionId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionsectionid.md): By passing the section ID along with the survey and user ID, this method is used to fetch information for a specific section of a survey along with a specific member’s completion and eligibility statu
 - [GET /survey/{{surveyId}}/user/{{memberId}}/section/{{sectionId}}/question/all](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionsectionidquestionall.md): This method is used to fetch the question details for a specific section of a survey along with a member’s completion and eligibility status for the survey. Note: For all date-time fields in the reque
 - [GET /survey/{{surveyId}}/user/{{memberId}}/section/{{sectionId}}/question/{{questionId}}](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionsectionidquestionquestionid.md): This method is used to fetch the question details for a specific question within a section of a survey along with a member’s completion and eligibility status for the survey. Note: For all date-time f
 - [GET /survey/{{surveyId}}/user/{{memberId}}/status](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidstatus.md): This method is used to fetch information related to a specific member’s completion of a specific survey. Note: For all date-time fields in the request and response, if the timestamp contains a timezon
 - [GET /survey/{{surveyId}}/user/{{memberId}}/section/{{sectionId}}/status](https://annexcloud.redocly.app/loyalty/loyalty/survey/getsurveysurveyiduseremailidsectionsectionidstatus.md): This method is used to fetch information related to a specific member’s completion of a section within a survey. Note: For all date-time fields in the request and response, if the timestamp contains a
## Store

 - [GET /store/{{Store_Id}}](https://annexcloud.redocly.app/loyalty/loyalty/store/getstore.md): This method retrieves detailed information about a store. The administrator must use the store ID to fetch the details for the store. Note: For all date-time fields in the request and response, if the
 - [POST /bulkpoststore](https://annexcloud.redocly.app/loyalty/loyalty/store/bulkpoststores.md): This method is used to create stores in bulk, which enhances the process and saves member's time. If you pass the same store ID multiple times, it will show an error, and you will not be able to creat
 - [POST /bulkpatchstore](https://annexcloud.redocly.app/loyalty/loyalty/store/bulkpatchstores.md): This method is utilized to update store information, such as the name value and its attribute values, in bulk, which saves a lot of processing time for the user. Once a StoreId is created, it cannot b
## Hierarchy Management

 - [POST /group - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/postgrouphm.md): This method is used to create a group and add members to the group. The loyalty member who creates the group automatically becomes the group owner. Note - When the Group Invitation Acceptance Required
 - [GET /group/{{groupId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/getgroupgroupifhm.md): This method is used to get group information by passing the unique group ID. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset after the + symbol
 - [PATCH /group/{{groupId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/patchgroupgroupidhm.md): This method is used to update the group details. This method can also be used to dissolve a group. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offs
 - [GET /group/invite/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/getgroupinviteemailidhm.md): This method is used to retrieve the invitation details for a loyalty member. Members can only belong to one group at a time but can receive multiple group invites before accepting. Note: For all date-
 - [PATCH /group/invite/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/patchgroupinviteemailidhm.md): This method is used for accepting or declining group invitations by the loyalty member. Note - The group acceptance criteria only works when the Group Invitation Acceptance Required flag is enabled at
 - [POST /group/invite - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/postgroupinvitehm.md): This method is used to send invitations to loyalty members if invites are required. If invitations are not required, this method is used to directly add members to a group. Note: For all date-time fie
 - [PATCH /group/leave/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/patchgroupleaveemailidhm.md): This method allows group members to leave the group. If the "Restrict Members from Leaving Group" flag is enabled at site level, members are not permitted to leave the group without the group owner's
 - [PUT /group/remove/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/putgroupremoveemailidhm.md): This method is used for removing a group member from the group. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset after the + symbol (for example,
 - [PATCH /group/role/{{memberId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/patchgrouproleemailidhm.md): This method is used to update the member's role. The group owner has the authority to update the member's role. Note: For all date-time fields in the request and response, if the timestamp contains a
 - [GET /group/{{groupId}}/activity - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/getgroupgroupidactivityhm.md): This method is used to get the activity details of the group by passing unique group ID. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset after t
 - [GET /pointsexpiry/group/{{groupId}} - HM](https://annexcloud.redocly.app/loyalty/loyalty/hierarchy-management/getpointsexpirygroupgrupidhm.md): This API retrieves point expiration details for a specified group based on the provided group ID, date range, and page number. Users can group results by week, month, quarter, or year using the aggreg
## Issuance

 - [POST /issuance- create new issuance](https://annexcloud.redocly.app/loyalty/loyalty/issuance/postissuance.md): Use the POST method in the Issuance API to create a new order initiated by a member within the loyalty program. Each order is assigned a unique ID and encompasses essential order details, including th
 - [POST /issuance- Issuance creation for non purchase transaction](https://annexcloud.redocly.app/loyalty/loyalty/issuance/postissuancecreationfornonpurchasetransactions.md): Use the POST method in the Issuance API to create a new Non-Purchase Transactions within the loyalty program. Each order has a unique ID and includes essential details like the member, total amount, o
 - [PATCH /issuance- Updated Issuance return](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatedissuancereturn.md): Use a PATCH method for updating the status of an existing order, enabling actions such as RETURN, PARTIAL RETURN. Utilize the PATCH method within the Issuance API to modify the order status of a shipm
 - [PUT /issuance- Update the Issuance details](https://annexcloud.redocly.app/loyalty/loyalty/issuance/putupdateissuancedetails.md): Use PUT method to edit and update the existing transactional details. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset after the + symbol (for ex
 - [PATCH /issuance- Update the transaction as Partial Ship](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatetransactionaspartialship.md): Use the PATCH method in the Issuance API to modify the order status of a shipment to "Partial Ship." Orders have the option to be adjusted to Partial Ship status, with all other fields specified in th
 - [PATCH /issuance- Update transaction as Partial Cancel](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatetransactionaspartialcancel.md): Use the PATCH method in the Issuance API to modify the order status of a shipment to "Partial Cancel." Orders have the option to be adjusted to Partial Cancel status, with all other fields specified i
 - [POST /issuancedetails/{{memberId}}](https://annexcloud.redocly.app/loyalty/loyalty/issuance/postissuancedetailsfilter.md): Use the POST method to filter the issuance details. Note: For all date-time fields in the request and response, if the timestamp contains a timezone offset after the + symbol (for example, 2024-07-21T
 - [PATCH /issuance- Update the transaction as Full Cancel](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatetransactionasfullcancel.md): Use the PATCH method in the Issuance API to modify the order status of a shipment to "Full Cancel". Orders have the option to be updated as "Full Cancel", while all other fields are specified in the r
 - [PATCH /issuance- Update the transaction as Full Ship](https://annexcloud.redocly.app/loyalty/loyalty/issuance/patchupdatetransactionasfullship.md): Use the PATCH method in the Issuance API to update the order status of a shipment to Full Ship. Orders can be updated as Ship. All other fields are listed in the request body. Note: For all date-time
## Receipt

 - [POST /receipts - upload receipt](https://annexcloud.redocly.app/loyalty/loyalty/receipt/postreceipts.md): This endpoint can be used to upload receipts in JPEG, PNG, or HEIC format. Once a receipt is submitted, it goes through a verification process, and upon successful verification, points are awarded to
 - [POST /receipts - upload receipt by URL](https://annexcloud.redocly.app/loyalty/loyalty/receipt/postreceiptsurl.md): This endpoint can be used to upload a receipt by providing a URL with a PNG, JPEG, or HEIC extension. Once the receipt is submitted, it goes through a verification process, and upon successful verific
 - [GET /receipts/user/{{email_id}}](https://annexcloud.redocly.app/loyalty/loyalty/receipt/getmemberreceiptdetails.md): This endpoint can be used to fetch all receipts uploaded by a member by providing the member's user ID. Note - The member’s receipt information can also be filtered based on query parameters such as r
 - [GET /receipts/{{submission_id}}](https://annexcloud.redocly.app/loyalty/loyalty/receipt/getreceiptssubmissionid.md): This endpoint can be used to check the status of a receipt after it has been uploaded. Once the receipt is verified, the member receives the points benefit. Note: For all date-time fields in the reque
 - [GET /receipthistory{{email_id}}](https://annexcloud.redocly.app/loyalty/loyalty/receipt/paths/~1receipthistory%7B%7Bemail_id%7D%7D/get.md): This endpoint can be used to return the full history of all receipts uploaded by a member by providing the member's email address. The image URL for each uploaded receipt is included in the response.
## Badges

 - [GET /badges](https://annexcloud.redocly.app/loyalty/loyalty/badges/getallbadges.md): This method retrieves the complete list of all badges available for a specified site. It provides detailed information about each badge, including its properties, availability status, images associate
 - [GET /users/{member_id}/badges](https://annexcloud.redocly.app/loyalty/loyalty/badges/getmemberbadges.md): This endpoint retrieves a list of badges specifically associated with a member identified by their emailId. It provides detailed information about each badge, such as the badge's name, status, group,
 - [POST /badges/{badge_id}/users/{member_id}/assign](https://annexcloud.redocly.app/loyalty/loyalty/badges/postassignbadge.md): This endpoint allows the assignment of a badge to a specific member identified by their email ID. Businesses can use this functionality to recognize member achievements, milestones, or participation i
## Rewards V2

 - [GET /rewards](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/getrewards.md): This endpoint retrieves a list of all available rewards. It allows businesses to filter rewards based on various parameters such as type, status, and issuance source type. The response includes metada
 - [POST /rewards/{{reward_id}}/coupons](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/rewardrewardidcoupon.md): This method uploads one or more coupon codes to the specified active reward. It supports bulk uploads of up to 5,000 codes per request. The system validates each code and returns the overall upload st
 - [GET /rewards/{{reward_id}}](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/getrewardsrewardid.md): By specifying a unique reward ID, this endpoint provides detailed information about a particular reward. This includes attributes like name, type, status, and redemption data. Businesses can use this
 - [GET /users/{{member_id}}/rewards](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/getusersmemberidrewards.md): This endpoint retrieves a list of rewards associated with a specific user, identified by the member ID. The response includes reward details, eligibility information, and pagination metadata. This end
 - [GET /users/{{member_id}}/rewards/history](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/getusersmemberidrewardshistory.md): This endpoint allows you to retrieve and filter rewards associated with a specific member identified by their Member ID. This endpoint retrieves a detailed history of all rewards that the member has p
 - [POST /rewards/{{reward_id}}/users/{{member_id}}/assign](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/postassignreward.md): This endpoint is used to assign a reward to a specific member. It requires both the reward ID and member ID, along with details about the assignment, such as the source type. Successful assignments en
 - [PATCH /rewards/{{reward_id}}/users/{{member_id}}/assign](https://annexcloud.redocly.app/loyalty/loyalty/rewards-v2/patchrewardsassign.md): This endpoint updates the details of a reward awarded to a specific member. It requires assign ID, reward ID and member ID, along with relevant assignment details such as the source type and collected
## Journeys

 - [GET /journeys](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getjourneys.md): This API retrieves a list of all member journeys available for a site. Each journey represents a sequence of steps or processes that a member can follow, such as opting into a program or completing a
 - [GET /journeys/{{journey_id}}](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getjourneysjourneyid.md): The purpose of this endpoint is to provide detailed information about a specific journey within the system. Journeys are structured workflows or paths that define how members interact with the platfor
 - [GET /user_journeys/{{email_id}}](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getuserjourneysemailid.md): This endpoint retrieves a list of user journeys specifically associated with a member identified by their email address. A user journey represents a series of events, milestones, or actions that the m
 - [GET /user/{{email_id}}/journeys](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getuseremailidjourneys.md): This endpoint retrieves a list of user journey specifically associated with a member identified by their email Id. A journey represents a series of events, milestones, or actions that a member has com
 - [POST /users/{{email_id}}/journeys/select_reward](https://annexcloud.redocly.app/loyalty/loyalty/journeys/postuseremailidjourneysselectreward.md): This endpoint allows a member, identified by their email Id, to select the desired reward(s) from the rewards that are available for redeeming during a specific journey. A journey can offer multiple r
 - [GET /journeys/{{member_id}}/eligibility](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getjourneysmemberideligibility.md): This endpoint retrieves the list of journeys available for a member, identified by their member Id, along with the member's current eligibility status for each journey. Use this API to check which jou
 - [GET /badges{{badge_id}}journeys](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getbadgebadgeidjourneys.md): This method displays all journeys that are linked to the provided badge ID. It allows users to identify the journeys through which a badge can be earned, supporting better visualization and configurat
 - [GET /rewards{{reward_id}}journeys](https://annexcloud.redocly.app/loyalty/loyalty/journeys/getrewardsrewardidjourneys.md): This method displays all user journeys that are linked to the provided reward ID. It helps users understand through which journeys a particular reward can be earned, making it easier to map reward eli
## Events

 - [POST /event](https://annexcloud.redocly.app/loyalty/loyalty/events/postevents.md): To record an event in the system, use the POST method in the Events API. The request must include the event type, user information (such as identifiers), event attributes, and metadata. All other addi
 - [POST /api/3.0/journeys/events](https://annexcloud.redocly.app/loyalty/loyalty/events/paths/~1api~13.0~1journeys~1events/post.md): Use this endpoint to create and configure a new event within the system. The request body must define the event's name, schema, and related configuration details. Once created, the event can be tracke
 - [GET /api/3.0/journeys/events](https://annexcloud.redocly.app/loyalty/loyalty/events/getevents.md): Use this endpoint to fetch all events that are configured within the system. The response provides details of the available events and supports pagination to manage large result sets. Authentication a
 - [DELETE /api/3.0/journeys/events/{event_id}](https://annexcloud.redocly.app/loyalty/loyalty/events/deleteevent.md): Use this endpoint to permanently remove an event from the system by specifying its unique event ID in the request path. Once deleted, the event and its schema definition will no longer be available fo
