Manual Adjust Metric Limit
curl --request POST \
--url https://api.unibee.dev/merchant/metric/limit_adjust \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 123,
"metricCode": "<string>",
"reason": "<string>",
"idempotencyKey": "<string>",
"productId": 123,
"subscriptionId": "<string>",
"userId": 123
}
'import requests
url = "https://api.unibee.dev/merchant/metric/limit_adjust"
payload = {
"amount": 123,
"metricCode": "<string>",
"reason": "<string>",
"idempotencyKey": "<string>",
"productId": 123,
"subscriptionId": "<string>",
"userId": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 123,
metricCode: '<string>',
reason: '<string>',
idempotencyKey: '<string>',
productId: 123,
subscriptionId: '<string>',
userId: 123
})
};
fetch('https://api.unibee.dev/merchant/metric/limit_adjust', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.unibee.dev/merchant/metric/limit_adjust",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 123,
'metricCode' => '<string>',
'reason' => '<string>',
'idempotencyKey' => '<string>',
'productId' => 123,
'subscriptionId' => '<string>',
'userId' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.unibee.dev/merchant/metric/limit_adjust"
payload := strings.NewReader("{\n \"amount\": 123,\n \"metricCode\": \"<string>\",\n \"reason\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"productId\": 123,\n \"subscriptionId\": \"<string>\",\n \"userId\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.unibee.dev/merchant/metric/limit_adjust")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 123,\n \"metricCode\": \"<string>\",\n \"reason\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"productId\": 123,\n \"subscriptionId\": \"<string>\",\n \"userId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unibee.dev/merchant/metric/limit_adjust")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 123,\n \"metricCode\": \"<string>\",\n \"reason\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"productId\": 123,\n \"subscriptionId\": \"<string>\",\n \"userId\": 123\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"data": {
"success": true
},
"merchantId": 123,
"message": "<string>",
"redirect": "<string>",
"requestId": "<string>"
}Metric Limit Quota
Manual Adjust Metric Limit
POST
/
merchant
/
metric
/
limit_adjust
Manual Adjust Metric Limit
curl --request POST \
--url https://api.unibee.dev/merchant/metric/limit_adjust \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 123,
"metricCode": "<string>",
"reason": "<string>",
"idempotencyKey": "<string>",
"productId": 123,
"subscriptionId": "<string>",
"userId": 123
}
'import requests
url = "https://api.unibee.dev/merchant/metric/limit_adjust"
payload = {
"amount": 123,
"metricCode": "<string>",
"reason": "<string>",
"idempotencyKey": "<string>",
"productId": 123,
"subscriptionId": "<string>",
"userId": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 123,
metricCode: '<string>',
reason: '<string>',
idempotencyKey: '<string>',
productId: 123,
subscriptionId: '<string>',
userId: 123
})
};
fetch('https://api.unibee.dev/merchant/metric/limit_adjust', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.unibee.dev/merchant/metric/limit_adjust",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 123,
'metricCode' => '<string>',
'reason' => '<string>',
'idempotencyKey' => '<string>',
'productId' => 123,
'subscriptionId' => '<string>',
'userId' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.unibee.dev/merchant/metric/limit_adjust"
payload := strings.NewReader("{\n \"amount\": 123,\n \"metricCode\": \"<string>\",\n \"reason\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"productId\": 123,\n \"subscriptionId\": \"<string>\",\n \"userId\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.unibee.dev/merchant/metric/limit_adjust")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 123,\n \"metricCode\": \"<string>\",\n \"reason\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"productId\": 123,\n \"subscriptionId\": \"<string>\",\n \"userId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unibee.dev/merchant/metric/limit_adjust")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 123,\n \"metricCode\": \"<string>\",\n \"reason\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"productId\": 123,\n \"subscriptionId\": \"<string>\",\n \"userId\": 123\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"data": {
"success": true
},
"merchantId": 123,
"message": "<string>",
"redirect": "<string>",
"requestId": "<string>"
}Endpoint Overview
POSThttps://api.unibee.dev/merchant/metric/limit_adjust
Manual Adjust Metric Limit
Authorization
All UniBee Merchant API requests require authentication via API key.| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <your_api_key> |
Content-Type | Yes | application/json (for request body) |
Parameters
Parameters for this endpoint are listed below. The schema is also shown in the Try it panel.Request body
| Name | Type | Required | Description |
|---|---|---|---|
amount | integer | Yes | Adjustment amount (positive to increase, negative to decrease, cannot be 0) |
metricCode | string | Yes | Metric Code |
productId | integer | No | Product ID, default 0 for default product |
reason | string | Yes | Reason for adjustment |
subscriptionId | string | No | Subscription ID (priority, use this if you know the subscription) |
userId | integer | No | User ID (alternative to subscriptionId) |
Request examples
cURL
curl -X POST "https://api.unibee.dev/merchant/metric/limit_adjust" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 0,
"metricCode": "",
"productId": 0,
"reason": "",
"subscriptionId": "id_example",
"userId": 0
}'
Sandbox
curl -X POST "https://api-sandbox.unibee.top/merchant/metric/limit_adjust" \
-H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 0,
"metricCode": "",
"productId": 0,
"reason": "",
"subscriptionId": "id_example",
"userId": 0
}'
Response
Success responses return a JSON envelope withcode, data, message, redirect, and requestId. code 0 indicates success.
| Field | Type | Description |
|---|---|---|
code | integer | Response code. 0 = success |
data | object | Response payload |
data.success | boolean | |
message | string | Human-readable message |
requestId | string | Request ID for support |
Error handling
| HTTP status | Meaning |
|---|---|
| 400 | Bad request — invalid or missing parameters. Check message in the body. |
| 401 | Unauthorized — missing or invalid API key. |
| 404 | Not found — invalid path or resource. |
| 500 | Server error — retry with backoff. |
code in the response body is non-zero, check message for details. Use requestId when contacting support.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Adjustment amount (positive to increase, negative to decrease, cannot be 0)
Metric Code
Reason for adjustment
Optional idempotency key, max 256 chars. Retrying the same key with the same adjustment returns success without applying twice.
Product ID, default 0 for default product
Subscription ID (priority, use this if you know the subscription)
User ID (alternative to subscriptionId)

