Account credits
Read the committed account credit balance and gross ledger consumption.
API selector
Read the committed account credit balance and gross ledger consumption.
Read the committed account credit balance and gross ledger consumption.
GET /api/skill-api/v1/account/creditsSend a GENERAL user API key in the Authorization bearer header. Website JWTs, plugin keys, and installation tokens cannot call this endpoint. Zero or negative balance does not block this free GET.
Authorization: Bearer YOUR_API_KEYRead committed account data without spending credits or adding a business API call. Both queries share a limit of 60 requests per account per 60 seconds.
/api/skill-api/v1/account/credits| Method | GET |
| Path | /api/skill-api/v1/account/credits |
| Auth | Bearer API key |
| Request body | None. Optional parameters are query fields. |
The API uses UTC epoch milliseconds. In Online test, enter UTC date and time; the tester converts those UTC fields to milliseconds without using your browser time zone. With no dates, the preceding 30 days is used. A single bound fills the other with a 30-day span or now. The window is [startTime, endTime), no more than 180 days, and cannot end in the future.
| Name | Type | Required | Description |
|---|---|---|---|
startTime |
Send one real, free account GET with your user API key. No request runs until you select Run API.
string |
| optional |
Optional UTC epoch milliseconds, inclusive. Enter UTC date and time in the tester; the API receives a decimal millisecond string. |
endTime | string | optional | Optional UTC epoch milliseconds, exclusive. The window must end no later than the request time. |
2026-04-28T20:26:40.000Z → 1777408000000; 2026-05-28T20:26:40.000Z → 1780000000000.
curl -H "Authorization: Bearer YOUR_API_KEY" "https://api.nexscope.ai/api/skill-api/v1/account/credits?startTime=1777408000000&endTime=1780000000000"Complete ResponseData envelope. cost is processing time in milliseconds, not charged credits.
{
"code": 0,
"msg": null,
"data": {
"scope": "ACCOUNT",
"observedAt": "1780000000000",
"startTime": "1777408000000",
"endTime": "1780000000000",
"permanentCredit": "120",
"cycleCredit": "30",
"debt": "5",
"netCredit": "145",
"grossConsumedCredit": "40",
"quota": null
},
"ts": "1780000000000",
"time": "2026-05-28 20:26:40",
"cost": "13",
"traceId": null
}Int64 credits, IDs, page totals, and epoch times are decimal strings; integer status and latency fields remain JSON numbers. Optional fields may be null or absent on error.
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | optional | Business result code. Only 0 means success, even when HTTP is 200. |
msg | string | null | optional | Optional business message; may be null or omitted on success. |
ts | string | optional | Server response timestamp, UTC epoch milliseconds as a decimal string. |
time | string | optional | Server-formatted response time (yyyy-MM-dd HH:mm:ss); its zone is not specified by this field. |
cost | string | optional | Request processing duration in milliseconds, not credits. -1 means non-Web context. |
traceId | string | null | optional | Optional error trace ID; may be null or omitted on success. |
data | object | null | optional | Committed account credit snapshot on success; null on an error. |
data.scope | string | optional | Account ledger scope. Allowed: ACCOUNT |
data.observedAt | string | optional | UTC epoch milliseconds when this committed-data read was observed. |
data.startTime | string | optional | Actual inclusive UTC epoch-millisecond window start. |
data.endTime | string | optional | Actual exclusive UTC epoch-millisecond window end. |
data.permanentCredit | string | optional | Permanent credits in the committed account balance; decimal string. |
data.cycleCredit | string | optional | Currently valid cycle credits in the committed balance; decimal string. |
data.debt | string | optional | Outstanding credit debt, decimal string. |
data.netCredit | string | optional | permanentCredit + cycleCredit − debt; may be negative and does not guarantee a paid call. |
data.grossConsumedCredit | string | optional | Windowed settled account-ledger consumption before refunds; excludes top-ups, admin adjustments, expiry, and debt repayment. Decimal string. |
data.quota | null | optional | Always null: there is no unified business-call quota. |
| HTTP 200 | Inspect ResponseData.code: only 0 is a successful business result. A nonzero code may still arrive with HTTP 200. |
| HTTP 400 | Invalid time window or pagination parameters return a parameter error. |
| HTTP 401 / 403 | The key is missing, invalid, or lacks access. |
| HTTP 429 | Shared account-query rate protection; Retry-After: 60 seconds. |
| HTTP 5xx | Service or dependency error; retry according to the returned status. |
netCredit = permanentCredit + cycleCredit − debt and may be negative; it does not guarantee a paid call. grossConsumedCredit is settled account-ledger consumption before refunds, excluding top-ups, admin adjustments, expiry, and debt repayment. quota is null because no unified business-call quota exists.
observedAt marks the read time. Only committed results appear; in-flight charges may arrive later. Separate queries do not share a snapshot, and usage pages can shift as calls complete.