post
https://{host}/api_gateway/rewards/core/v1/promotion/create
This API is used to create catalog promotions and link it to a reward.
Notes
- By default, the reward catalog promotion is not enabled for the organization. Create a ticket to the Capillary Product Support team.
- A reward can be linked to only one active- running or scheduled promotion.
- Promotion can be disabled but cannot be re-enabled.
Notes
- 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 zone.
Example request
curl --location 'https://eu.api.capillarytech.com/api_gateway/rewards/core/v1/promotion/create' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--header 'Authorization: Basic bWFkaHVjU2YQ==' \
--header 'Cookie: _cfuvid=qrR26fiL9O7hSaVDD64eltEicRcuyxTkMuk2MPS2moc-1764581884487-0.0.1.1-604800000' \
--data '
{
"startTime": "2025-12-04T10:08:00.000Z",
"endTime": "2025-12-14T06:10:00.000Z",
"discountType": "PERCENTAGE",
"discountValue": 20,
"brandId": "61",
"languageSpecificInfo": [
{
"languageCode": "en",
"name": "UAT Catalog Promotion ",
"description": "Catalog Promotion for UAT team",
"enabled": true
}
],
"rewardIds": [
496584
]
}
'Prerequisites
- Authentication: Basic or OAuth authentication
- Default access group
Resource information
| URI | /api_gateway/rewards/core/v1/promotion/create |
| HTTP Method | POST |
| Pagination | No |
| Batch support | No |
| Rate limit information | None |
Request body parameters
| Parameter | Data Type | Description |
|---|---|---|
| startTime* | String | Start date and time of the catalog promotion. Ex: 2024-05-04T20:58:49.000Z (Start time is in UTC zone.) |
| endTime* | String | End date and time of the catalog promotion. Ex: 2025-10-25T05:46Z (End time is in UTC zone.) |
| discountType* | Enum | Type of discount being applied. Supported values: ABSOLUTE, PERCENTAGE, FIXED |
| discountValue* | Integer | Value of the discount. Ex: 1 |
| brandId* | String | You can use the API and retrieve the brand ID of your brand. Ex: 1 |
| languageSpecificInfo* | Array | Array containing language-specific information |
| .languageCode* | String | Language code |
| .name* | String | Name in the specified language |
| .description* | String | Description in the specified language |
| .enabled* | Boolean | Indicates if the language entry is enabled |
| rewardIds* | Array of Integers | Reward IDs on which catalog promotion will be applied. Ex: 112295 |
Example response
{
"status": {
"success": true,
"code": 11002,
"message": "Catalog promotion created successfully."
},
"catalogPromotion": {
"id": 14862
},
"failedRewards": []
}Response parameters
| Parameter | Data Type | Description |
|---|---|---|
| status | Object | Status of the operation |
| success | Boolean | Indicates if the operation was successful |
| code | Integer | Code representing the operation's status |
| message | String | Description of the operation's status |
| catalogPromotion | Object | Contains information about the catalog promotion |
| id | Integer | Unique identifier for the catalog promotion |
| failedRewards | Array | An array of failed rewards. |
API-specific error codes
| Error code | Description |
|---|---|
| 11015 | Reward expired or disabled or free. Cannot apply for catalog promotion. |
| 11004 | Reward already linked to active catalog promotion. |
