Check if coupon is Redeemable

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
📘

Note:
Any one customer identifier is mandatory.

Example request

curl --location 'http://eu.api.capillarytech.com/v2/coupon/is_redeemable?mobile=1234512345&code=230995767&details=extended' \
--header 'Authorization: Basic ZYyZTZm' \
--header 'Cookie: _cfuvid=.fLKDm.AUqJYZlLjow7gfWbYpw6LsG1ZfgYwyCrsnLs-1746168467271-0.0.1.1-604800000; _cfuvid=pW_WnoL4RnshSjHbHtyXwbqGe6DZNu_HWa.Etq3DQrs-1768379637553-0.0.1.1-604800000; _cfuvid=.fxWhOLsAhwsxi7zp.oMiFJYBK.km4OyCE25KDjxKok-1768558550749-0.0.1.1-604800000'

Query parameter

ParameterDatatypeDescription
mobile/email/externalId/id*stringThe customer's unique identifier. You must provide at least one of these fields inside the user object.
code*stringThe unique coupon code(s) to validate. To check multiple codes in a single request, provide them as a comma-separated string.
detailsstringA flag to control the level of detail in the response. If this parameter is omitted, a minimal response is returned.
  • true: Returns complete coupon series details, including discount values, expiration dates, and redemption limits.
  • extended: Returns the enriched coupon series object with all fields, including configuration and metadata such as validity, discount details, and redemption rules.
    Note: The coupon must be redeemable for the enriched coupon series object to appear in the response.

Example response

{
    "redemption": [
        {
            "currencyInput": false,
            "localToBaseCurrencyExchangeRate": 0,
            "isRedeemable": true,
            "warnings": [],
            "appendedErrorMessage": "",
            "code": "230995767",
            "couponseries": {
                "id": 947797,
                "orgId": 100737,
                "description": "Gold star coupons12",
                "discountCode": "gold1234",
                "validTillDate": "2026-06-11T00:00:00Z",
                "validTillISODate": "2026-06-11",
                "validDaysFromCreation": 30,
                "expiryStrategyValue": -1,
                "maxCreate": -1,
                "maxRedeem": -1,
                "isTransferrable": false,
                "anyUser": true,
                "sameUserMultipleRedeem": false,
                "isReferralExistingUsersAllowed": false,
                "isMultipleUseAllowed": false,
                "isValidationRequired": false,
                "isValidWithDiscountedItem": false,
                "createdBy": 75197941,
                "numIssued": 1,
                "numRedeemed": 0,
                "createdOn": "2026-01-14T08:29:19Z",
                "lastUsed": "2026-01-14T08:29:19Z",
                "seriesCode": "4DFB0705CD8F4E60A968",
                "smsTemplate": "Hi {{first_name}} {{last_name}} your voucher code //////{{voucher}}is valid",
                "isSMSDisabled": false,
                "isUpdateProductData": false,
                "info": "Gold star coupons12",
                "isMultipleVouchersPerUserAllowed": false,
                "doNotResendExistingVoucher": false,
                "mutualExclusiveSeriesIds": "[-1]",
                "storeIdsJson": "[-1]",
                "isDvsEnabled": false,
                "dvsExpiryDate": "2026-01-14T00: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 coupons12",
                "maxRedemptionsInSeriesPerUser": -1,
                "minDaysBetweenRedemption": -1,
                "redemptionValidFrom": "2026-01-14T00:00:00Z",
                "sourceOrgId": -1,
                "issueToLoyalty": false,
                "redeemStoreType": "redeemable_stores",
                "offlineRedeemType": false,
                "isOldFlowEnabled": false,
                "isPreRedeemEventRequired": false,
                "brands": [],
                "products": [],
                "categories": [],
                "termsAndConditions": "T&C",
                "signalRedemptionEvent": false,
                "syncToClient": false,
                "showPinCode": false,
                "redemptionPerCouponMaxLimit": -1,
                "validRedemptionOrgEntityDetails": {
                    "concepts": [],
                    "zones": [],
                    "stores": [],
                    "tills": []
                },
                "seriesType": "UNDEFINED",
                "clientHandlingType": "DISC_CODE",
                "expiryStrategyType": "SERIES_EXPIRY",
                "discountOn": "BILL",
                "discountType": "ABS",
                "entityLevelRedemptionConfigsValues": [],
                "updateProductData": false,
                "validTilldateFormat": "2026-06-11",
                "redemptionValidFromFormat": "2026-01-14",
                "dvsExpiryDateFormat": "2026-01-14"
            },
            "isAbsolute": false,
            "redemptionsLeft": 1,
            "numberOfRedemptionsByUser": 0
        }
    ],
    "redemptionStatus": {
        "status": true,
        "code": 700,
        "message": "Coupon isRedeem successful"
    },
    "customer": {
        "id": 566881933,
        "profiles": [
            {
                "firstName": "Bubalus",
                "lastName": "bubalis",
                "fields": {},
                "allFields": {},
                "identifiers": [
                    {
                        "type": "mobile",
                        "value": "1234512345"
                    },
                    {
                        "type": "email",
                        "value": "[email protected]"
                    },
                    {
                        "type": "externalId",
                        "value": "12341234"
                    }
                ],
                "commChannels": [],
                "userId": 566881933,
                "accountId": "",
                "autoUpdateTime": "2026-01-16T10:15:50Z",
                "identifiersAll": [
                    {
                        "type": "mobile",
                        "value": "1234512345"
                    },
                    {
                        "type": "email",
                        "value": "[email protected]"
                    },
                    {
                        "type": "externalId",
                        "value": "12341234"
                    }
                ]
            }
        ]
    },
    "warnings": []
}

