post https://{host}/api_gateway/rewards/core/v1/reward/create
This API is used to create the reward.
Note
- For detailed information about our APIs and for hands-on testing, refer documentation in API overview and step-by-step guide on making your first API call in Make your first API call .
- Start time and end time are in UTC time zone.
Prerequisites
- Authentication: Basic 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://eucrm.cc.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 |
description | String | Description of the reward. Ex: 150 off on handbags and wallets |
startTime* | DateTime | Start time of the reward. Ex: 2024-09-26T20:00:00. Timestamp in the ISO 8601 standard format format YYYY-MM-DDTHH:MM:SS.SSSZ. |
endTime* | DateTime | End time of the reward. Ex: 2026-09-26T20:00:00. Timestamp in the ISO 8601 standard format format YYYY-MM-DDTHH:MM:SS.SSSZ. |
priority | Integer | Brands can use Metadata for the reward for UI, auditing, or reporting purposes. |
type* | Enum | Type of the reward. Supported values: POINTS, VOUCHER, PHYSICAL_VOUCHER, FREE_VOUCHER. |
brandId* | String | Unique brand identifier. Ex: 1 |
enabled | Boolean | Status of the reward. |
intouchPoints | Integer | The number of points customers need to burn to purchase the reward. Ex: 500 |
intouchSeriesId | String | Coupon series ID or cart promotion ID when intouch reward is selected. |
tier | String | The tier level, e.g., "SILVER". |
geography | Object | Geographic applicability, including countryId for restriction. |
paymentConfigs | Object | 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. For more information, refer to Supported payment modes. |
groupName | String | Name of the group. |
groupRank | Integer | The rank of the group. |
rewardRank | Integer | Rank of the reward. |
categories* | Integers | Metadata for the reward to categorize different rewards in different categories for end users. |
redemptionType* | Enum | Type of intouch reward or vendor reward. Supported values: INTOUCH_REWARD, VENDOR_INTOUCH_REWARD, VENDOR_ONLY_REWARD, CART_PROMOTION, MILES, VOUCHER, POINTS, CHARITY, CASH_BACK,CASH_WALLET,CARD_DISC, GAMES. Notes: 1. If redemptionType is MILES, Payment config is mandatory. 2. CONV_RATIO mode is supported only for CHARITY, MILES and CASH_WALLET type of redemption types. 3. If redemptionType is FREE_VOUCHER and payment mode is set, no points will be deducted. |
vendorRedemption | Object | Vendor redemption is the reward configured for a particular vendor. |
communications | String | 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: Transaction Count, Quantity. |
limit | Integer | The maximum number of rewards to be created. |
repeatFrequencyType | Enum | The frequency of the reward. Supported values: DAYS, WEEKS, MONTHS. |
supplementaryCriteriaRO | Object | 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. |
languageSpecificInfo | Object | 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. |
languageCode | String | The ISO code for the language. For ex: FR-French, JA- Japanese etc. |
name | String | The name of the reward in the specified language. |
description | String | A description of the reward in the specified language. |
termNConditions | String | You can either pass the terms and conditions in text format or can enter the link to the file location where the terms and condition is present. |
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. The main image is the image that the brand configures during the reward creation. |
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. |
name | String | The name of the image. 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 image. Uploading the image to the file service/solutions workspace generates this unique identifier. |
url | String | The URL of the image. |
isExternal | Boolean | Indicates if the image is hosted an external server. |
videos | Object | A list of video 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. |
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 | The URL of the video. |
isExternal | Boolean | Indicates if the video is hosted an external server. |
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. - 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: LOYALTY_PROGRAM, MILESTONES, CAMPAIGNS, JOURNEYS, GOODWILL. |
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. For more information, refer to revenue metadata. |
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. |
{
"name": "testreward1poi",
"description": "testreward1",
"startTime": "2025-09-26T20:00:00",
"endTime": "2026-10-31T11:59:30",
"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
}
{
"name":"ABCD",
"description":"Reward",
"startTime": "2025-02-06T07:43:30.000Z",
"endTime": "2026-11-29T05:39:49.000Z",
"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",
"url": "www.qwrety.com"
},
{
"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"
}
]
}
{
"startTime": "2025-03-07T08:53:49.000Z",
"endTime": "2026-03-14T05:39:49.000Z",
"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
}
{
"startTime": "2025-03-07T17:04:30.000Z",
"endTime": "2026-10-31T05:39:49.000Z",
"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"
}
]
}
{
"name": "testreward1poitu",
"description": "testreward11",
"startTime": "2025-09-26T20:00:00",
"endTime": "2026-10-31T11:59:30",
"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
}
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, 90819 |
{
"status": {
"success": true,
"code": 6002,
"message": "Reward created successfully"
},
"reward": {
"id": 124158
}
}
Supported payment modes
"paymentConfigs": [
{
"paymentMode": "POINTS_CASH",
"cash":100,
"points":150
}
]
API-specific error codes
Error code | Description |
---|---|
6003 | Reward creation failed due to the absence of a required custom field in the Org settings. |