Create coupon series

Lets you create a new coupon series for the org.

This API allows you to create a new coupon series for the org.

Prerequisites

  • Authentication: Basic or OAuth authentication
  • Access group resource: Write access to coupon group resource

Resource information

URI/v2/coupon/series
HTTP methodPOST
PaginationNA
Rate limitNA
Batch supportNo

API endpoint example

https://eucrm.cc.capillarytech.com/v2/coupon/series

📘

Note

  • You can make as many API calls as you need to create coupon series each day. But, it is important to be careful and balanced in how many calls you make at once to avoid overloading the system.
  • If limits are set for coupon series in the system, these limits will acts as an restriction for creating the number of coupon series per day.
  • The series expiration date applies before a coupon’s validity period. To keep coupons valid for their full duration, ensure the series expiration covers the coupon validity.

Body parameter

Parameter Data Type Description

CouponSeriesV2

Object

Object containing the coupon series details.

customPropertyMap

Object

An object containing a collection of keys that represents unique property names and each value represents the corresponding property's value.

customPropertyMap.key1

String

Custom field of the coupon series, providing additional information about the coupon.

customPropertyMap.key2

String

Custom field of the coupon series, providing additional information about the coupon.

standard_terms_and_conditions

String

Custom field in the coupon series that provides information about the terms and conditions.

description*

String

Brief description of the coupon series.

discountCode*

String

The code given for the coupon as the POS identifier.

validTillDate*

String

Validity of the card series in UTC timestamp. Format: YYYY-MM-DDTHH:MM:SS+/-(time-zone).

expiryStrategyValue

Integer

Specifies the duration a coupon remains valid based on the expiryStrategyType.

For expiryStrategyType: "SERIES_EXPIRY", expiryStrategyValue is always 1, which defines the coupon expires based on the rules defined for its series.

For expiryStrategyType: "DAYS", and expiryStrategyValue: "5", specifies that coupon will be valid till 5 days of issuance

For expiryStrategyType: "MONTHS_END", and expiryStrategyValue: "10" specifies that the coupon will be valid for 10 months of issuance.

maxCreate

Integer

Maximum number of coupons that can be created.

maxRedeem

Integer

Maximum number of coupons that can be redeemed.

anyUser*

Boolean

Indicates if any user can use the offer.

redemptionPerCouponMaxLimit

Integer

Specifies the maximum number of times a particular coupon code can be redeemed across all users.
Note:

  • Applicable only when the anyUser parameter is set to true.
  • The value must be greater than 0.
  • To create a coupon series without a redemption limit, set value as nullor -1
  • This parameter applies only to autogenerated coupon codes (DISC_CODE) and uploaded coupon codes (DISC_CODE_PIN).
  • Not applicable for GENERIC coupon codes or externally managed coupon series (EXTERNALLY_MANAGED = true).
    Refer to the Create Offer section to know more about coupon code types.

sameUserMultipleRedeem

Boolean

Indicates if the same user can redeem multiple times.

isReferralExistingUsersAllowed

Boolean

Indicates if the referral is allowed for existing users.

isMultipleUseAllowed

Boolean

Indicates if multiple uses of the offer are allowed.

isValidWithDiscountedItem

Boolean

Indicates if the offer is valid with discounted items.

smsTemplate*

String

Template for the SMS that is sent to users.

isSMSDisabled

Boolean

Indicates if SMS is disabled.

info

String

Additional information about the coupon.

isMultipleVouchersPerUserAllowed

Boolean

Indicates if multiple vouchers per user are allowed.

doNotResendExistingVoucher

Boolean

indicates not to resend existing vouchers.

mutualExclusiveSeriesIds

String

Allows you to specify a list of offer IDs that are mutually exclusive to the current offer. If a customer already has a coupon from any of the offer IDs in this list, they will not be eligible to receive a coupon from the current series

maxVouchersPerUser

Integer

Maximum number of vouchers allowed per user.

minDaysBetweenVouchers

Integer

Minimum days between issuance of vouchers.

discountValue*

Integer

Discount value of the coupon.

redemptionRange

String

Defines the specific days, weekdays, and hours during which the coupon can be redeemed.

