Skip to main content
POST
/
merchant
/
subscription
/
cancel_at_period_end
Cancel Subscription At Period End
curl --request POST \
  --url https://api.unibee.dev/merchant/subscription/cancel_at_period_end \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "productId": 123,
  "subscriptionId": "<string>",
  "userId": 123
}
'
{
  "code": 123,
  "data": {},
  "merchantId": 123,
  "message": "<string>",
  "redirect": "<string>",
  "requestId": "<string>"
}

Endpoint Overview

POST https://api.unibee.dev/merchant/subscription/cancel_at_period_end Cancel subscription at period end, the subscription will not turn to ‘cancelled’ at once but will cancelled at period end time, no invoice will generate, the flag ‘cancelAtPeriodEnd’ of subscription will be enabled

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
productIdintegerNodefault product will use if productId not specified and subscriptionId is blank
subscriptionIdstringNoSubscriptionId, id of subscription, either SubscriptionId or UserId needed, The only one active subscription of userId will effect
userIdintegerNoUserId, either SubscriptionId or UserId needed, The only one active subscription will effect if userId provide instead of subscriptionId

Request examples

cURL

curl -X POST "https://api.unibee.dev/merchant/subscription/cancel_at_period_end" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "productId": 0,
  "subscriptionId": "id_example",
  "userId": 0
}'

Sandbox

curl -X POST "https://api-sandbox.unibee.top/merchant/subscription/cancel_at_period_end" \
  -H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "productId": 0,
  "subscriptionId": "id_example",
  "userId": 0
}'

Response

Success responses return a JSON envelope with code, data, message, redirect, and requestId. code 0 indicates success. The response schema for this endpoint is shown below.

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

Cancel subscription at period end, the subscription will not turn to 'cancelled' at once but will cancelled at period end time, no invoice will generate, the flag 'cancelAtPeriodEnd' of subscription will be enabled

productId
integer<int64>

default product will use if productId not specified and subscriptionId is blank

subscriptionId
string<string>

SubscriptionId, id of subscription, either SubscriptionId or UserId needed, The only one active subscription of userId will effect

userId
integer<int64>

UserId, either SubscriptionId or UserId needed, The only one active subscription will effect if userId provide instead of subscriptionId

Response

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