Coupon Update API (v2)

The Coupon Update API lets you modify details of issued coupons.

Using the coupon code (cpNo) as the identifier, you can update the discount type, expiration date, usage limits, group, and user information.
Some fields cannot be changed once the coupon has been redeemed.

This API is available on the Personal plan or higher.

PUT

/api/coupon/v2/update

{
    "cpnNo": "ZJLF0399WQBEQZJM",
    "nm": "$10 discount coupon",
    "disc": 10,
    "endYmd": "2025-12-31",
    "branchIdx": 11,
    "storeIdx": 22,
    "useScope": "BRANCH",
    "useBranchIdx": 11
}

Request Parameters

cpnNostringrequired
Coupon number.
domain string
Coupon domain.
Available on Premium plans and above: you can specify a custom domain.
webhookEnableYn string
Enum:
YN
Whether to enable Webhook.
Global Webhook must be enabled.
This feature is available only in the Enterprise plan.
nmstring
Coupon name.
discTypeIdxinteger
Discount type. (457: Percentage %, 458: Fixed amount)
discdouble
For percentage (457): range 1–100%. For fixed amount (458): enter amount.
discCurrencystring
Currency unit. Required when using fixed amount discount (discTypeIdx:458).
strtYmddate
Coupon start date. Example: 2024-10-01
endYmddate
Coupon expiration date. Example: 2024-12-31
The expiration date can only be set until December 31 of the following year.
useLimitinteger
Coupon usage limit. (0: Unlimited, 1–5: Limited number of uses)
If set to 2 or more, userId must be specified.
grpIdxinteger
Coupon group. Used to manage coupons in groups. Group IDX can be checked in the dashboard.
If both group and coupon settings are applied, group settings take priority.
tmplIdxinteger
Coupon template. Template IDX can be checked in the dashboard when creating coupons.
onsiteYnstring
On-site coupon indicator. Shows a “Use Coupon” button on the coupon page.
Required for offline store staff to process coupon usage.
onsitePwdstring
On-site coupon password. Required when redeeming the coupon.
memostring
Internal notes for reference.
urlstring
If a URL is entered, a “Go to Use Coupon” button will appear on the coupon page.
Clicking the button or image redirects to the specified URL.
colorstring
Coupon text color. Enter HEX value. Example: #4F4F4F
backgroundstring
Coupon background color. Enter HEX value. Example: #FFFFFF
userIdstring
Used to manage coupon recipients.
Required if usage limit is set to 2–5. Typically the website login ID or user name.
userNmstring
Coupon user name. For internal management.
userPhnnostring
Coupon user contact number. For internal management.
userEmlstring
Coupon user email. For internal management.
userEtc1string
Additional internal management field.
userEtc2string
Additional internal management field.
branchIdx integer
Issuing branch IDX. If omitted, the resource is issued by the head office; send 0 to clear it.
Available on the Business plan or higher.
storeIdx integer
Issuing store IDX. When specified, the branch that the store belongs to becomes the issuing branch. Sending a different branch results in an error.
useScope string
Usable scope. Only ALL (all stores) or BRANCH (a specific branch) is allowed. Defaults to ALL when omitted.
useBranchIdx integer
Usable branch IDX. Required only when useScope = BRANCH; always empty when ALL.
{
    "code": 0,
    "message": "",
    "result": null
}

Response Parameters

code integer
Response code: 0 = Success, other values = Error
message string
Response message. If the response code is not 0, an error message is returned.
result null

Issuing branch, issuing store and usable scope

The values set here are the policy stored at issuance. "Where it was issued" (issuing branch, issuing store) and "where the customer can use it" (usable scope, usable branch) are different concepts, so the parameters are separate.

Parameter Meaning Description
branchIdx Issuing branch If omitted, the head office issues it. Send 0 to clear it to the head office.
storeIdx Issuing store When set, the branch that the store belongs to becomes the issuing branch. Sending a different branch is rejected.
useScope Usable scope ALL (all stores) or BRANCH (a specific branch). Defaults to ALL.
useBranchIdx Usable branch Required only when useScope=BRANCH. Always empty when ALL.

Parameters that cannot be used — processStoreIdx (processing store) refers to the store where a validation, use, add or remove actually happened, so it cannot be used with this API. Sending it returns 400 (error code 1227).

Branch and store features are available on the Business plan or higher only.

Idempotency-Key

To retry safely when a response is lost to a network error, send a value that is unique per request in the Idempotency-Key header. You can also send it as requestId in the body; if both are sent with different values, the request is rejected. The allowed format is 8–64 characters of letters, digits and . _ : -.

Sending the same request again with the same key returns the original result without processing it again. Nothing is processed twice and webhooks are not sent again.

Use the same key only for retries of the same logical operation. Always use a new key for a different operation. Using the same key with different request content or for a different operation may be rejected with 409.

When to Use This API

Use this API when you need to update the conditions of already issued coupons.

It is useful for managing active campaigns, such as extending promotion periods, adjusting discount values, or adding user-specific restrictions.

Since the coupon code remains unchanged, you can update coupon details without reissuing or recalling coupons that have already been distributed.

How to Extend Expiration

To extend the expiration date, set a new value in the endYmd parameter.
Expired coupons can be reactivated by updating the date to a future value. Use the YYYY-MM-DD format.

Use cases

  • Extend promotion periods: Update endYmd to extend the validity of an active campaign
  • Adjust discount settings: Modify disc to reflect updated pricing or marketing strategy
  • Increase usage limits: Raise useLimit for VIP users to allow repeated use of the same coupon
  • Reassign coupon groups: Change grpIdx to move the coupon to another group and apply its images or webhook settings
  • Target specific users: Deliver personalized discounts based on email or user ID
  • Update landing pages: Change the coupon’s destination URL to another promotion page

Things to consider

  • If cpNo (coupon code) is invalid, the update request will fail.
  • Some fields may be restricted if the coupon has already been redeemed.
  • Changing discount values may impact the existing user experience.
  • Expired coupons may not become immediately usable after an update.
  • For in-store coupons, update staff passwords when roles change.