minBillAmount

Integer

Minimum bill amount required to use the coupon.

maxBillAmount

Integer

Maximum bill amount allowed for coupon redemption.

maxRedemptionsInSeriesPerUser

Integer

Maximum redemptions in the series per user.

minDaysBetweenRedemption

Integer

Minimum days required between redemptions.

redemptionValidFrom

String

Date from which redemption is valid.

productInfo

Array

Information about the products on which the coupon can be applied.

productInfo.productType

Enum

Type of the product. Supported values: SKU, CATEGORY, BRAND, ATTRIBUTE.

productInfo.productIds

Array

IDs of product.

redemptionOrgEntityDetails

Array

Details about the organization entities where the coupon can be redeemed.

redemptionOrgEntityType

Enum

Type of redemption organization entity. Supported values: CONCEPT, TILL, ZONE, STORE.

orgEntityId

Integer

ID of the organization entity.

targetUserDetails

Object

Details of the criteria that the customer must meet to redeem the coupon.

validMaxUserTransactionLimit

Integer

Number of transactions required by the customer to redeem the coupon.

validUserRegistrationStartTime

Integer

Customer can redeem the coupon only if their registration date is after the specified date.

validUserRegistrationEndTime

Integer

Customer can redeem the coupon only if their registration date is within the specified date.

redemptionValidAfterDays

Integer

Number of days after which the redemption becomes valid.

alphaNumeric

Boolean

Indicates if the code is alphanumeric.

randomCodeLength

Integer

Length of the random code for the coupon.

resendMessageEnabled

Boolean

Indicates if the resend message feature is enabled.

clientHandlingType*

String

Method using which the coupons should be generated. Supported values: DISC_CODE (generate coupon codes automatically), GENERIC (provide a common coupon code), DISC_CODE_PIN (Upload existing coupon codes).

genericCode

String

Generic code of the coupon.
**Note:**Only required if the clientHandlingType is set to GENERIC.

expiryStrategyType*

Enum

Defines the method for coupon expiry.
Supported values: SERIES_EXPIRY(defines the coupon expires based on the rules defined for its series), MONTHS_END(defines the number of months from issuance until the coupon expires.), DAYS(defines the number of days from issuance until the coupon expires).

discountType*

Enum

Specifies the type of discount provided by the coupon. Supported values: ABS(a fixed amount is discounted), PERC(a percentage of the total amount is discounted).

