Account usage
Page through recorded business calls across your account API keys.
API selector
Page through recorded business calls across your account API keys.
Page through recorded business calls across your account API keys.
GET /api/skill-api/v1/account/usageSend 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/usage| Method | GET |
| Path | /api/skill-api/v1/account/usage |
| 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. |
pageNum | integer | optional | One-based page number. Default: 1 Minimum: 1 |
pageSize | integer | optional | Rows per page. Default: 20 Minimum: 1 Maximum: 100 |
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/usage?startTime=1777408000000&endTime=1780000000000&pageNum=1&pageSize=20"Complete ResponseData envelope. cost is processing time in milliseconds, not charged credits.
{
"code": 0,
"msg": null,
"data": {
"scope": "API_KEY_CALLS",
"observedAt": "1780000000000",
"startTime": "1777408000000",
"endTime": "1780000000000",
"grossChargedCredit": "8",
"calls": {
"records": [
{
"id": "1",
"createTime": "1779999999000",
"apiKeyId": "2",
"path": "/api/skill-api/v1/skills/example/run",
"method": "POST",
"callResult": "SUCCESS",
"chargeStatus": "CHARGED",
"chargedCredit": "8",
"requestId": "example-request",
"latencyMs": 120
}
],
"total": "1",
"size": "20",
"current": "1",
"pages": "1"
}
},
"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 | Account API Key business-call usage on success; null on an error. |
data.scope | string | optional | API Key business-call scope, not the full account ledger or JWT activity. Allowed: API_KEY_CALLS |
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.grossChargedCredit | string | optional | Windowed sum of actual chargedCredit for CHARGED business calls before refunds; decimal string. |
data.calls | object | optional | Page of business calls, ordered by record ID descending; free account queries are excluded. |
data.calls.records | array | optional | Call records on this page, including failed, rejected, and uncharged calls. |
data.calls.records[] | object | required | Item in data calls records. |
data.calls.records[].id | string | optional | API Key call record ID, decimal string. |
data.calls.records[].createTime | string | null | optional | Call creation time in UTC epoch milliseconds, or null. |
data.calls.records[].apiKeyId | string | null | optional | Calling API Key ID, decimal string, or null for a rejected call without an identified key. |
data.calls.records[].path | string | null | optional | Recorded request path, or null. |
data.calls.records[].method | string | null | optional | Recorded HTTP method, or null. |
data.calls.records[].callResult | string | optional | Business call outcome, including rejected and failed requests. Allowed: SUCCESS, FAILED, REJECTED |
data.calls.records[].chargeStatus | string | null | optional | Recorded charge state (for example CHARGED, SKIPPED, FAILED, or NOT_CHARGED), or null. |
data.calls.records[].chargedCredit | string | null | optional | Credits actually charged for this call, decimal string, or null. |
data.calls.records[].requestId | string | null | optional | Request correlation ID, or null. |
data.calls.records[].latencyMs | integer | null | optional | Call latency in milliseconds, or null. |
data.calls.total | string | optional | Total matching call records, decimal string. |
data.calls.size | string | optional | Requested page size, decimal string. |
data.calls.current | string | optional | Current one-based page number, decimal string. |
data.calls.pages | string | optional | Calculated page count, decimal string. |
| 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. |
grossChargedCredit sums charged business API Key calls before refunds, not all account-ledger consumption. calls includes failed, rejected, and uncharged business calls, but excludes free account queries and JWT activity.
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.