Skip to main content
GET
/
merchant
/
metric
/
user
/
history
/
metric_by_invoice
Query User History Limit Metric By Invoice (History Query Mode, limit_metered and limit_recurring only)
curl --request GET \
  --url https://api.unibee.dev/merchant/metric/user/history/metric_by_invoice \
  --header 'Authorization: Bearer <token>'
{
  "code": 123,
  "data": {
    "isLatestPaidInvoice": true,
    "userHistoryMetric": {
      "invoiceId": "<string>",
      "limitStats": [
        {
          "maxEventId": 123,
          "metricLimit": {
            "MerchantId": 123,
            "MetricId": 123,
            "PlanLimits": [
              {
                "createTime": 123,
                "gmtModify": 123,
                "id": 123,
                "merchantId": 123,
                "merchantMetric": {
                  "aggregationProperty": "<string>",
                  "aggregationType": 123,
                  "archived": true,
                  "carryoverProrationEnabled": true,
                  "code": "<string>",
                  "createTime": 123,
                  "gmtModify": 123,
                  "id": 123,
                  "merchantId": 123,
                  "metaData": {},
                  "metricDescription": "<string>",
                  "metricName": "<string>",
                  "prorationRefundEnabled": true,
                  "type": 123,
                  "unit": "<string>"
                },
                "metricId": 123,
                "metricLimit": 123,
                "planId": 123,
                "quantity": 123
              }
            ],
            "TotalLimit": 123,
            "UserId": 123,
            "aggregationProperty": "<string>",
            "aggregationType": 123,
            "code": "<string>",
            "metricName": "<string>",
            "quotaAdjustments": [
              {
                "adjustmentTime": 123,
                "id": 123,
                "merchantMemberEmail": "<string>",
                "merchantMemberId": 123,
                "previousPeriodLimit": 123,
                "previousPeriodUsed": 123,
                "quotaAmount": 123,
                "quotaType": "<string>",
                "reason": "<string>"
              }
            ],
            "type": 123
          },
          "minEventId": 123,
          "totalLimit": 123,
          "usedValue": 123
        }
      ]
    }
  },
  "merchantId": 123,
  "message": "<string>",
  "redirect": "<string>",
  "requestId": "<string>"
}

Endpoint Overview

GET https://api.unibee.dev/merchant/metric/user/history/metric_by_invoice Query User History Limit Metric By Invoice (History Query Mode, limit_metered and limit_recurring only)

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.

Query parameters

NameTypeRequiredDescription
invoiceIdstringYesThe unique id of invoice

Request examples

cURL

curl -X GET "https://api.unibee.dev/merchant/metric/user/history/metric_by_invoice" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Sandbox

curl -X GET "https://api-sandbox.unibee.top/merchant/metric/user/history/metric_by_invoice" \
  -H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
  -H "Content-Type: application/json"

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.isLatestPaidInvoicebooleanTrue when current-metric path was used (queried invoice is the subscription’s latest paid invoice), false when snapshot or history path was used
data.userHistoryMetricobject
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.

Query Parameters

invoiceId
string<string>
required

The unique id of invoice

Response

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