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.

Example request

curl --location 'https://eu.api.capillarytech.com/v2/coupon/series' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic Z2VvcmdlLmRvY2RlbW86NjVjk1MWY5MGY1NTY5NDk1YmNkNzUxYmJiY2U=' \
--header 'Cookie: _cfuvid=mJsi4aQ3oxBBQxQdv_PNm_wDqIZBYmAonrNmnns-1765961752938-0.0.1.1-604800000' \
--data '{
  "CouponSeriesV2": {
    "orgId": 100737,
    "description": "Test 1: P and S Enabled",
    "discountCode": "gold1234",
    "validTillDate": "2026-06-12T00:00:00+05:30",
    "anyUser": false,
    "smsTemplate": "Hi {{first_name}} {{last_name}} your voucher code //////{{voucher}}is valid",
    "discountValue": 1000,
    "clientHandlingType": "DISC_CODE",
    "expiryStrategyType": "SERIES_EXPIRY",
    "discountType": "ABS",
    
  "couponPrefix": "P-SUC",
    "isPrefixEnabled": true,
    "orgPrefixOverride": false,
    "randomCodeLength" : 5,
    
   "couponSuffix": "S-SUC",
    "isSuffixEnabled": true,
    "orgSuffixOverride": false
  }
}'
'{
"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
}
}'

Prerequisites

  • Authentication details
  • Authorisation/access group details

Body parameters

Parameter

Data Type

Required

Description

CouponSeriesV2

Object

Optional

Object containing the coupon series details.

customPropertyMap

Object

Optional

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

customPropertyMap.key1

String

Optional

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

customPropertyMap.key2

String

Optional

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

standard_terms_and_conditions

String

Optional

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

description

String

Yes

Brief description of the coupon series.

discountCode

String

Yes

The code given for the coupon is the POS identifier.

validTillDate

String

Yes

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

expiryStrategyValue

Integer

Optional

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 the 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

Optional

Specifies the maximum number of coupons that can be created.

maxRedeem

Integer

Optional

Specifies the maximum number of coupons that can be redeemed.

anyUser

Boolean

Yes

Indicates if any user can use the offer.

redemptionPerCouponMaxLimit

Integer

Conditional

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 null or -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

Optional

Indicates if the same user can redeem multiple times.

isReferralExistingUsersAllowed

Boolean

Optional

Indicates if the referral is allowed for existing users.

isMultipleUseAllowed

Boolean

Optional

Indicates if multiple uses of the offer are allowed.

isValidWithDiscountedItem

Boolean

Optional

Indicates if the offer is valid with discounted items.

smsTemplate

String

Yes

Template for the SMS that is sent to users.

isSMSDisabled

Boolean

Optional

Indicates if SMS is disabled.

info

String

Optional

Additional information about the coupon.

isMultipleVouchersPerUserAllowed

Boolean

Optional

Indicates if multiple vouchers per user are allowed.

doNotResendExistingVoucher

Boolean

Optional

Indicates not to resend existing vouchers.

mutualExclusiveSeriesIds

String

Optional

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

Optional

Maximum number of vouchers allowed per user.

minDaysBetweenVouchers

Integer

Optional

Minimum days between issuance of vouchers.

discountValue

Integer

Yes

Discount value of the coupon.

redemptionRange

String

Optional

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

minBillAmount

Integer

Optional

Minimum bill amount required to use the coupon.

maxBillAmount

Integer

Optional

Maximum bill amount allowed for coupon redemption.

maxRedemptionsInSeriesPerUser

Integer

Optional

Maximum redemptions in the series per user.

minDaysBetweenRedemption

Integer

Optional

Minimum days required between redemptions.

redemptionValidFrom

String

Optional

Date from which redemption is valid.

productInfo

Array

Optional

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

productInfo.productType

Enum

Optional

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

productInfo.productIds

Array

Optional

IDs of product.

redemptionOrgEntityDetails

Array

Optional

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

redemptionOrgEntityType

Enum

Optional

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

orgEntityId

Integer

Optional

ID of the organization entity.

targetUserDetails

Object

Optional

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

validMaxUserTransactionLimit

Integer

Optional

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

validUserRegistrationStartTime

Integer

Optional

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

validUserRegistrationEndTime

Integer

Optional

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

redemptionValidAfterDays

Integer

Optional

Number of days after which the redemption becomes valid.

alphaNumeric

Boolean

Optional

Indicates if the code is alphanumeric.

randomCodeLength

Integer

Optional

Length of the random code for the coupon.

resendMessageEnabled

Boolean

Optional

Indicates if the resend message feature is enabled.

clientHandlingType

String

