This API is used to create the reward.
Prerequisites
- Authentication: Basic or OAuth credentials
- Default access group
Resource information
URI | /api_gateway/rewards/core/v1/reward/create |
HTTP Method | POST |
Pagination | No |
Batch support | No |
Rate limit information | None |
API endpoint example
https://eu.api.capillarytech.com/api_gateway/rewards/core/v1/reward/create
Request Body Parameters
Parameter Name | Data Type | Description |
---|---|---|
name | String | Identifier for the reward. Ex: Discount On Handbags. Character Limit of Reward Name is 255 characters. |
description | String | Description of the reward. Ex: 150 off on handbags and wallets. It can be null. Character Limit of description is 65000 characters. |
startTime* | DateTime | The start date and time of the reward. It can be set to the present or up to 10 years in the past but cannot be modified once the reward is live. Example: 2024-11-01T06:00:00Z. The timestamp must be in UTC format: YYYY-MM-DDTHH:MM:SSZ. |
endTime* | DateTime | End Date and time of the reward. It can be set to the present or up to 10 years in the past and remains editable even after the reward is live. Example: 2026-11-01T06:00:00Z. The timestamp must be in UTC format: YYYY-MM-DDTHH:MM:SSZ. |
priority | Integer | Brands can use Metadata for the reward for UI, auditing, or reporting purposes, and it can be left as null. The priority value must be a non-negative number and cannot be negative. |
type* | Enum | Type of the reward. Supported values: POINTS, PHYSICAL_VOUCHER, FREE_VOUCHER. |
group | String | Enables to assign a group to the reward and helps to filter the rewards based on the group name. The maximum number of characters allowed is 255. |
label | String | Enables to assign a label to the reward and helps to filter the rewards based on the label name. The maximum number of characters allowed is 255. |
brandId* | Long | Brand ID. You can use the API and retrieve the brand ID of your brand. |
enabled | Boolean | Status of the reward. |
intouchSeriesId | String | Coupon series ID or cart promotion ID when intouch reward is selected. (Coupon should be active*). NOTE: If the |
tier | String | The tier level, e.g., "SILVER". The maximum character limit is 255 characters. Note : Blank input resets the field to null. |
geography | Array of objects | Geographic applicability, including countryId for restriction. |
paymentConfigs | Array of objects | The list of payment mode supported by the reward. |
paymentMode | Enum | The type of payment mode supported to redeem the reward. Supported values: POINTS, FREE, CASH, POINTS_CASH, CONV_RATIO. Multiple payments are not supported within FREE and CONV_RATIO modes. NOTE: The same payment method cannot be used twice to create a reward. For example, only the first entry will be considered if you use POINTS twice as a payment mode. |
groups | Array of objects | An array containing information about groups and rewards associated with reward. |
groupName | String | A label assigned to a set of rewards to organize them based on common themes or purposes. The maximum character limit is 255 characters. |
groupRank | Integer | The priority level assigned to a reward group to determine its display order in the catalog. |
rewardRank | Integer | The priority level assigned to an individual reward within a group to highlight its importance or relevance. |
categories | Array | Metadata for the reward to categorize different rewards in different categories for end users. It can be null. |
redemptionType* | Enum | Type of intouch reward or vendor reward. Supported values: GAMES, AUCTION, CART_PROMOTION, CASH_WALLET, VOUCHER, CASH_BACK, PHYSICAL_REWARD, CHARITY, MILES, GIFT_CARD, SWEEPSTAKES, INTOUCH_REWARD, CARD_DISC. Notes: 1. If redemptionType is MILES, Payment config is mandatory. 2. CONV_RATIO mode is supported only for CHARITY, MILES, CASH_WALLET, SWEEPSTAKES, AUCTION, GIFT_CARD, PHYSICAL_REWARD type of redemption types. 3. If redemptionType is FREE_VOUCHER and payment mode is set, no points will be deducted. 4. For the INTOUCH_REWARD and CART_PROMOTION redemption type, a numeric intouchSeriesId is mandatory. 5. For the VENDOR_INTOUCH_REWARD redemption type, both a numeric intouchSeriesId and a valid vendorRedemption are mandatory. 6. For INTOUCH_REWARD redemption type, intouchSeriesId is mandatory. |
vendorRedemption | Long | Vendor redemption is the reward configured for a particular vendor. NOTE: If the redemptionType provided does not support vendor flow (i.e., when redemption is handled by an external vendor), the vendorRedemption field must be null. |
communications | Array | Communication IDs related to the reward. |
restrictions | Object | Restrictions on the reward, detailed in customer and reward levels. |
kpi | Enum | The KPI on which the reward is created. Supported values: QUANTITY, REDEMPTION_VALUE, POINTS. QUANTITY - Enables you to define the number of rewards being issued or the redemption value of the reward when issuing the reward. REDEMPTION_VALUE - Enables you to define the value associated with the reward during the issual of the reward. NOTE: Both customer level and reward level restrictions are supported for Quantity and Redemption Value. |
limit | Integer | The maximum number of rewards that can be created. |
repeatFrequencyType | Enum | The frequency of the reward. Supported values: DAYS, WEEKS, MONTHS. |
supplementaryCriteriaRO | Array | Tier/supplementary programs for which the reward is being created. |
loyaltyProgramId | Integer | Unique identifier of the loyalty program. |
tierIds | Integer | Unique identifier of the tier. |
partnerProgramIds | Integer | Unique identifier of the partner program. |
customFields | Object | The list of reward-level custom fields. Custom fields are columns that store custom information such as transaction details, customer details etc. These fields allow users to capture specific details that are not covered by standard fields. Users can define the properties of custom fields and assign default values. Character Limit of customFields is 255 characters. |
languageSpecificInfo* | Array | Enables the display of reward level information specified in this object in the desired language. Note: There is no limit on the number of languages a user can define for custom fields. Prerequisite: If the desired language is not available in the system, raise a ticket to the Capillary support team to have it added. |
languageSpecificInfo.richContentRO | Object | The rich content object for the reward. |
richContentRO.content | String | The HTML-formatted rich text content. |
richContentRO.isEnabled | Boolean | Indicates whether the rich text content is enabled. Supported Values: |
defaultValue | String | Default value if rich text content is not mapped to the reward. Required if |
languageCode | String | The ISO code for the language. For ex: FR-French, JA-Japanese etc. Character limit of languageCode is 255 characters. languageCodes can have space. languageCode has to be Unique. |
name | String | The name of the reward in the specified language. Character limit of name is 255 characters. |
description | String | A description of the reward in the specified language. |
termNConditionsId | String | The identifier for terms and conditions. Uploading the termsNconditons file to the file service/solutions workspace generates this unique identifier. |
imageId | String | The file_handle of the main image. Uploading the image to the file service/solutions workspace generates this unique identifier. This is the image that the brand configures during the reward creation. |
imageUrl | String | The URL of the image in the file service location. |
thumbnailId | String | The identifier for the thumbnail image. |
enabled | Boolean | Indicates if the language should be enabled or not. |
images | Object | A list of image details related to the reward. Notes: A maximum of 10 images can be added to the reward. The brand can update the main image from these 10 images. You can use the ID or image URL to add the image. There is no limit in dimension or size for images. Image in any format is supported. |
name | String | The name of the image. The name should be unique. Warning: If a name is added twice for the same image, only the first one will be considered. |
id | String | The file_handle of the image. Uploading the image to the file service/solutions workspace generates this unique identifier. |
isExternal | Boolean | Indicates if the image is hosted on an external server. By default, the value is false. |
url | String | External URL of the image. |
altText | String | Alternative text or description of the image. You can use alt text to convey the meaning and context of visual content to users who cannot view images, such as individuals using screen readers due to visual impairments, or in situations where images fail to load. |
videos | Object | A list of video details related to the reward. Notes: A maximum of 10 videos can be added to the reward. The brand can update the main videos from these 10 videos. You can use the ID or video URL to add the videos. There is no limit in dimension or size for videos. Videos in any format are supported. |
name | String | The name of the video. The name should be unique. Warning: If a name is passed twice, only the first one will be considered. |
id | String | The file_handle of the video. Uploading the video to the file service/solutions workspace generates this unique identifier. |
url | String | URL of the video. |
isExternal | Boolean | Indicates if the video is hosted on an external server. |
altText | String | Alternative text or description of the video. |
customFields | Object | The list of custom fields. Custom fields are columns that store custom information such as transaction details, customer details etc. These fields allow users to capture specific details that are not covered by standard fields. Users can define the properties of custom fields and assign default values. Character Limit of customFields is 255 characters. If language-specific custom fields are unavailable, English values are used. If language-level custom fields are not defined, reward-level custom fields are used else, meta-level default values are used. |
customFieldName | String | Name of the custom field. |
customFieldValue | String | Value of the custom field. |
owners | Object | List containing detailed owner information |
ownerType | Enum | The module for which the reward was created. Supported values: |
ownerId | String | Unique identifier of the owner to claim the reward. Multiple owner IDs are supported for a single reward with the same owner type. |
rewardRevenueMeta | Object | An object with commission details for different participants over specific periods. |
commissionParticipant | Enum | The entity receiving the commission. Supported values: BRAND, CAPILLARY, AFFILIATE, END_CUSTOMER. |
commissionRate | Float | The amount of commission to be received. |
cycleStartDate | Date | Start date of the commission cycle. Note: cycleStartDate should be greater than rewardStartDate. cycleStartDate must be in the future |
cycleEndDate | Date | End date of the commission cycle. Note: cycleEndDate should smaller than rewardEndDate. cycleEndDate must be in the future |
rewardRevenueDefaults | Object | An object with the default commission. In case multiple blocks with the same commissionParticipant are passed, only the first is considered. |
commissionParticipant | Enum | The entity receiving the commission. Supported values: BRAND, CAPILLARY, AFFILIATE, END_CUSTOMER |
defaultValue | Float | Default commission rate associated with the participant. Note: If no defaultValue is passed, then 0 is considered as the defaultValue. |
segment | Object | Customer Segmentation involves logically grouping audiences based on shared characteristics. You can create segments using the Insights+ UI. You can use these segments to create rewards targeting specific customer groups. Note: The segments and partition information should be valid and the segments must be active while creating the reward. |
segmentId | Integer | Enter the segment ID. The Segment ID is a unique identifier used to create or update segment information. |
partitionId | Integer | Enter the partition ID. The Partition ID is a unique identifier used to create or update partition information. |
cardSeries | Array of Objects | List of card series codes associated with the reward. Brands can use cards and labels to offer personalized rewards. There is no limit on the number of card series code. You can use Get Card Details API to get the series code of the card. Example: |
labels | Array of Objects | List of label IDs associated with the reward. You can get the Label ID from Get Customer Labels API. There is no limit on the number of label IDs. Note:
|
isActive | Boolean | Indicates if the reward is active or Inactive. Supported values: |
Request body
{
"name": "testreward1poi",
"description": "testreward1",
"startTime": "2025-09-26T20:00:00Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"categories": [
4
],
"rewardRank":"1",
"intouchSeriesId": "301233",
"redemptionType": "INTOUCH_REWARD",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 10,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"supplementaryCriteriaRO": [
{
"loyaltyProgramId": 469,
"tierIds": null,
"partnerProgramIds": [
48
]
},
{
"loyaltyProgramId": 690,
"tierIds": null,
"partnerProgramIds": null
}
],
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
``<code>json
</code>``json
With image support
{
"name":"ABCD",
"description":"Reward",
"startTime": "2025-02-06T07:43:30.00Z",
"endTime": "2026-11-29T05:39:49.00Z",
"type": "POINTS",
"brandId": 3,
"priority": 1,
"enabled": true,
"intouchPoints": 1,
"intouchSeriesId": "6538e3ac60ce5c504144bb07",
"tier": "SILVER",
"geography": [
{
"countryId": 7
}
],
"languageSpecificInfo": [
{
"languageCode": "en",
"name": " INTOUCH Enabled",
"description": "Description",
"termNConditionsId": "EXDR12987R",
"imageId": "EXDR12987U",
"thumbnailId": "EXDR12987T",
"enabled": true,
"images": [
{
"name": "imagename1",
"id": "9b648b66-5700-4c6d-84ea-01ddf73927c6",
},
{
"name": "imagename2",
"id": "9b648b66-5700-4c6d-84ea-01ddf73927c6"
},
{
"name": "imagename2",
"id": "9b648b66-5700-4c6d-84ea-01ddf73927c6"
}
],
"videos": [
{
"name": "videoname1",
"id": "9b648b66-5700-4c6d-84ea-01ddf73927c6",
"isExternal": false
},
{
"name": "videoname1",
"url": "https://www.youtube.com/watch?v=a_aSgmOqgrA",
"isExternal": true
}
]
}
],
"categories": [
5
],
"redemptionType": "CART_PROMOTION",
"communications": [
4
],
"owners": [
{
"ownerType": "LOYALTY_PROGRAM",
"ownerId": "123"
}
]
}
```json
```json
{
"startTime": "2025-03-07T08:53:49.00Z",
"endTime": "2026-03-14T05:39:49.00Z",
"type": "POINTS",
"brandId": "8",
"priority": 1,
"enabled": true,
"intouchPoints": 3,
"intouchSeriesId": "73684275",
"tier": "GOLD",
"geography":
[
{
"countryId": "14"
}
],
"languageSpecificInfo":
[
{
"name": " INTOUCH Enabledsdqwerty",
"description": "Description",
"termNConditions": "ABC",
"thumbnailId": "EXDR12987T",
"imageId": "EXDR12987U",
"enabled": true,
"termNConditionsId": "EXDR12987R",
"languageCode": "en",
"customFields":{
"mandatory - CF1": "englishvalue1"
}
},
{
"name": " INTOUCH Enabledsdoiu",
"description": "Description",
"termNConditions": "ABCD",
"thumbnailId": "EXDR12987T",
"imageId": "EXDR12987U",
"enabled": true,
"termNConditionsId": "EXDR12987R",
"languageCode": "fr",
"customFields":{
"mandatory - CF1": "frenchvalue1",
"mandatory - CF2":"frenchvalue2"
}
}
],
"customFields":{
"mandatory - CF1": "rewardvalue1",
"mandatory - CF2": "rewardvalue2"
},
"categories":
[
"11"
],
"rewardRank":"1",
"redemptionType": "INTOUCH_REWARD",
"communications":
[
"11"
],
"vendorRedemption": null,
"group": null,
"label": null
}
``<code>
</code>``json
With revenue metadata
{
"startTime": "2025-03-07T17:04:30.00Z",
"endTime": "2026-10-31T05:39:49.00Z",
"rewardRevenueMeta" : [
{
"commissionParticipant": "BRAND",
"commissionRate": "1.0",
"cycleStartDate": "2025-03-07T17:04:30.000Z",
"cycleEndDate": "2026-02-06T07:43:30.000Z"
},
{
"commissionParticipant": "AFFILIATE",
"commissionRate": "1.2",
"cycleStartDate": "2025-03-07T17:04:30.000Z",
"cycleEndDate": "2026-02-06T07:43:30.000Z"
}
],
"rewardRevenueDefaults": [
{
"commissionParticipant": "AFFILIATE",
"defaultValue": "1.1"
},
{
"commissionParticipant": "END_CUSTOMER",
"defaultValue": "1.3"
},
{
"commissionParticipant": "END_CUSTOMER",
"defaultValue": "1.3"
}
],
"type": "VOUCHER",
"brandId": 3,
"priority": 1,
"enabled": true,
"intouchPoints": 1,
"intouchSeriesId": "1135336",
"tier": "SILVER",
"geography": [
{
"countryId": 7
}
],
"languageSpecificInfo": [
{
"languageCode": "en",
"name": " INTOUCH Enabled",
"description": "Description",
"termNConditionsId": "EXDR12987R",
"imageId": "EXDR12987U",
"thumbnailId": "EXDR12987T",
"enabled": true
}
],
"categories": [
5
],
"redemptionType": "INTOUCH_REWARD",
"communications": [
4
],
"owners":[{
"ownerType":"LOYALTY_PROGRAM",
"ownerId":"123"
}
]
}
```json
```json
{
"name": "testreward1poitu",
"description": "testreward11",
"startTime": "2025-09-26T20:00:00Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"paymentConfigs": [
{
"paymentMode": "POINTS",
"points":100
}
],
"categories": [
4
],
"rewardRank":"1",
"intouchSeriesId": "301233",
"redemptionType": "INTOUCH_REWARD",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 10,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"supplementaryCriteriaRO": [
{
"loyaltyProgramId": 469,
"tierIds": null,
"partnerProgramIds": [
48
]
},
{
"loyaltyProgramId": 690,
"tierIds": null,
"partnerProgramIds": null
}
],
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
``<code>json
</code>``json
With segment information
{
"startTime": "2027-10-03T07:47:33Z",
"endTime": "2030-07-10T09:48:34Z",
"type": "FREE_VOUCHER",
"brandId": 3,
"priority": 1,
"enabled": true,
"intouchPoints": 0,
"intouchSeriesId": "1137472",
"tier": "SILVER",
"geography": [
{
"countryId": 7
}
],
"languageSpecificInfo": [
{
"languageCode": "en",
"name": " English",
"description": "Description",
"termNConditionsId": "EXDR12987R",
"imageId": "EXDR12987U",
"thumbnailId": "EXDR12987T",
"enabled": true
}
],
"categories": [
5
],
"redemptionType": "INTOUCH_REWARD",
"communications": [
4
]
,
"segment":[
{
"segmentId":"6134",
"partitionId": ["2669"]
},
{
"segmentId":"6136",
"partitionId": ["2675"]
}
]
}
```json
```json
{
"name": "testname",
"description": "testname1",
"startTime": "2024-07-17T11:00:00.000Z",
"endTime": "2025-07-11T14:43:00.000Z",
"priority": 1,
"groups" : [
{
"groupName":"groupName012",
"groupRank": 8
},
{
"groupName":"groupName013" "groupRank": 6
}
],
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"paymentConfigs": [
{
"paymentMode": "POINTS",
"points":100
}
],
"categories": [
4
],
"rewardRank":"1",
"intouchSeriesId": "350219",
"redemptionType": "INTOUCH_REWARD",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 10,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
``<code>json
</code>``json
With multiple payment mode info
{
"name": "testreward1poitu",
"description": "testreward11",
"startTime": "2025-09-26T20:00:00Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"paymentConfigs": [
{
"paymentMode": "POINTS",
"points": 150
},
{
"paymentMode": "CASH",
"cash": 500
},
{
"paymentMode": "POINTS_CASH",
"points": 200,
"cash": 500
},
],
"categories": [
4
],
"rewardRank":"1",
"intouchSeriesId": "301233",
"redemptionType": "INTOUCH_REWARD",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 10,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"supplementaryCriteriaRO": [
{
"loyaltyProgramId": 469,
"tierIds": null,
"partnerProgramIds": [
48
]
},
{
"loyaltyProgramId": 690,
"tierIds": null,
"partnerProgramIds": null
}
],
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
```json
```json
{
"name": "testreward1poitu",
"description": "testreward11",
"startTime": "2025-09-26T20:00:00Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"paymentConfigs": [
{
"paymentMode": "POINTS",
"points": 150
}
],
"categories": [
4
],
"rewardRank":"1",
"intouchSeriesId": "301233",
"redemptionType": "INTOUCH_REWARD",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 10,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"supplementaryCriteriaRO": [
{
"loyaltyProgramId": 469,
"tierIds": null,
"partnerProgramIds": [
48
]
},
{
"loyaltyProgramId": 690,
"tierIds": null,
"partnerProgramIds": null
}
],
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
``<code>json
</code>``json
With Payment mode as "CASH"
{
"name": "testreward1poitu",
"description": "testreward11",
"startTime": "2025-09-26T20:00:00Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"paymentConfigs": [
{
"paymentMode": "CASH",
"cash": 300
}
],
"categories": [
4
],
"rewardRank":"1",
"intouchSeriesId": "301233",
"redemptionType": "INTOUCH_REWARD",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 10,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"supplementaryCriteriaRO": [
{
"loyaltyProgramId": 469,
"tierIds": null,
"partnerProgramIds": [
48
]
},
{
"loyaltyProgramId": 690,
"tierIds": null,
"partnerProgramIds": null
}
],
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
```json
```json
{
"name": "testreward1poitu",
"description": "testreward11",
"startTime": "2025-09-26T20:00:00Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"paymentConfigs": [
{
"paymentMode": "POINTS_CASH",
"points": 300,
"cash": 200
}
],
"categories": [
4
],
"rewardRank":"1",
"intouchSeriesId": "301233",
"redemptionType": "INTOUCH_REWARD",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 10,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"supplementaryCriteriaRO": [
{
"loyaltyProgramId": 469,
"tierIds": null,
"partnerProgramIds": [
48
]
},
{
"loyaltyProgramId": 690,
"tierIds": null,
"partnerProgramIds": null
}
],
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
``<code>json
</code>``json
With Payment mode as "CONV_RATIO"
{
"name": "testreward1poitu",
"description": "testreward11",
"startTime": "2025-09-26T20:00:00Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"paymentConfigs": [
{
"paymentMode": "CONV_RATIO",
"conversionRatio": 0.33
}
],
"categories": [
4
],
"rewardRank":"1",
"intouchSeriesId": "301233",
"redemptionType": "MILES",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 10,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"supplementaryCriteriaRO": [
{
"loyaltyProgramId": 469,
"tierIds": null,
"partnerProgramIds": [
48
]
},
{
"loyaltyProgramId": 690,
"tierIds": null,
"partnerProgramIds": null
}
],
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
```json
```json
{
"name": "testreward1poitu",
"description": "testreward11",
"startTime": "2025-09-26T20:00:00Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"paymentConfigs": [
{
"paymentMode": "FREE"
}
],
"categories": [
4
],
"rewardRank":"1",
"intouchSeriesId": "301233",
"redemptionType": "MILES",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 10,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"supplementaryCriteriaRO": [
{
"loyaltyProgramId": 469,
"tierIds": null,
"partnerProgramIds": [
48
]
},
{
"loyaltyProgramId": 690,
"tierIds": null,
"partnerProgramIds": null
}
],
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
``<code>json
</code>``json
With REDEMPTION_VALUE
{
"name": "rewardname",
"description": "testreward",
"startTime": "2024-08-26T06:29:00.000Z",
"endTime": "2025-07-11T14:43:00.000Z",
"priority": 1,
"type": "VOUCHER",
"brandId": "1",
"enabled": true,
"intouchPoints": 500,
"geography": [
{
"countryId": 1
}
],
"paymentConfigs": [
{
"paymentMode": "CONV_RATIO",
"conversionRatio": 0.33
}
],
"categories": [
4
],
"rewardRank":"1",
"redemptionType": "MILES",
"vendorRedemption": null,
"communications": [
"1"
],
"restrictions": {
"customerLevel": [
{
"kpi": "REDEMPTION_VALUE",
"limit": 1000,
"repeatFrequencyType": "MONTHS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 50,
"repeatFrequencyType": "DAYS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "REDEMPTION_VALUE",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"customFields": {
"CF1": "Custom field 1"
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testreward1",
"description": "testreward1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
```json
```json
{
"name": "RewardName",
"description": "TestReward",
"startTime": "2025-11-28T13:56:00.000Z",
"endTime": "2026-11-28T14:10:00.000Z",
"type": "FREE_VOUCHER",
"brandId": 1,
"priority": 1,
"enabled": true,
"intouchPoints": 0,
"tier": "PLATINUM",
"languageSpecificInfo": [
{
"languageCode": "en",
"name": " INTOUCH Enabled",
"description": "Description",
"termNConditionsId": "EXDR12987R",
"imageId": "EXDR12987U",
"thumbnailId": "EXDR12987T",
"enabled": true
}
],
"redemptionType": "PHYSICAL_REWARD",
"labels":[12751,5462]
}
``<code>json
</code>``json
With Cards
{
"name": "RewardName",
"description": "TestReward",
"startTime": "2025-11-28T13:56:00.000Z",
"endTime": "2026-11-28T14:10:00.000Z",
"type": "FREE_VOUCHER",
"brandId": 1,
"priority": 1,
"enabled": true,
"intouchPoints": 0,
"tier": "PLATINUM",
"languageSpecificInfo": [
{
"languageCode": "en",
"name": " INTOUCH Enabled",
"description": "Description",
"termNConditionsId": "EXDR12987R",
"imageId": "EXDR12987U",
"thumbnailId": "EXDR12987T",
"enabled": true
}
],
"redemptionType": "PHYSICAL_REWARD",
"cardSeries":["26NOV2024TRYLEN17","26NOV2024TRYLEN18"]
}
```json
```json
{
"name": "NejRewards",
"description": "TestReward",
"startTime": "2025-01-16T10:10:00.000Z",
"endTime": "2026-11-28T14:10:00.000Z",
"type": "FREE_VOUCHER",
"brandId": 61,
"priority": 1,
"group":"testgoupfilter",
"label":"testlabel",
"enabled": true,
"tier": "PLATINUM",
"languageSpecificInfo": [
{
"languageCode": "en",
"name": " INTOUCH Enabled",
"description": "Description",
"termNConditionsId": "EXDR12987R",
"imageId": "EXDR12987U",
"thumbnailId": "EXDR12987T",
"enabled": true
}
],
"redemptionType": "PHYSICAL_REWARD"
}
``<code>bash
</code>``json
With KPI as Quantity
{
"name": "testcreate1",
"description": "testcreate1",
"startTime": "2025-01-27T08:07:05Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"redemptionType": "MILES",
"brandId": "1",
"enabled": true,
"paymentConfigs": [
{
"paymentMode": "CONV_RATIO",
"conversionRatio":0.33
}
],
"restrictions": {
"customerLevel": [
{
"kpi": "QUANTITY",
"limit": 1000,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "QUANTITY",
"limit": 1000,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "QUANTITY",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testcreate1",
"description": "testcreate1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
```bash
```json
{
"name": "testcreate2",
"description": "testcreate2",
"startTime": "2025-01-27T08:22:20Z",
"endTime": "2026-10-31T11:59:30Z",
"priority": 1,
"type": "VOUCHER",
"redemptionType": "MILES",
"brandId": "1",
"enabled": true,
"paymentConfigs": [
{
"paymentMode": "CONV_RATIO",
"conversionRatio":0.33
}
],
"restrictions": {
"customerLevel": [
{
"kpi": "REDEMPTION_VALUE",
"limit": 1000,
"repeatFrequencyType": "DAYS",
"interval": "30"
},
{
"kpi": "REDEMPTION_VALUE",
"limit": 1000,
"repeatFrequencyType": "MONTHS",
"interval": "12"
}
],
"rewardLevel": [
{
"kpi": "REDEMPTION_VALUE",
"limit": 10000,
"repeatFrequencyType": "NO_LIMIT"
}
]
},
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "testcreate1",
"description": "testcreate1",
"imageId": "bef4d522-2cf8-4fea-8087-376c449d5c85",
"termNConditions": "t&c",
"thumbnailId": "c886f064-2b3f-4c19-9e86-7f7e5ab5ae04",
"termNConditionsId": "820a3d7f-2601-405b-9f56-4a3ba8e9df73",
"enabled": true
}
],
"isactive" : true
}
Response parameters
Parameter Name | Data Type | Description |
---|---|---|
status | Object | Contains details about the status of the request |
success | Boolean | Indicates whether the request was successful. |
code | Integer | Status code associated with the response. |
message | String | The descriptive message of the response, |
reward | Object | Contains details about the reward created |
id | Integer | Unique identifier for the created reward |
{
"status": {
"success": true,
"code": 6002,
"message": "Reward created successfully"
},
"reward": {
"id": 124158
}
}
``<code>json
</code>``json
{
"status": {
"success": false,
"code": 6003,
"message": "Unable to create reward as Org doesn't have the custom field/s: CF0"
},
"reward": null
}
```json
```json
{
"status": {
"success": false,
"code": 400,
"message": "Conversion ratio can be set only for MILES, CASH_WALLET and CHARITY content types."
}
}
``<code>json
</code>``json
400-CONV RATIO with other payment mode
{
"status": {
"success": false,
"code": 400,
"message": "Multiple payments is not supported within FREE and CONV_RATIO modes"
}
}
```json
```json
{
"status": {
"success": false,
"code": 6003,
"message": "Unable to create reward as Invalid Segment Id: 6136"
},
"reward": null
}
``<code>json
</code>``json
400-Vendor Reward is required
{
"status": {
"success": false,
"code": 400,
"message": "Vendor redemption is required in case of Vendor rewards"
}
}
```json
```json
{
"status": {
"success": false,
"code": 400,
"message": "Reward Term & Conditions can't be null or empty."
}
}
``<code>json
</code>``json
400- Label ID is incorrect
{
"status": {
"success": false,
"code": 6003,
"message": "Unable to create reward as Label not found for label_id: 12749822"
},
"reward": null
}
```json
```json
{
"status": {
"success": false,
"code": 6003,
"message": "Unable to create reward as Card series not found for series_code: 26NOV2024TR573"
},
"reward": null
}
API-specific error codes
Error code | Description |
---|---|
6003 | Reward creation failed due to the absence of a required custom field in the Org settings - Invalid segment ID |
6003 | Invalid segment ID |
6003 | Invalid label ID |
6003 | Card series not found. |
400 | Conversion ratio can be set only for MILES, CASH_WALLET and CHARITY content types. |
400 | Multiple payments is not supported within FREE and CONV_RATIO modes |
400 | Vendor redemption is required in case of Vendor rewards |
400 | Reward Term & Conditions can't be null or empty. |
Note
-
Reward Linking – A reward can be linked to one entity type at a time: card, label, segment, tier, or loyalty program. You can link the same reward to multiple entries within the same type (e.g., multiple labels or card series).
Example: Link to both "Gold Card Series" and "Platinum Card Series", but not to a card and a label together. -
For new brands, use the paymentConfig block instead of Intouch Points.
-
To add Rich Text Content, ensure metadata is created first – see this guide and API reference.
-
Without metadata, rich content can’t be saved or retrieved. Always validate it before use.
-
The
type
field now acceptsPOINTS
,PHYSICAL_VOUCHER
, andFREE_VOUCHER
.
VendorOnlyReward
andVendorIntouchReward
are deprecated—update your integrations accordingly.