{
    "CouponSeriesV2": {

        "description": "April 100",
        "discountCode": "XYZ12345",
        "validTillDate": "2025-06-12T00:00:00+05:30",
        "anyUser": false,
       "smsTemplate" : "Hi {{first_name}} {{last_name}} your voucher code //////{{voucher}}is valid" ,
       "discountValue": 500,
       "clientHandlingType": "DISC_CODE",
        "expiryStrategyType": "SERIES_EXPIRY",
       "discountType": "ABS"
    }
}
'{
"CouponSeriesV2": {
    "maxCreate": -1,
    "maxRedeem": -1,
    "anyUser": true,
    "redemptionPerCouponMaxLimit": 3,
    "maxRedemptionsInSeriesPerUser": -1,
    "sameUserMultipleRedeem": true,
    "isMultipleUseAllowed": true,
    "isMultipleVouchersPerUserAllowed": true,
    "maxVouchersPerUser": -1,
    "minDaysBetweenVouchers": -1,
    "minDaysBetweenRedemption": -1,
    "redemptionValidFrom": "1970-01-01T05:30:00+05:30",
    "description": "LIKE1w2w2345678910",
    "discountCode": "XYZ1w23",
    "validTillDate": "2030-09-30T00:00:00+05:30",
    "validDaysFromCreation": 30,
    "expiryStrategyValue": 30,
    "isTransferrable": false,
    "isReferralExistingUsersAllowed": false,
    "isValidationRequired": false,
    "isValidWithDiscountedItem": false,
    "createdBy": 70,
    "numIssued": 0,
    "numRedeemed": 0,
    "createdOn": "2022-02-23T11:08:37+05:30",
    "lastUsed": "2022-02-23T11:08:36+05:30",
    "seriesCode": "seriesCode001",
    "smsTemplate": "Hi  {{first_name}}",
    "isSMSDisabled": false,
    "info": "LIKE12345678910",
    "doNotResendExistingVoucher": true,
    "mutualExclusiveSeriesIds": "[]",
    "storeIdsJson": "[-1]",
    "isDvsEnabled": false,
    "dvsExpiryDate": "2022-02-23T00:00:00+05:30",
    "priority": 0,
    "shortSMSTemplate": "Hello {{cust_name}}, your voucher code is {{voucher_code}}",
    "maxReferralsPerReferee": -1,
    "discountUpto": 0,
    "discountValue": 500,
    "dvsItems": "items",
    "redemptionRange": "{\"dom\":[\"-1\"],\"dow\":[\"-1\"],\"hours\":[\"-1\"]}",
    "minBillAmount": 0,
    "maxBillAmount": 9007199254740991,
    "redeemAtStore": "[-1]",
    "campaignId": -1,
    "tag": "LIKE12345678910",
    "sourceOrgId": -1,
    "issueToLoyalty": false,
    "redeemStoreType": "redeemable_stores",
    "offlineRedeemType": false,
    "isOldFlowEnabled": false,
    "isPreRedeemEventRequired": false,
    "termsAndConditions": "T&C apply",
    "signalRedemptionEvent": false,
    "syncToClient": false,
    "showPinCode": false,
    "numUploadedNonIssued": 0,
    "numUploadedTotal": 0,
    "redemptionValidAfterDays": 0,
    "ownedBy": "NONE",
    "ownerId": -1,
    "ownerValidity": 0,
    "alphaNumeric": true,
    "shortCodeLength": 0,
    "randomCodeLength": 8,
    "fixedExpiryDate": 1916937000000,
    "numTotal": -1,
    "latestIssualTime": 0,
    "latestRedemptionTime": 0,
    "resendMessageEnabled": true,
    "seriesType": "UNDEFINED",
    "clientHandlingType": "DISC_CODE",
    "expiryStrategyType": "DAYS",
    "discountOn": "BILL",
    "discountType": "ABS",
    "updateProductData": false,
    "externalIssual": false
}
}'

Response parameter

