Skip to main content

Overview

This endpoint returns key-level usage details without exposing provider-specific execution details.

Query Parameters

ParameterTypeDefault / LimitsNotes
pageintegerdefault 1, min 11-based page number
limitintegerdefault 50, min 1, max 100Page size
modelstringmax length 100Requested model name
modelVendorstringmax length 100Public model vendor
sceneenum-chat, image, audio, video, embedding, rerank, translation, music, 3d, realtime
accessChannelenum-platform or byok
startDatestring-Inclusive lower bound; accepts RFC3339 with timezone or YYYY-MM-DD
endDatestring-Inclusive upper bound; accepts RFC3339 with timezone or YYYY-MM-DD
If both startDate and endDate are present, startDate must be earlier than or equal to endDate.

Notes

  • Monetary fields are USD-only. CNY inputs are retired and return 400 currency_retired.
  • The response is paginated.
  • The response includes public billing and reporting fields only.
  • Each usage item can include billing_transaction_id after the underlying request reaches settled billing state. Use it together with request_id for request-level reconciliation.
  • Provider execution details are intentionally hidden from public management responses.

Example

curl "https://api.tokenlab.sh/v1/management/api-keys/key_abc123def456/usage?page=1&limit=20&scene=video&accessChannel=platform&startDate=2026-03-01&endDate=2026-03-31" \
  -H "Authorization: Bearer mt-your-management-token"

Request / Response

Use the interactive OpenAPI panel above for the exact schema and response fields.

Response example

{
  "api_key": {
    "id": "key_abc123def456",
    "name": "Backend Worker",
    "key_prefix": "sk-live...",
    "status": "active",
    "limit_amount": 500,
    "limit_amount_decimal": "500",
    "used_amount": 148.25,
    "used_amount_decimal": "148.25",
    "models": [
      "gpt-5-mini",
      "claude-3-7-sonnet"
    ],
    "expires_at": "2026-12-31T23:59:59.000Z",
    "last_used_at": "2026-07-08T03:12:45.000Z",
    "created_at": "2026-07-01T10:00:00.000Z"
  },
  "items": [
    {
      "request_id": "req_abc123",
      "billing_transaction_id": "billtxn_abc123",
      "model": "gpt-5-mini",
      "logical_model": "gpt-5-mini",
      "model_vendor": "OpenAI",
      "scene": "chat",
      "access_channel": "platform",
      "usage_unit": "per_token",
      "usage_quantity": 1500,
      "usage_quantity_decimal": "1500",
      "prompt_tokens": 1000,
      "completion_tokens": 500,
      "total_tokens": 1500,
      "cache_read_tokens": 0,
      "cache_write_tokens": 0,
      "cache_write_tokens_5m": 0,
      "cache_write_tokens_1h": 0,
      "cost": 0.0012,
      "cost_decimal": "0.0012",
      "created_at": "2026-07-08T03:15:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "totalPages": 1
  },
  "summary": {
    "total_requests": 1,
    "total_cost": 0.0012,
    "total_cost_decimal": "0.0012",
    "total_prompt_tokens": 1000,
    "total_completion_tokens": 500,
    "total_tokens": 1500,
    "usage_unit_breakdown": [
      {
        "usage_unit": "per_token",
        "usage_quantity": 1500
      }
    ]
  },
  "breakdowns": {
    "by_model": [
      {
        "model": "gpt-5-mini",
        "logical_model": "gpt-5-mini",
        "model_vendor": "OpenAI",
        "requests": 1,
        "cost": 0.0012,
        "cost_decimal": "0.0012",
        "usage_quantity": 1500,
        "usage_quantity_decimal": "1500"
      }
    ],
    "by_logical_model": [
      {
        "model": "gpt-5-mini",
        "logical_model": "gpt-5-mini",
        "model_vendor": "OpenAI",
        "requests": 1,
        "cost": 0.0012,
        "cost_decimal": "0.0012",
        "usage_quantity": 1500,
        "usage_quantity_decimal": "1500"
      }
    ],
    "by_model_vendor": [
      {
        "model_vendor": "OpenAI",
        "requests": 1,
        "cost": 0.0012
      }
    ],
    "by_scene": [
      {
        "scene": "chat",
        "requests": 1,
        "cost": 0.0012,
        "cost_decimal": "0.0012"
      }
    ],
    "by_access_channel": [
      {
        "access_channel": "platform",
        "requests": 1,
        "cost": 0.0012
      }
    ],
    "daily_cost": [
      {
        "date": "2026-07-08T00:00:00.000Z",
        "cost": 0.0012,
        "cost_decimal": "0.0012"
      }
    ]
  }
}

Important fields

api_key
object
API key summary using the same fields as list/create/update responses.
items
array
Paginated usage rows.
pagination
object
Pagination metadata with page, limit, total, and totalPages.
summary
object
Aggregated totals for the selected filters.
breakdowns
object
Aggregated breakdowns for the selected filters.
items[].request_id
string | null
Public request identifier for support and reconciliation.
items[].billing_transaction_id
string | null
Settled billing transaction id when available.
items[].model
string
Requested public model name.
items[].logical_model
string
Logical public model used for reporting.
items[].model_vendor
string | null
Public model vendor.
items[].scene
string | null
Public request scene.
items[].access_channel
string
platform or byok.
items[].usage_unit
string
Billing usage unit, such as per_token.
items[].usage_quantity
number
Usage quantity as a JSON number for display.
items[].usage_quantity_decimal
string
Exact usage quantity as a decimal string.
items[].prompt_tokens
number
Prompt token count.
items[].completion_tokens
number
Completion token count.
items[].total_tokens
number
Total token count.
items[].cache_read_tokens
number
Cache read token count.
items[].cache_write_tokens
number
Total cache write token count.
items[].cache_write_tokens_5m
number
Five-minute cache write token count.
items[].cache_write_tokens_1h
number
One-hour cache write token count.
items[].cost
number
Cost in USD as a JSON number for display.
items[].cost_decimal
string
Exact cost in USD as a decimal string.
items[].created_at
string
ISO usage row timestamp.
summary.total_requests
number
Total request count.
summary.total_cost
number
Total cost in USD as a JSON number for display.
summary.total_cost_decimal
string
Exact total cost in USD as a decimal string.
summary.total_prompt_tokens
number
Total prompt tokens.
summary.total_completion_tokens
number
Total completion tokens.
summary.total_tokens
number
Total tokens.
summary.usage_unit_breakdown
array
Usage quantity grouped by usage unit.
breakdowns.by_model
array
Breakdown by requested public model.
breakdowns.by_logical_model
array
Breakdown by logical public model.
breakdowns.by_model_vendor
array
Breakdown by public model vendor.
breakdowns.by_scene
array
Breakdown by public request scene.
breakdowns.by_access_channel
array
Breakdown by platform or byok access channel.
breakdowns.daily_cost
array
Daily cost trend.