Skip to main content
POST
/
merchant
/
discount
/
edit
Edit Discount Code
curl --request POST \
  --url https://api.unibee.dev/merchant/discount/edit \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": 123,
  "advance": true,
  "billingType": 123,
  "currency": "<string>",
  "cycleLimit": 123,
  "discountAmount": 123,
  "discountPercentage": 123,
  "discountType": 123,
  "endTime": 123,
  "metadata": {},
  "name": "<string>",
  "planApplyGroup": {
    "currency": [
      "<string>"
    ],
    "groupPlanIntervalSelector": [
      {
        "intervalCount": 123,
        "intervalUnit": "<string>"
      }
    ],
    "type": [
      123
    ]
  },
  "planApplyType": 123,
  "planIds": [
    123
  ],
  "quantity": 123,
  "startTime": 123,
  "upgradeLongPlanOnly": true,
  "upgradeOnly": true,
  "userLimit": 123,
  "userScope": 123
}
'
{
  "code": 123,
  "data": {
    "discount": {
      "advance": true,
      "billingType": 123,
      "code": "<string>",
      "createTime": 123,
      "currency": "<string>",
      "cycleLimit": 123,
      "discountAmount": 123,
      "discountPercentage": 123,
      "discountType": 123,
      "endTime": 123,
      "id": 123,
      "isDeleted": 123,
      "merchantId": 123,
      "metadata": {},
      "name": "<string>",
      "planApplyGroup": {
        "currency": [
          "<string>"
        ],
        "groupPlanIntervalSelector": [
          {
            "intervalCount": 123,
            "intervalUnit": "<string>"
          }
        ],
        "type": [
          123
        ]
      },
      "planApplyType": 123,
      "planIds": [
        123
      ],
      "quantity": 123,
      "startTime": 123,
      "status": 123,
      "upgradeLongerOnly": true,
      "upgradeOnly": true,
      "userLimit": 123,
      "userScope": 123
    }
  },
  "merchantId": 123,
  "message": "<string>",
  "redirect": "<string>",
  "requestId": "<string>"
}

Endpoint Overview

POST https://api.unibee.dev/merchant/discount/edit Edit the discount code before activate

Authorization

All UniBee Merchant API requests require authentication via API key.
HeaderRequiredDescription
AuthorizationYesBearer <your_api_key>
Content-TypeYesapplication/json (for request body)

Parameters

Parameters for this endpoint are listed below. The schema is also shown in the Try it panel.

Request body

NameTypeRequiredDescription
advancebooleanNoAdvanceConfig, 0-false,1-true, will enable all advance config if set true
billingTypeintegerNoThe billing type of the discount code, 1-one-time, 2-recurring, define the situation the code can be used, the code of one-time billing_type can used for all situation that effect only once, the code of recurring billing_tye can only used for subscription purchase
currencystringNoThe discount currency of discount code, available when discount_type is fixed_amount
cycleLimitintegerNoThe count limitation of subscription cycle,each subscription is valid separately, 0-no limit
discountAmountintegerNoThe discount amount of the discount code, available when discount_type is fixed_amount
discountPercentageintegerNoThe discount percentage of discount code, 100=1%, available when discount_type is percentage
discountTypeintegerNoThe discount type of the discount code, 1-percentage, 2-fixed_amount, the discountType of code, the discountPercentage will be effect when discountType is percentage, the discountAmount and currency will be effect when discountTYpe is fixed_amount
endTimeintegerNoThe end time of discount code can effect, editable after activate, utc time
idintegerYesThe discount’s Id
metadataobjectNoMetadata,Map
namestringNoThe discount’s name
planApplyGroupstringNo
planApplyTypeintegerNoplan apply type, 0-apply for all, 1-apply for plans specified, 2-exclude for plans specified, 3-Apply to Plans by Groups(Billing Period Included), 4-Apply to Plans except by Groups(Billing Period Included)
planIdsarrayNoIds of plan which discount code can effect, default effect all plans if not set
quantityintegerNoQuantity of code, default 0, set 0 to disable quantity management
startTimeintegerNoThe start time of discount code can effect, editable after activate, utc time
upgradeLongPlanOnlybooleanNoAdvanceConfig, true or false, will forbid for all except upgrade to longer plan if set true
upgradeOnlybooleanNoAdvanceConfig, true or false, will forbid for all except same interval upgrade action if set true
userLimitintegerNoAdvanceConfig, The limit of every customer can apply, the recurring apply not involved, 0-unlimited
userScopeintegerNoAdvanceConfig, Apply user scope,0-for all, 1-for only new user, 2-for only renewals, renewals is upgrade&downgrade&renew

