API Reference

Get consumption statistics by source

Get consumption statistics by source. Returns data visible to the current account.

GET https://api.tu-zi.com/api/data/consumption_stats
Preview guide

Paste into an AI assistant to help with integration. Documentation and examples only; no real credentials.

Preview guide

Get consumption statistics by source

Updated · Reviewed

Endpoint and authentication

GET https://api.tu-zi.com/api/data/consumption_stats

Transport: json

Use an account system token and New-Api-User (account ID), or a valid site login session. Manage system tokens in account settings. Inference API keys are not substitutes.

Authorization: Bearer YOUR_SYSTEM_TOKEN
New-Api-User: YOUR_USER_ID

Before running

Replace https://api.tu-zi.com with this site origin (do not append /v1 twice), and YOUR_MODEL with the exact marketplace model ID. Install requests for Python; use Node.js 20+ and save JavaScript as .mjs. WebSocket samples list their own dependencies.

Set SYSTEM_TOKEN and USER_ID in the environment; keep system tokens out of frontend code. Replace YOUR_SYSTEM_TOKEN and YOUR_USER_ID in cURL.

Start with a minimal request, then read the result using the response fields below. For async APIs, a returned task ID requires polling; acceptance does not mean generation has finished.

Constraints

Aggregates can lag behind live logs. user_id/channel_id filters cannot broaden ordinary-user scope. Use start_time/end_time, not the log endpoint timestamp parameter names.

Query parameters

FieldTypeRequiredDescription / constraints
start_timeintegerYesStart time in Unix seconds. Example: 1793491200
end_timeintegerYesEnd time in Unix seconds, after the start. Example: 1793577600
interval_secondsintegerNoAggregation interval in seconds; 0 uses server aggregation behavior. Values: 0, 300, 600, 900, 1800, 3600, 18000, 36000, 43200, 86400 Example: 3600
selfbooleanNoUse true to force the current account, including when using an admin credential. Example: true
sourcestringNoData source; defaults to usage. Values: "usage", "mj", "task"
model_namestringNoFilter by model.

Response fields

FieldTypeDescription / constraints
successbooleanBusiness success; do not rely only on HTTP status.
messagestringResult or error message.
data.chartarray | nullChart rows, possibly empty or null.
data.tablearray | nullTable rows, possibly empty or null.
data.chart[].bucket_startintegerBucket start in Unix seconds.
data.table[].bucket_startintegerBucket start in Unix seconds.
data.chart[].bucket_endintegerBucket end in Unix seconds.
data.table[].bucket_endintegerBucket end in Unix seconds.
data.chart[].model_namestringModel name.
data.table[].model_namestringModel name.
data.chart[].user_idintegerAccount ID.
data.table[].user_idintegerAccount ID.
data.chart[].call_countintegerCall count.
data.table[].call_countintegerCall count.
data.chart[].prompt_tokensintegerInput tokens.
data.table[].prompt_tokensintegerInput tokens.
data.chart[].completion_tokensintegerOutput tokens.
data.table[].completion_tokensintegerOutput tokens.
data.chart[].total_tokensintegerTotal tokens.
data.table[].total_tokensintegerTotal tokens.
data.chart[].quotaintegerConsumed quota in internal units.
data.table[].quotaintegerConsumed quota in internal units.
data.chart[].amountnumberAmount converted using site quota settings.
data.table[].amountnumberAmount converted using site quota settings.

Illustrative response; some endpoints show essential fields only. Optional fields may be absent.

{
  "success": true,
  "data": {
    "chart": [],
    "table": []
  }
}

Errors and retries

Check HTTP status and success. Business validation errors may return HTTP 200 with {"success":false,"message":"..."}; some include error.code. Authentication may return 401/403 and rate limiting 429. HTTP 200 alone does not guarantee success.

Use bounded exponential backoff for reads. Do not blindly retry task creation, generation, or key mutations, to avoid duplicate billing or execution.