Response parameter

ParameterData typeDescription
.redemptionArrayArray containing the list of redemption details for the requested coupon.
..currencyInputBooleanIndicates whether a redemption request uses currency value instead of points. It applies to points redemption, not coupon redemption.
Value: true: The request specifies a currency amount, and the system converts it to points using exchange rates.
false: The request specifies points directly.
..localToBaseCurrencyExchangeRateDoubleIndicates the exchange rate used to convert local currency to base currency.
..isRedeemableBooleanIndicates whether the coupon is currently redeemable.
..warningsArrayArray containing the list of warnings related to the redemption.
..appendedErrorMessageStringError message in case of any errors.
..codeStringCoupon code being checked for redeemability.
..couponseriesObjectObject containing the coupon series object and related metadata.
...idLongIndicates coupon series ID.
...orgIdLongIndicates the organization ID associated with the coupon series.
...descriptionStringIndicates the description of the coupon.
...discountCodeStringIndicates the discount code used.
...validTillDateString

Indicates the expiration date of the coupon in ISO 8601 format, returned in the server time zone.
EU server example
2025-12-16T00:00:00Z → 16 December 2025.

India server example
2025-12-16T00:00:00+05:30 → 16 December 2025.

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.

...validTillISODateStringReturns the coupon expiration date as a date-only string in YYYY-MM-DD format. This field does not include a time component or timezone offset.
...validDaysFromCreationIntegerIndicates the number of days for which the coupon is valid from the date of creation.
...expiryStrategyValueIntegerIndicates the configured expiry strategy value for the coupon series.
...maxCreateIntegerIndicates the maximum number of coupons that can be created in the series.
...maxRedeemIntegerIndicates the maximum number of redemptions allowed for the series.
...isTransferrableBooleanIndicates whether the coupon can be transferred to another customer.
Values: true : Indicates that the coupon is transferable.
false: Indicates that the coupon is not transferable.
...anyUserBooleanIndicates whether any customer can redeem the coupon.
Values: true : Indicates that any user can redeem the coupon.
false: Indicates that the coupon can only be redeemed by the customer to whom it was issued.
...sameUserMultipleRedeemBooleanIndicates whether the same customer can redeem the coupon multiple times.
Values: true: Indicates that the same user can redeem the coupon multiple times.
false: Indicates that the same user can't redeem the coupon multiple times.
...isReferralExistingUsersAllowedBooleanIndicates whether existing loyalty customers can be invited/referred when coupons are issued through referral campaigns.
Values: true: Existing loyalty customers can be invited/referred in referral campaigns for this coupon series.
false: Existing loyalty customers are excluded from referral campaigns for this coupon series.
...isMultipleUseAllowedBooleanIndicates whether the coupon can be used multiple times.
Values: true: Indicates that the coupon can be used multiple times.
false: Indicates that the coupon can't be used multiple times.
...isValidationRequiredBoolean