Request examples

cURL

curl -X POST "https://api.unibee.dev/merchant/discount/edit" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "advance": false,
  "billingType": 0,
  "currency": "",
  "cycleLimit": 0,
  "discountAmount": 0,
  "discountPercentage": 0,
  "discountType": 0,
  "endTime": 0,
  "id": 0,
  "metadata": {},
  "name": "",
  "planApplyGroup": "",
  "planApplyType": 0,
  "planIds": [],
  "quantity": 0,
  "startTime": 0,
  "upgradeLongPlanOnly": false,
  "upgradeOnly": false,
  "userLimit": 0,
  "userScope": 0
}'

Sandbox

curl -X POST "https://api-sandbox.unibee.top/merchant/discount/edit" \
  -H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "advance": false,
  "billingType": 0,
  "currency": "",
  "cycleLimit": 0,
  "discountAmount": 0,
  "discountPercentage": 0,
  "discountType": 0,
  "endTime": 0,
  "id": 0,
  "metadata": {},
  "name": "",
  "planApplyGroup": "",
  "planApplyType": 0,
  "planIds": [],
  "quantity": 0,
  "startTime": 0,
  "upgradeLongPlanOnly": false,
  "upgradeOnly": false,
  "userLimit": 0,
  "userScope": 0
}'

Response

Success responses return a JSON envelope with code, data, message, redirect, and requestId. code 0 indicates success.
FieldTypeDescription
codeintegerResponse code. 0 = success
dataobjectResponse payload
data.discountobject
messagestringHuman-readable message
requestIdstringRequest ID for support

Error handling

HTTP statusMeaning
400Bad request — invalid or missing parameters. Check message in the body.
401Unauthorized — missing or invalid API key.
404Not found — invalid path or resource.
500Server error — retry with backoff.
When code in the response body is non-zero, check message for details. Use requestId when contacting support.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Edit the discount code before activate

id
integer<int64>
required

The discount's Id

advance
boolean<*bool>

AdvanceConfig, 0-false,1-true, will enable all advance config if set true

billingType
integer<int>

The billing type of the discount code, 1-one-time, 2-recurring, define the situation the code can be used, the code of one-time billing_type can used for all situation that effect only once, the code of recurring billing_tye can only used for subscription purchase

currency
string<string>

The discount currency of discount code, available when discount_type is fixed_amount

cycleLimit
integer<int>

The count limitation of subscription cycle,each subscription is valid separately, 0-no limit

discountAmount
integer<int64>

The discount amount of the discount code, available when discount_type is fixed_amount

discountPercentage
integer<int64>

The discount percentage of discount code, 100=1%, available when discount_type is percentage

discountType
integer<int>

The discount type of the discount code, 1-percentage, 2-fixed_amount, the discountType of code, the discountPercentage will be effect when discountType is percentage, the discountAmount and currency will be effect when discountTYpe is fixed_amount

endTime
integer<*int64>

The end time of discount code can effect, editable after activate, utc time

metadata
object

Metadata,Map

name
string<*string>

The discount's name

planApplyGroup
object
planApplyType
integer<*int>

plan apply type, 0-apply for all, 1-apply for plans specified, 2-exclude for plans specified, 3-Apply to Plans by Groups(Billing Period Included), 4-Apply to Plans except by Groups(Billing Period Included)

planIds
integer<int64>[]

Ids of plan which discount code can effect, default effect all plans if not set

quantity
integer<*int64>

Quantity of code, default 0, set 0 to disable quantity management

startTime
integer<*int64>

The start time of discount code can effect, editable after activate, utc time

upgradeLongPlanOnly
boolean<*bool>

AdvanceConfig, true or false, will forbid for all except upgrade to longer plan if set true

upgradeOnly
boolean<*bool>

AdvanceConfig, true or false, will forbid for all except same interval upgrade action if set true

userLimit
integer<*int>

AdvanceConfig, The limit of every customer can apply, the recurring apply not involved, 0-unlimited

userScope
integer<*int>

AdvanceConfig, Apply user scope,0-for all, 1-for only new user, 2-for only renewals, renewals is upgrade&downgrade&renew

Response

200 - application/json
code
integer<int>
data
object
merchantId
integer<int64>
message
string<string>
redirect
string<string>
requestId
string<string>