Boostigo Developers

Recharge

#POST /likee/recharge

Create a Likee diamond recharge order. Boostigo re-identifies the account, checks the price and your key balance, debits the key, and returns an order_id. Delivery happens asynchronously — you receive a webhook and can poll GET /orders/{order_id}.

Method POST
URL https://api.boostigo.io/likee/recharge
Auth Authorization: Bearer YOUR_API_KEY
Headers Accept: application/json, Content-Type: application/json

#Request body

{
  "likee_id": "1137852558",
  "likee_uid": "1278112264",
  "diamond": 5000,
  "amount": "95.00",
  "request_id": "ORDER-CLIENT-10001"
}
Field Type Required Description
likee_id string yes Public Likee ID entered by the end user
likee_uid string yes UID returned by Identify. Boostigo re-identifies likee_id server-side and rejects a mismatch (LIKEE_UID_MISMATCH) — nothing is charged.
diamond integer yes Diamonds to deliver. Must be one of the amounts configured for your key (INVALID_DIAMOND_AMOUNT otherwise).
amount string yes Your configured selling price for that diamond amount, e.g. "95.00". The server price is authoritative — see Pricing & amount.
request_id string yes Your unique reference (1–100 chars: letters, digits, _ . - :). Unique per API key — see Duplicate protection.

#cURL

curl --request POST \
  "https://api.boostigo.io/likee/recharge" \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  --header "Content-Type: application/json" \
  --data '{"likee_id":"1137852558","likee_uid":"1278112264","diamond":5000,"amount":"95.00","request_id":"ORDER-CLIENT-10001"}'

#Response 201 Created

{
  "success": true,
  "data": {
    "order_id": "BST-LKE-8F72A19X",
    "request_id": "ORDER-CLIENT-10001",
    "platform": "likee",
    "likee_id": "1137852558",
    "likee_uid": "1278112264",
    "diamond": 5000,
    "amount": "95.00",
    "currency": "USD",
    "status": "processing",
    "created_at": "2026-09-07T12:30:00Z",
    "updated_at": "2026-09-07T12:30:00Z"
  }
}

success: true means the request was accepted and your key was debited. It does not mean the diamonds were delivered yet. Use status (processingsuccess / failed). On failed, the amount is refunded to your key automatically.

#Duplicate request_id200

The existing order is returned with "duplicate": true. No second recharge, no second debit.

#Errors

HTTP code Meaning
422 INVALID_REQUEST_ID Missing/invalid request_id
422 INVALID_LIKEE_ID Malformed likee_id
404 USER_NOT_FOUND Likee account does not exist
422 LIKEE_UID_MISMATCH likee_uid does not belong to likee_id
422 INVALID_DIAMOND_AMOUNT Diamond amount not configured for your key
422 AMOUNT_MISMATCH amount differs from your configured price
402 INSUFFICIENT_BALANCE API key balance is lower than amount
400 INVALID_JSON Body is not a JSON object
429 RATE_LIMIT_EXCEEDED Too many requests
503 SERVICE_UNAVAILABLE Likee identity service unreachable — retry later with the same request_id

#PHP

<?php
$payload = ["likee_id" => "1137852558", "likee_uid" => "1278112264", "diamond" => 5000, "amount" => "95.00", "request_id" => "ORDER-CLIENT-10001"];
$ch = curl_init("https://api.boostigo.io/likee/recharge");
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ["Authorization: Bearer YOUR_API_KEY", "Accept: application/json", "Content-Type: application/json"],
  CURLOPT_POSTFIELDS => json_encode($payload),
]);
$res = json_decode(curl_exec($ch), true);
if ($res["success"]) { $orderId = $res["data"]["order_id"]; /* save it with your request_id */ }
else { echo $res["error"]["code"], ": ", $res["error"]["message"]; }

#Node.js

const res = await fetch("https://api.boostigo.io/likee/recharge", {
  method: "POST",
  headers: { Authorization: "Bearer YOUR_API_KEY", Accept: "application/json", "Content-Type": "application/json" },
  body: JSON.stringify({ likee_id: "1137852558", likee_uid: "1278112264", diamond: 5000, amount: "95.00", request_id: "ORDER-CLIENT-10001" }),
});
const json = await res.json();
if (json.success) console.log("order", json.data.order_id, json.data.status);
else console.error(json.error.code, json.error.message);