Yes

The 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

Conditional

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

expiryStrategyType

Enum

Yes

Defines the method for coupon expiry. Supported values: SERIES_EXPIRY: Defines the coupon's expiration 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

Yes

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.

couponPrefix

String

Conditional

Specifies the custom value to be added before the coupon code. e.g., SUMMER-XYZ123.
This prefix value is added to the coupon code only if:

  • isPrefixEnabled is set to true. • orgPrefixOverride is set to false.
  • clientHandlingType is set to DISC_CODE.

The value is case-sensitive and preserved as provided. Multiple coupon series can have the same coupon prefixes.

Constraints:

  • Maximum length: 10 characters.
  • Supports alphanumeric values, hyphens (-), and underscores (*) without spaces. Other special characters are not supported.

couponSuffix

String

Conditional

Specifies the custom value to be added after the coupon code. e.g., XYZ123-SUMMER.

This suffix value is added to the coupon code only if:

  • isSuffixEnabled parameter is set to true.

  • orgSuffixOverride parameter is set to false.

  • clientHandlingType parameter is set to DISC_CODE.

    The value is case-sensitive and preserved as provided. Multiple coupon series can have the same coupon prefixes.

    Constraints: • Maximum length: 10 characters. • Supports alphanumeric values, hyphens (-), and underscores (*) without spaces.Other special characters are not supported.

isPrefixEnabled

Boolean

Optional

Indicates if the custom prefix is enabled for the coupon code. Supported values:

  • true: Custom prefix is enabled.
  • false: Custom prefix is disabled.

Note: If set to false, no prefix value will be added to the coupon code, even if orgPrefixOverride parameter is set to true.

isSuffixEnabled

Boolean

Optional

Indicates if the custom suffix is enabled for the coupon code. Supported values:

  • true: Custom suffix is enabled.

  • false: Custom suffix is disabled.

    Note: If set to false, no suffix value will be added to the coupon code, even if orgSuffixOverride parameter is set to true.

orgPrefixOverride

Boolean

Optional

Specifies whether to add the custom prefix or the org-level default prefix for the coupon code.
Supported values:

  • true: The default prefix value set in the org settings is added to the coupon code. If no prefix value is set at the org level, the coupon creation request will fail.
  • false: The custom prefix value set in the couponPrefix parameter is added to the coupon code.

orgSuffixOverride

Boolean

Optional

Specifies whether to add the custom suffix or the org-level default suffix for the coupon code.

Supported values:

  • true: The default suffix value set in the org settings is added to the coupon code. If no suffix value is set at the org level, the coupon creation request will fail.
  • false: The custom suffix value set in the couponSuffix parameter is added to the coupon code.

Example response

{
    "id": 927360,
    "orgId": 100737,
    "description": "Test 1: P and S Enabled",
    "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-12-17T10:19:00Z",
    "lastUsed": "2025-12-17T10:18:59Z",
    "seriesCode": "824712178E67464E8923",
    "smsTemplate": "Hi {{first_name}} {{last_name}} your voucher code //////{{voucher}}is valid",
    "isSMSDisabled": false,
    "info": "Test 1: P and S Enabled",
    "isMultipleVouchersPerUserAllowed": false,
    "doNotResendExistingVoucher": false,
    "mutualExclusiveSeriesIds": "[-1]",
    "storeIdsJson": "[-1]",
    "isDvsEnabled": false,
    "dvsExpiryDate": "2025-12-17T00: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": "Test 1: P and S Enabled",
    "maxRedemptionsInSeriesPerUser": -1,
    "minDaysBetweenRedemption": -1,
    "redemptionValidFrom": "2025-12-17T00: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": 5,
    "fixedExpiryDate": 1781136000000,
    "numTotal": 0,
    "latestIssualTime": 0,
    "latestRedemptionTime": 0,
    "resendMessageEnabled": true,
    "redemptionPerCouponMaxLimit": -1,
    "couponPrefix": "P-SUC",
    "couponSuffix": "S-SUC",
    "isPrefixEnabled": true,
    "isSuffixEnabled": true,
    "orgPrefixOverride": false,
    "orgSuffixOverride": false,
    "seriesType": "UNDEFINED",
    "clientHandlingType": "DISC_CODE",
    "expiryStrategyType": "SERIES_EXPIRY",
    "discountOn": "BILL",
    "discountType": "ABS",
    "updateProductData": false,
    "externalIssual": false,
    "warnings": []
}


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.
couponPrefixStringIndicates the custom string added before the coupon code.
couponSuffixStringIndicates the custom string added after the coupon code.
isPrefixEnabledBooleanIndicates if the prefix configuration is currently enabled.
isSuffixEnabledBooleanIndicates if the suffix configuration is currently enabled.
orgPrefixOverrideBooleanIndicates if the organization-level default prefix overrides the custom prefix.
orgSuffixOverrideBooleanIndicates if the organization-level default suffix overrides the custom suffix.
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": 927360,
    "orgId": 100737,
    "description": "Test 1: P and S Enabled",
    "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-12-17T10:19:00Z",
    "lastUsed": "2025-12-17T10:18:59Z",
    "seriesCode": "824712178E67464E8923",
    "smsTemplate": "Hi {{first_name}} {{last_name}} your voucher code //////{{voucher}}is valid",
    "isSMSDisabled": false,
    "info": "Test 1: P and S Enabled",
    "isMultipleVouchersPerUserAllowed": false,
    "doNotResendExistingVoucher": false,
    "mutualExclusiveSeriesIds": "[-1]",
    "storeIdsJson": "[-1]",
    "isDvsEnabled": false,
    "dvsExpiryDate": "2025-12-17T00: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": "Test 1: P and S Enabled",
    "maxRedemptionsInSeriesPerUser": -1,
    "minDaysBetweenRedemption": -1,
    "redemptionValidFrom": "2025-12-17T00: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": 5,
    "fixedExpiryDate": 1781136000000,
    "numTotal": 0,
    "latestIssualTime": 0,
    "latestRedemptionTime": 0,
    "resendMessageEnabled": true,
    "redemptionPerCouponMaxLimit": -1,
    "couponPrefix": "P-SUC",
    "couponSuffix": "S-SUC",
    "isPrefixEnabled": true,
    "isSuffixEnabled": true,
    "orgPrefixOverride": false,
    "orgSuffixOverride": false,
    "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.
  • 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.