Indicates whether the system validates the user and store before redemption.

Values: true: The system validates the user and store before redemption.

false: The coupon can be redeemed without validation.

...isValidWithDiscountedItemBooleanIndicates whether the coupon can be used with discounted items.
Values: true: Indicates that the coupon is valid with discounted items.
false: Indicates that the coupon is not valid with discounted items.
...createdByLongUser ID of the person who created the coupon series.
...numIssuedIntegerIndicates the number of coupons issued in the series.
...numRedeemedIntegerIndicates the number of coupons redeemed in the series.
...createdOnStringIndicates the date and time when the coupon series was created in ISO 8601 format, returned in the server time zone.
EU server example
2025-12-16T14:30:45Z → 16 December 2025, 14:30:45 (UTC)
India server example
2025-12-16T14:30:45+05:30 → 16 December 2025, 14:30:45 (IST)
Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
...lastUsedStringIndicates the date and time when the coupon series was last used in ISO 8601 format, returned in the server time zone.
EU server example
2025-12-16T14:30:45Z → 16 December 2025, 14:30:45 (UTC)
India server example
2025-12-16T14:30:45+05:30 → 16 December 2025, 14:30:45 (IST)
Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
...seriesCodeStringIndicates the unique series code for the coupon series.
...smsTemplateStringIndicates the SMS template associated with the coupon series.
...isSMSDisabledBooleanIndicates whether SMS communication is disabled for the coupon series.
Values: true: Indicates that SMS communication is disabled for the coupon series.
false: Indicates that SMS communication is enabled for the coupon series.
...isUpdateProductDataBoolean

Indicates whether product data should be updated.
Values: true: The system deletes the existing product data associated with the coupon and inserts the new product data provided in the request. The product attributes updated are SKU, Brand, and Category.

false: If the coupon already has product data, the new product data in your request is ignored. The system keeps the old data.

If the coupon does not have any product data yet, the new data is inserted.

...infoStringAdditional coupon information provided by the user while creating or updating the coupon.
Example: Festive Coupon
...isMultipleVouchersPerUserAllowedBooleanIndicates whether multiple vouchers can be issued to the same user.
Values: true: Indicates that multiple vouchers can be issued to the same user.
false: Indicates that multiple vouchers can't be issued to the same user.
...doNotResendExistingVoucherBoolean

Indicates whether the system resends an existing coupon code when issuing a coupon to a customer who already has an active, unredeemed coupon from the same series.

Values:true: Resends the existing coupon code.
false: Generates a new coupon code instead of resending the existing one.

...mutualExclusiveSeriesIdsArrayJSON array of mutually exclusive series IDs
...storeIdsJsonArrayJSON array of store IDs
...isDvsEnabledBooleanIndicates whether DVS (Dynamic Voucher System) is enabled for the coupon series.
Values: true: Indicates that DVS is enabled.
false: Indicates that DVS is disabled.
...dvsExpiryDateString

Indicates the expiry date for DVS vouchers in ISO 8601 format, returned in the server time zone.

EU server example
2025-12-16T00:00:00Z → 16 December 2025.

India server example
2025-12-16T00:00:00+05:30 → 16 December 2025.

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.

