curl --request POST \
--url https://api.unibee.dev/merchant/credit/promo_credit_increment \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 123,
"currency": "<string>",
"userId": 123,
"description": "<string>",
"idempotencyKey": "<string>",
"name": "<string>"
}
'import requests
url = "https://api.unibee.dev/merchant/credit/promo_credit_increment"
payload = {
"amount": 123,
"currency": "<string>",
"userId": 123,
"description": "<string>",
"idempotencyKey": "<string>",
"name": "<string>"
}
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,
currency: '<string>',
userId: 123,
description: '<string>',
idempotencyKey: '<string>',
name: '<string>'
})
};
fetch('https://api.unibee.dev/merchant/credit/promo_credit_increment', 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/credit/promo_credit_increment",
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,
'currency' => '<string>',
'userId' => 123,
'description' => '<string>',
'idempotencyKey' => '<string>',
'name' => '<string>'
]),
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/credit/promo_credit_increment"
payload := strings.NewReader("{\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"userId\": 123,\n \"description\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"name\": \"<string>\"\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/credit/promo_credit_increment")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"userId\": 123,\n \"description\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unibee.dev/merchant/credit/promo_credit_increment")
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 \"currency\": \"<string>\",\n \"userId\": 123,\n \"description\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"data": {
"UserPromoCreditAccount": {
"amount": 123,
"createTime": 123,
"currency": "<string>",
"currencyAmount": 123,
"exchangeRate": 123,
"id": 123,
"payoutEnable": 123,
"rechargeEnable": 123,
"totalDecrementAmount": 123,
"totalIncrementAmount": 123,
"type": 123,
"userId": 123
},
"creditTransaction": {
"accountType": 123,
"bizId": "<string>",
"by": "<string>",
"createTime": 123,
"creditAmountAfter": 123,
"creditAmountBefore": 123,
"creditId": 123,
"currency": "<string>",
"deltaAmount": 123,
"deltaCurrencyAmount": 123,
"description": "<string>",
"exchangeRate": 123,
"id": 123,
"invoiceId": "<string>",
"merchantId": 123,
"name": "<string>",
"transactionId": "<string>",
"transactionType": 123,
"userId": 123
}
},
"merchantId": 123,
"message": "<string>",
"redirect": "<string>",
"requestId": "<string>"
}Promo Credit Increment
Increase user promo credit amount
curl --request POST \
--url https://api.unibee.dev/merchant/credit/promo_credit_increment \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 123,
"currency": "<string>",
"userId": 123,
"description": "<string>",
"idempotencyKey": "<string>",
"name": "<string>"
}
'import requests
url = "https://api.unibee.dev/merchant/credit/promo_credit_increment"
payload = {
"amount": 123,
"currency": "<string>",
"userId": 123,
"description": "<string>",
"idempotencyKey": "<string>",
"name": "<string>"
}
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,
currency: '<string>',
userId: 123,
description: '<string>',
idempotencyKey: '<string>',
name: '<string>'
})
};
fetch('https://api.unibee.dev/merchant/credit/promo_credit_increment', 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/credit/promo_credit_increment",
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,
'currency' => '<string>',
'userId' => 123,
'description' => '<string>',
'idempotencyKey' => '<string>',
'name' => '<string>'
]),
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/credit/promo_credit_increment"
payload := strings.NewReader("{\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"userId\": 123,\n \"description\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"name\": \"<string>\"\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/credit/promo_credit_increment")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"userId\": 123,\n \"description\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unibee.dev/merchant/credit/promo_credit_increment")
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 \"currency\": \"<string>\",\n \"userId\": 123,\n \"description\": \"<string>\",\n \"idempotencyKey\": \"<string>\",\n \"name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"data": {
"UserPromoCreditAccount": {
"amount": 123,
"createTime": 123,
"currency": "<string>",
"currencyAmount": 123,
"exchangeRate": 123,
"id": 123,
"payoutEnable": 123,
"rechargeEnable": 123,
"totalDecrementAmount": 123,
"totalIncrementAmount": 123,
"type": 123,
"userId": 123
},
"creditTransaction": {
"accountType": 123,
"bizId": "<string>",
"by": "<string>",
"createTime": 123,
"creditAmountAfter": 123,
"creditAmountBefore": 123,
"creditId": 123,
"currency": "<string>",
"deltaAmount": 123,
"deltaCurrencyAmount": 123,
"description": "<string>",
"exchangeRate": 123,
"id": 123,
"invoiceId": "<string>",
"merchantId": 123,
"name": "<string>",
"transactionId": "<string>",
"transactionType": 123,
"userId": 123
}
},
"merchantId": 123,
"message": "<string>",
"redirect": "<string>",
"requestId": "<string>"
}Endpoint Overview
POSThttps://api.unibee.dev/merchant/credit/promo_credit_increment
Increase user promo credit amount
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 | The amount to increase, should greater than 0 |
currency | string | Yes | currency of recharge |
description | string | No | description of increase action |
name | string | No | name of increase action |
userId | integer | Yes | filter id of user |
Request examples
cURL
curl -X POST "https://api.unibee.dev/merchant/credit/promo_credit_increment" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 0,
"currency": "",
"description": "",
"name": "",
"userId": 0
}'
Sandbox
curl -X POST "https://api-sandbox.unibee.top/merchant/credit/promo_credit_increment" \
-H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 0,
"currency": "",
"description": "",
"name": "",
"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.UserPromoCreditAccount | object | |
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
Increase user promo credit amount
The amount to increase, should greater than 0
currency of recharge
filter id of user
description of increase action
Optional. Client-supplied idempotency key, max 256 chars (UUID recommended). Retrying the same key returns the original credit transaction and does NOT increase the balance a second time. Reusing the same key with a different amount or currency is rejected. Increment and decrement use separate namespaces and are isolated per merchant and user, so reusing the same key on the decrement endpoint, under another merchant, or for another user does not collide. If two requests with the same key are still in-flight, the later one returns an error and should be retried by the caller.
name of increase action