Error code

Error codeDescription
400Bad Request - Invalid parameters. Verify all required fields are provided and have valid values. Check date format (YYYY-MM-DD) and enum values.
401Unauthorized - Authentication failed. Ensure valid authentication credentials (API key/token) are provided in the request headers.
403Forbidden - Access denied. Verify that the authenticated user has permission to create coupon series for this organization.
404Not Found - Organization not found. Confirm that the orgId exists and is accessible with your credentials.
409Conflict - Duplicate series code. The discount code or series code already exists. Use a unique code or update the existing series.
500Internal Server Error. Retry the request after a few moments. If the issue persists, contact Capillary Support.
501Invalid Organization ID. Provide a valid organization ID that exists in the system.
629Invalid Input. Review all input parameters for correctness. Ensure dates are in valid format, numeric values are within acceptable ranges, and enum values match allowed options.
629Prefix length exceeds maximum. The prefix length cannot exceed the maximum allowed characters (typically 10). Reduce the prefix length or remove unnecessary characters.
629Suffix length exceeds maximum. The suffix length cannot exceed the maximum allowed characters (typically 10). Reduce the suffix length or remove unnecessary characters.
629Prefix contains invalid characters. Prefix can only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), and underscores (_). Remove any special characters or spaces from the prefix.
629Suffix contains invalid characters. Suffix can only contain alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), and underscores (_). Remove any special characters or spaces from the suffix.
629Prefix/Suffix not allowed. Prefix or suffix can only be set when clientHandlingType is "DISC_CODE". Either change clientHandlingType to "DISC_CODE" or remove prefix/suffix configuration.
629Prefix enabled but not provided. Prefix is enabled but no prefix value is set at either organization level or series level. Provide a prefix value or disable prefix in the request.
629Suffix enabled but not provided. Suffix is enabled but no suffix value is set at either organization level or series level. Provide a suffix value or disable suffix in the request.
629Total code length exceeds maximum. The total length of prefix + coupon code + suffix cannot exceed the maximum allowed length (typically 30 characters).
630Duplicate Series Code. The series code already exists. Choose a different unique code for the coupon series.
631Duplicate Generic Coupon Code. The coupon code is already in use. Select a different unique coupon code.
634Empty Series Code. Series code is required but was not provided. Include a valid series code in the request.
641Incorrect Valid Till Date. The expiry date format is invalid or the date is in the past. Provide a valid future date in YYYY-MM-DD format.
730Unknown error. Check request parameters and retry.
786Unable to process coupon. Service temporarily unavailable. Retry the request after a few seconds.
788Configuration is invalid. Contact Capillary Support to verify organization configuration settings.
795Configuration is invalid. Contact Capillary Support to verify organization configuration settings.
799Configuration is invalid. Contact Capillary Support to verify organization configuration settings.
Language
URL
Click Try It! to start a request and see the response here!