...priorityIntegerIndicates the priority of the coupon series. Lower numbers have higher priority, with 0 being the highest.
...shortSMSTemplateStringIndicates the short SMS template used for the coupon series.
...maxVouchersPerUserIntegerIndicates the maximum number of vouchers allowed per user.
...minDaysBetweenVouchersIntegerIndicates the minimum days gap between issuing multiple vouchers in this series to the same user.
...maxReferralsPerRefereeIntegerIndicates the maximum number of referrals allowed per referee.
...discountUptoIntegerIndicates the maximum discount value allowed.
...discountValueIntegerIndicates the value of the discount.
...dvsItemsStringIndicates the DVS items configuration for the coupon series.
...redemptionRangeObjectJSON object containing the redemption range.
...minBillAmountDoubleIndicates the minimum bill amount required for redemption.
...maxBillAmountDoubleIndicates the maximum bill amount allowed for redemption.
...redeemAtStoreArrayJSON array of store IDs that indicate the list of stores where the coupon can be redeemed.
...campaignIdLongIndicates the campaign ID associated with the coupon series.
...tagStringIndicates the tag associated with the coupon series.
...maxRedemptionsInSeriesPerUserIntegerIndicates the maximum redemptions allowed per user in the coupon series.
...minDaysBetweenRedemptionIntegerIndicates the minimum number of days required between redemptions for a user.
...redemptionValidFromString

Indicates the date and time from which redemption is allowed in ISO 8601 format, returned in the server time zone.

EU server example
2025-12-16T00:00:00Z → 16 December 2025.

India server example
2025-12-16T00:00:00+05:30 → 16 December 2025.

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.

...sourceOrgIdLongIndicates the source organization ID, if the series is shared across organizations.
...issueToLoyaltyBooleanIndicates whether issued to loyalty customers
...redeemStoreTypeStringIndicates the store selection type used for redemption eligibility.
Possible values: redeemable_stores
...offlineRedeemTypeBooleanIndicates whether the coupon supports offline redemption.
...isOldFlowEnabledBooleanIndicates whether the old redemption flow is enabled.
Value: true: Old flow enabled.
false: Old flow is not enabled.
...isPreRedeemEventRequiredBooleanIndicates whether a pre-redemption event is required.
Example scenario: In a high-demand flash sale, setting isPreRedeemEventRequired to true reserves the coupon when the customer applies it at checkout, instead of redeeming it immediately. If the payment fails or the customer abandons the cart, the reservation expires, and the coupon is made available for other customers. The coupon is redeemed only after the payment is successfully confirmed, preventing coupon inventory from being blocked by failed transactions.
...brandsArrayArray of brand objects.
...productsArrayArray containing product details.
...categoriesArrayArray containing category information.
...termsAndConditionsStringIndicates the terms and conditions configured for the coupon series.
...signalRedemptionEventBooleanIndicates whether to signal a redemption event.
...syncToClientBooleanIndicates whether the coupon series is synced to the client system.
...showPinCodeBooleanIndicates whether the PIN code is displayed for the coupon.
...redemptionPerCouponMaxLimitIntegerIndicates the maximum number of redemptions allowed per coupon.
...validRedemptionOrgEntityDetailsObjectObject listing the organizational entities where a coupon can be redeemed.
....conceptsArrayArray containing the concept-level entity IDs where the coupon can be redeemed. A null or empty array indicates no concept-level restriction.
....zonesArrayArray containing the zone-level entity IDs where the coupon can be redeemed. A null or empty array indicates no zone-level restriction.
....storesArrayArray containing the store-level entity IDs where the coupon can be redeemed. A null or empty array indicates no store-level restriction.
....tillsArrayArray containing the till-level entity IDs where the coupon can be redeemed. A null or empty array indicates no till-level restriction.
...seriesTypeEnumIndicates the coupon series type.
Possible values:
  • CAMPAIGN - Campaign-based coupon series
  • DVS - Distributed Voucher Service series
  • ALLIANCE - Alliance partner series
  • GOODWILL - Goodwill coupon series
  • LOYALTY - Loyalty program series
  • TIMELINE - Timeline-based series
  • REFERRAL - Referral program series
  • UNDEFINED - Undefined/unspecified type
  • JOURNEY - Customer journey series
...clientHandlingTypeEnumIndicates how the client handles the coupon series.
Possible values:
  • DISC_CODE - Discount code handling
  • RULE_BASED - Rule-based handling
  • DISC_GV - Discount gift voucher
  • DISC_PROMO - Discount promotion
  • DISC_CODE_PIN - Discount code with PIN
  • AMOUNT_BASED - Amount-based handling
  • ARTICLE_BASED - Article/item-based handling
  • GENERIC - Generic handling
  • EXTERNAL_ISSUAL - External issual handling
  • EXTERNALLY_MANAGED - Externally managed handling
