Skip to main content
POST
/
merchant
/
plan
/
active_price_change
/
confirm
Confirm Active Plan Price Change
curl --request POST \
  --url https://api.unibee.dev/merchant/plan/active_price_change/confirm \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "confirmOldAmount": 123,
  "newAmount": 123,
  "planId": 123,
  "reason": "<string>"
}
'
{
  "code": 123,
  "data": {
    "activeAffectedSubscriptions": 123,
    "newAmount": 123,
    "oldAmount": 123,
    "planId": 123,
    "totalAffectedSubscriptions": 123
  },
  "merchantId": 123,
  "message": "<string>",
  "redirect": "<string>",
  "requestId": "<string>"
}

Endpoint Overview

POST https://api.unibee.dev/merchant/plan/active_price_change/confirm Confirm and apply price change for an active plan.

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
confirmOldAmountintegerYesOld amount expected by caller, used for optimistic locking
newAmountintegerYesNew amount (in smallest currency unit, e.g. cents)
planIdintegerYesTarget planId, must be active
reasonstringNoReason or note for this price change

Request examples

cURL

curl -X POST "https://api.unibee.dev/merchant/plan/active_price_change/confirm" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "confirmOldAmount": 0,
  "newAmount": 0,
  "planId": 0,
  "reason": ""
}'

Sandbox

curl -X POST "https://api-sandbox.unibee.top/merchant/plan/active_price_change/confirm" \
  -H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "confirmOldAmount": 0,
  "newAmount": 0,
  "planId": 0,
  "reason": ""
}'

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.activeAffectedSubscriptionsintegerActive/processing subscriptions whose future billing will be affected
data.newAmountintegerNew amount after change
data.oldAmountintegerOld amount before change
data.planIdintegerTarget planId
data.totalAffectedSubscriptionsintegerTotal subscriptions that have used or are using this plan (by status set)
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

Confirm and apply price change for an active plan.

confirmOldAmount
integer<int64>
required

Old amount expected by caller, used for optimistic locking

newAmount
integer<int64>
required

New amount (in smallest currency unit, e.g. cents)

planId
integer<int64>
required

Target planId, must be active

reason
string<string>

Reason or note for this price change

Response

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