ParameterDatatypeDescription
customPropertyMapObjectAn object containing a collection of keys that represents unique property names and each value represents the corresponding property's value.
standard_terms_and_conditionsstringCustom field in the coupon series that provides information about the terms and conditions.
idintegerUnique identifier of the coupon series
orgIdintegerOrganization ID associated with the coupon series
descriptionstringDescription of the coupon series
discountCodestringThe code given for the coupon as the POS identifier that was created during the creation of coupon series.
validTillDatestringValidity of the card series in UTC timestamp. Format: YYYY-MM-DDTHH:MM:SS+/-(time-zone).
validTillDateTimestringSpecifies the exact expiry date and time of a coupon in ISO 8601 format (e.g., "2026-06-11T23:59:59Z"), indicating the precise moment until which the coupon can be redeemed.
validDaysFromCreationintegerNumber of days the coupon is valid from creation
expiryStrategyValueintegerSpecifies the duration a coupon remains valid based on the expiryStrategyType. For expiryStrategyType: "SERIES_EXPIRY", expiryStrategyValue is always 1, which defines the coupon expires based on the rules defined for its series. For expiryStrategyType: "DAYS", and expiryStrategyValue: "5", specifies that coupon will be valid till 5 days of issuance For expiryStrategyType: "MONTHS_END", and expiryStrategyValue: "10" specifies that the coupon will be valid for 10 months of issuance.
maxCreateintegerMaximum number of coupons that can be created
maxRedeemintegerMaximum number of coupons that can be redeemed.
isTransferrablebooleanIndicates if the coupon is transferable
anyUserbooleanIndicates if any user can use the offer.
redemptionPerCouponMaxLimitintegerSpecifies the maximum number of times a particular coupon code can be redeemed across all users.
sameUserMultipleRedeembooleanIndicates if the same user can redeem multiple times.
isReferralExistingUsersAllowedbooleanIndicates if the referral is allowed for existing users.
isMultipleUseAllowedbooleanIndicates if multiple uses of the offer are allowed.
isValidationRequiredbooleanIndicates if validation is required for the coupon
isValidWithDiscountedItembooleanIndicates if the offer is valid with discounted items.
createdByintegerID of the user who created the coupon series
numIssuedintegerNumber of coupons issued from this series
numRedeemedintegerNumber of coupons redeemed from this series
createdOnstringDate and time when the coupon series was created.
lastUsedstringDate and time when the coupon was last used
seriesCodestringCode for the coupon series
smsTemplatestringTemplate for the SMS that is sent to users.
isSMSDisabledbooleanIndicates if SMS is disabled.
infostringAdditional information about the coupon
isMultipleVouchersPerUserAllowedbooleanIndicates if multiple vouchers per user are allowed
doNotResendExistingVoucherbooleanIndicates not to resend existing vouchers.
mutualExclusiveSeriesIdsstringAllows you to specify a list of offer IDs that are mutually exclusive to the current offer. If a customer already has a coupon from any of the offer IDs in this list, they will not be eligible to receive a coupon from the current series.
storeIdsJsonstringIDs of stores where the coupon is valid.
isDvsEnabledbooleanIndicates if DVS (Dynamic Voucher System) is enabled
dvsExpiryDatestringExpiry date for DVS.
priorityintegerPriority level of the offer.
shortSMSTemplatestringShort template for the SMS to be sent to users
maxVouchersPerUserintegerMaximum number of vouchers allowed per user
minDaysBetweenVouchersintegerMinimum days between issuance of vouchers.
maxReferralsPerRefereeintegerMaximum number of referrals allowed per referee
discountUptointegerMaximum discount value
discountValueintegerDiscount value of the coupon
dvsItemsstringItems for DVS (Dynamic Voucher System).
redemptionRangestringDefines the specific days, weekdays, and hours during which the coupon can be redeemed.
minBillAmountintegerMinimum bill amount required to use the coupon.
maxBillAmountintegerMaximum bill amount allowed for coupon redemption
redeemAtStorestringStores IDs where redemption is allowed.
campaignIdintegerIdentifier of the campaign associated with the coupon
tagstringTag or label for the coupon
maxRedemptionsInSeriesPerUserintegerMaximum redemptions in the series per user.
minDaysBetweenRedemptionintegerMinimum days required between redemptions.
redemptionValidFromstringDate from which redemption is valid.
sourceOrgIdintegerIdentifier of the source organization
issueToLoyaltybooleanIndicates if the coupon is issued to loyalty members
redeemStoreTypestringType of store where the coupon can be redeemed. Supported values : redeemable_stores.
offlineRedeemTypebooleanIndicates if offline redemption is enabled
isOldFlowEnabledbooleanIndicates if the old redemption flow is enabled
isPreRedeemEventRequiredbooleanIndicates if a pre-redeem event is required
termsAndConditionsstringTerms and conditions for the offer.
signalRedemptionEventbooleanIndicates if a redemption event signal is required
syncToClientbooleanIndicates if the coupon data should be synchronized to the client
showPinCodebooleanIndicates if a PIN code should be displayed
validMaxUserTransactionLimitintegerNumber of transactions required by the customer to redeem the coupon.
validUserRegistrationStartTimeintegerCustomer can redeem the coupon only if their registration date is after the specified date.
validUserRegistrationEndTimeintegerCustomer can redeem the coupon only if their registration date is within the specified date.
numUploadedNonIssuedintegerNumber of non-issued coupons uploaded
numUploadedTotalintegerTotal number of coupons uploaded
redemptionValidAfterDaysintegerNumber of days after which the redemption becomes valid.
ownedBystringOwnership details for the offer.
ownerIdintegerIdentifier of the owner of the coupon
ownerValidityintegerValidity period of the owner's rights to the coupon
alphaNumericbooleanIndicates if the code is alphanumeric.
shortCodeLengthintegerLength of the short code generated for the coupon
randomCodeLengthintegerLength of the random code for the coupon.
fixedExpiryDateintegerFixed expiry date of the coupon (in epoch milliseconds)
numTotalintegerTotal number of coupons issued
latestIssualTimeintegerLatest issuance time of the coupon (in epoch milliseconds)
latestRedemptionTimeintegerLatest redemption time of the coupon (in epoch milliseconds)
resendMessageEnabledbooleanIndicates if the resend message feature is enabled.
seriesTypestringType of coupon series.
clientHandlingTypestringMethod using which the coupons should be generated. Supported values: DISC_CODE (generate coupon codes automatically), GENERIC (provide a common coupon code), DISC_CODE_PIN (Upload existing coupon codes).
expiryStrategyTypestringDefines the method for coupon expiry. Supported values: SERIES_EXPIRY(defines the coupon expires based on the rules defined for its series), MONTHS_END(defines the number of months from issuance until the coupon expires.), DAYS(defines the number of days from issuance until the coupon expires).
discountOnstringType of discount.
discountTypestringSpecifies the type of discount provided by the coupon. Supported values: ABS(a fixed amount is discounted), PERC(a percentage of the total amount is discounted).
updateProductDatabooleanIndicating if the product data can be updated.
externalIssualbooleanIndicating if external issuance is allowed.
warningsarrayList of warnings related to the coupon.