...expiryStrategyTypeEnumIndicates the expiry strategy type for the coupon series.
Possible values:
  • DAYS - Expiry based on the number of days from creation
  • MONTHS - Expiry based on the number of months from creation
  • MONTHS_END - Expiry at the end of the month
  • SERIES_EXPIRY - Expiry based on the series expiry date
...discountOnEnumIndicates what the discount applies to.
Possible values: BILL, ITEM
...discountTypeEnumIndicates the type of discount.
Possible values: ABS, PERC
...entityLevelRedemptionConfigsValuesArrayArray of redemption configuration objects that define different redemption rules per organizational entity (Organization Unit (OU), Concept, Store). It allows a coupon series to have different settings at different organizational levels.
Example use case
A coupon series with:
OU 1: 10% discount, min bill ₹500, max 2 redemptions per user
OU 2: ₹50 flat discount, min bill ₹200, max 5 redemptions per user
Each OU has its own configuration in the entityLevelRedemptionConfigsValues array.
...updateProductDataBooleanIndicates whether product information, like brands, categories, SKUs, product IDs is included/updated when saving or retrieving a coupon series configuration.
Value: true: Indicates that the product information is saved with the coupon series.
false: Indicates that the product information is not saved/updated.
...validTilldateFormatStringReturns the expiry date of the coupon as a date-only string in YYYY-MM-DD format. This field does not include a time component or timezone offset.
...redemptionValidFromFormatStringReturns the redemption start date as a date-only string in YYYY-MM-DD format. This field does not include a time component or timezone offset.
...dvsExpiryDateFormatStringReturns the DVS voucher expiry date as a date-only string in YYYY-MM-DD format. This field does not include a time component or timezone offset.
..isAbsoluteBooleanIndicates whether the discount is absolute or a percentage.
Value: true: Indicates the discount is absolute.
false: Indicates the discount is a percentage.
..redemptionsLeftIntegerIndicates the number of redemptions left for the coupon.
..numberOfRedemptionsByUserIntegerIndicates the number of times the user has redeemed the coupon.
.redemptionStatusObjectObject containing the overall redemption status details.
..statusBooleanIndicates the overall status of the redemption.
..codeIntegerIndicates the response code for the redemption status.
..messageStringIndicates the message related to the redemption status.
.customerObjectObject containing the customer details associated with the redemption.
..idLongIndicates the customer ID.
..profilesArrayArray containing the customer profiles returned in the response.
...firstNameStringIndicates the customer's first name in the profile.
...lastNameStringIndicates the customer's last name in the profile.
...fieldsObjectIndicates any additional fields associated with the profile.
...allFieldsObjectIndicates all additional fields associated with the profile.
...identifiersArrayArray indicating the list of customer identifiers associated with the profile.
....typeStringIndicates the type of the identifier.
Example: email, externalId, mobile
....valueStringIndicates the value of the identifier.
...commChannelsArrayArray indicating the list of communication channels associated with the profile.
...userIdLongIndicates the user ID associated with the profile.
...accountIdStringIndicates the account ID associated with the profile.
...autoUpdateTimeString

Indicates the date and time in ISO 8601 format when the profile was last automatically updated.
EU server example
2025-12-16T14:30:45Z → 16 December 2025, 14:30:45 (UTC)

India server example
2025-12-16T14:30:45+05:30 → 16 December 2025, 14:30:45 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.

...identifiersAllArrayArray indicating the complete list of customer identifiers associated with the profile.
....typeStringIndicates the type of the identifier.
Example: email, externalId, mobile
....valueStringIndicates the value of the identifier.
.warningsArrayArray containing the list of warnings returned in the response, if any.
Query Params
string
string
enum
Allowed:
string
string
string
string
int64
code
array of strings
required
code*
Headers
string
enum
Defaults to application/json
Allowed:
Response

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json