{
    "id": 877510,
    "orgId": 100737,
    "description": "Gold star coupons",
    "discountCode": "gold1234",
    "validTillDate": "2026-06-11T00:00:00Z",
    "validTillDateTime": "2026-06-11T23:59:59Z",
    "validDaysFromCreation": 30,
    "expiryStrategyValue": -1,
    "maxCreate": -1,
    "maxRedeem": -1,
    "isTransferrable": false,
    "anyUser": false,
    "sameUserMultipleRedeem": false,
    "isReferralExistingUsersAllowed": false,
    "isMultipleUseAllowed": false,
    "isValidationRequired": false,
    "isValidWithDiscountedItem": false,
    "createdBy": 75197941,
    "numIssued": 0,
    "numRedeemed": 0,
    "createdOn": "2025-10-09T06:45:15Z",
    "lastUsed": "2025-10-09T06:45:14Z",
    "seriesCode": "2D51C86999B948CA99DC",
    "smsTemplate": "Hi {{first_name}} {{last_name}} your voucher code //////{{voucher}}is valid",
    "isSMSDisabled": false,
    "info": "Gold star coupons",
    "isMultipleVouchersPerUserAllowed": false,
    "doNotResendExistingVoucher": false,
    "mutualExclusiveSeriesIds": "[-1]",
    "storeIdsJson": "[-1]",
    "isDvsEnabled": false,
    "dvsExpiryDate": "2025-10-09T00:00:00Z",
    "priority": 0,
    "shortSMSTemplate": "Hello {{cust_name}}, your voucher code is {{voucher_code}}",
    "maxVouchersPerUser": -1,
    "minDaysBetweenVouchers": -1,
    "maxReferralsPerReferee": -1,
    "discountUpto": 0,
    "discountValue": 1000,
    "dvsItems": "items",
    "redemptionRange": "{\"dom\" : [-1], \"dow\": [-1], \"hours\": [-1]}",
    "minBillAmount": -1,
    "maxBillAmount": -1,
    "redeemAtStore": "[-1]",
    "campaignId": -1,
    "tag": "Gold star coupons",
    "maxRedemptionsInSeriesPerUser": -1,
    "minDaysBetweenRedemption": -1,
    "redemptionValidFrom": "2025-10-09T00:00:00Z",
    "sourceOrgId": -1,
    "issueToLoyalty": false,
    "redeemStoreType": "redeemable_stores",
    "offlineRedeemType": false,
    "isOldFlowEnabled": false,
    "isPreRedeemEventRequired": false,
    "termsAndConditions": "T&C",
    "signalRedemptionEvent": false,
    "syncToClient": false,
    "showPinCode": false,
    "numUploadedNonIssued": 0,
    "numUploadedTotal": 0,
    "redemptionValidAfterDays": 0,
    "ownedBy": "NONE",
    "ownerId": -1,
    "ownerValidity": 0,
    "alphaNumeric": false,
    "shortCodeLength": 0,
    "randomCodeLength": 0,
    "fixedExpiryDate": 1781136000000,
    "numTotal": 0,
    "latestIssualTime": 0,
    "latestRedemptionTime": 0,
    "resendMessageEnabled": true,
    "redemptionPerCouponMaxLimit": -1,
    "seriesType": "UNDEFINED",
    "clientHandlingType": "DISC_CODE",
    "expiryStrategyType": "SERIES_EXPIRY",
    "discountOn": "BILL",
    "discountType": "ABS",
    "updateProductData": false,
    "externalIssual": false,
    "warnings": []
}
{
"id": 698948,
"orgId": 100737,
"description": "LIKE1w2w2345678910",
"discountCode": "XYZ1w23",
"validTillDate": "2030-09-29T00:00:00Z",
"validTillDateTime": "2026-06-11T23:59:59Z",
"validDaysFromCreation": 30,
"expiryStrategyValue": 30,
"maxCreate": -1,
"maxRedeem": -1,
"isTransferrable": false,
"anyUser": true,
"sameUserMultipleRedeem": true,
"isReferralExistingUsersAllowed": false,
"isMultipleUseAllowed": true,
"isValidationRequired": false,
"isValidWithDiscountedItem": false,
"createdBy": 75154383,
"numIssued": 0,
"numRedeemed": 0,
"createdOn": "2025-02-04T08:52:56Z",
"lastUsed": "2025-02-04T08:52:55Z",
"seriesCode": "fEDH0qD8rr",
"smsTemplate": "Hi  {{first_name}}",
"isSMSDisabled": false,
"info": "LIKE12345678910",
"isMultipleVouchersPerUserAllowed": true,
"doNotResendExistingVoucher": true,
"mutualExclusiveSeriesIds": "[]",
"storeIdsJson": "[-1]",
"isDvsEnabled": false,
"dvsExpiryDate": "2025-02-04T00:00:00Z",
"priority": 0,
"shortSMSTemplate": "Hello {{cust_name}}, your voucher code is {{voucher_code}}",
"maxVouchersPerUser": -1,
"minDaysBetweenVouchers": -1,
"maxReferralsPerReferee": -1,
"discountUpto": 0,
"discountValue": 500,
"dvsItems": "items",
"redemptionRange": "{\"dom\":[\"-1\"],\"dow\":[\"-1\"],\"hours\":[\"-1\"]}",
"minBillAmount": 0,
"maxBillAmount": 9007199254740991,
"redeemAtStore": "[-1]",
"campaignId": -1,
"tag": "LIKE12345678910",
"maxRedemptionsInSeriesPerUser": -1,
"minDaysBetweenRedemption": -1,
"redemptionValidFrom": "1970-01-01T00:00:00Z",
"sourceOrgId": -1,
"issueToLoyalty": false,
"redeemStoreType": "redeemable_stores",
"offlineRedeemType": false,
"isOldFlowEnabled": false,
"isPreRedeemEventRequired": false,
"termsAndConditions": "T&C apply",
"signalRedemptionEvent": false,
"syncToClient": false,
"showPinCode": false,
"numUploadedNonIssued": 0,
"numUploadedTotal": 0,
"redemptionValidAfterDays": 0,
"ownedBy": "NONE",
"ownerId": -1,
"ownerValidity": 0,
"alphaNumeric": true,
"shortCodeLength": 0,
"randomCodeLength": 8,
"fixedExpiryDate": 1916870400000,
"numTotal": 0,
"latestIssualTime": 0,
"latestRedemptionTime": 0,
"resendMessageEnabled": true,
"redemptionPerCouponMaxLimit": 3,
"seriesType": "UNDEFINED",
"clientHandlingType": "DISC_CODE",
"expiryStrategyType": "DAYS",
"discountOn": "BILL",
"discountType": "ABS",
"externalIssual": false,
"updateProductData": false,
"warnings": []
}
📘

NOTE:

There is no daily limit on API requests for creating coupon series. However, it's important to manage a balanced approach to maintain the performance. Issuance restrictions can be controlled through the coupon issuance settings.

Language
URL
Click Try It! to start a request and see the response here!