Verwaltung

API-Key-Nutzung abrufen

Gibt paginierte Nutzungsdetails für einen Benutzer-API-Key zurück.

GEThttps://api.tokenlab.sh/v1/management/api-keys/{keyId}/usage

Überblick

Dieser Endpunkt gibt Nutzungsdetails auf API-Key-Ebene zurück, ohne physische Routing-Metadaten offenzulegen.

Abfrageparameter

ParameterTypStandard / GrenzenBeschreibung
pageintegerStandard 1, min. 1Seitennummer ab 1
limitintegerStandard 50, min. 1, max. 100Anzahl Einträge pro Seite
modelstringmax. Länge 100Angeforderter Modellname
modelVendorstringmax. Länge 100Öffentlicher Modellanbieter
sceneenum-chat, image, audio, video, embedding, rerank, translation, music, 3d, realtime
startDatestring-Inklusive Untergrenze; akzeptiert RFC3339 mit Zeitzone oder YYYY-MM-DD
endDatestring-Inklusive Obergrenze; akzeptiert RFC3339 mit Zeitzone oder YYYY-MM-DD

Wenn startDate und endDate zusammen angegeben werden, muss startDate kleiner oder gleich endDate sein.

Hinweise

  • Geldbetragsfelder unterstützen ausschließlich USD.

  • Die Antwort ist paginiert.

  • Die Antwort enthält nur öffentliche Reporting- und Billing-Felder.

  • Sobald die zugrunde liegende Anfrage abgerechnet wurde, kann jede Usage-Zeile zusätzlich billing_transaction_id enthalten. Verwenden Sie den Wert zusammen mit request_id für den Abgleich auf Anfrageebene.

  • Interne Routing- und physische Kanalmetadaten werden ausgeblendet.

Beispiel

Anfrage

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

Anfrage / Antwort

Diese Seite enthält das OpenAPI-Schema und kopierbare Anfragebeispiele. Senden Sie Verwaltungsanfragen mit einem Management Token über Ihr Terminal oder Ihren Client; direktes Senden ist auf dieser Seite nicht verfügbar.

Antwortbeispiel

Antwort

200 OK
{
  "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.6-luna",
      "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",
    "delivery_policy": null
  },
  "items": [
    {
      "request_id": "req_abc123",
      "billing_transaction_id": "billtxn_abc123",
      "model": "gpt-5.6-luna",
      "logical_model": "gpt-5.6-luna",
      "model_vendor": "OpenAI",
      "scene": "chat",
      "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",
      "requested_policy": null,
      "resolved_tier": null,
      "charged_price_basis": null
    }
  ],
  "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.6-luna",
        "logical_model": "gpt-5.6-luna",
        "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.6-luna",
        "logical_model": "gpt-5.6-luna",
        "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"
      }
    ],
    "daily_cost": [
      {
        "date": "2026-07-08T00:00:00.000Z",
        "cost": 0.0012,
        "cost_decimal": "0.0012"
      }
    ]
  }
}

Wichtige Felder

api_keyobject
API-Schlüsselübersicht mit denselben Feldern wie die Antworten für Auflisten, Erstellen und Aktualisieren.
itemsarray
Paginierte Nutzungsdatensätze.
paginationobject
Paginierungsmetadaten mit page, limit, total und totalPages.
summaryobject
Aggregierte Summen für die ausgewählten Filter.
breakdownsobject
Aggregierte Aufschlüsselungen für die ausgewählten Filter.
items[].request_idstring | null
Öffentliche Anfrage-ID für Support und Abgleich.
items[].billing_transaction_idstring | null
ID der abgeschlossenen Abrechnungstransaktion, sofern verfügbar.
items[].modelstring
Angeforderter öffentlicher Modellname.
items[].logical_modelstring
Logisches öffentliches Modell für die Berichterstattung.
items[].model_vendorstring | null
Öffentlicher Modellanbieter.
items[].scenestring | null
Öffentliches Anfrageszenario.
items[].usage_unitstring
Abrechnungs-Nutzungseinheit, z. B. per_token.
items[].usage_quantitynumber
Nutzungsmenge als JSON-Zahl für die Anzeige.
items[].usage_quantity_decimalstring
Exakte Nutzungsmenge als Dezimalzeichenfolge.
items[].prompt_tokensnumber
Anzahl der Prompt-Tokens.
items[].completion_tokensnumber
Anzahl der Completion-Tokens.
items[].total_tokensnumber
Gesamtzahl der Tokens.
items[].cache_read_tokensnumber
Anzahl der aus dem Cache gelesenen Tokens.
items[].cache_write_tokensnumber
Gesamtzahl der in den Cache geschriebenen Tokens.
items[].cache_write_tokens_5mnumber
Anzahl der Fünf-Minuten-Cache-Schreib-Tokens.
items[].cache_write_tokens_1hnumber
Anzahl der Ein-Stunden-Cache-Schreib-Tokens.
items[].costnumber
Kosten in USD als JSON-Zahl für die Anzeige.
items[].cost_decimalstring
Exakte Kosten in USD als Dezimalzeichenfolge.
items[].requested_policystring | null
auto, verified, official, null. Angeforderte Zustellrichtlinie, sofern erfasst.
items[].resolved_tierstring | null
verified, official, null. Verwendete Zustellstufe, sofern erfasst.
items[].charged_price_basisobject | null
Angewendeter Preis und abrechenbare Menge, sofern erfasst.
items[].created_atstring
ISO-Zeitstempel des Nutzungsdatensatzes.
summary.total_requestsnumber
Gesamtzahl der Anfragen.
summary.total_costnumber
Gesamtkosten in USD als JSON-Zahl für die Anzeige.
summary.total_cost_decimalstring
Exakte Gesamtkosten in USD als Dezimalzeichenfolge.
summary.total_prompt_tokensnumber
Gesamtzahl der Prompt-Tokens.
summary.total_completion_tokensnumber
Gesamtzahl der Completion-Tokens.
summary.total_tokensnumber
Gesamtzahl der Tokens.
summary.usage_unit_breakdownarray
Nach Nutzungseinheit gruppierte Nutzungsmenge.
breakdowns.by_modelarray
Aufschlüsselung nach angefordertem öffentlichen Modell.
breakdowns.by_logical_modelarray
Aufschlüsselung nach logischem öffentlichen Modell.
breakdowns.by_model_vendorarray
Aufschlüsselung nach öffentlichem Modellanbieter.
breakdowns.by_scenearray
Aufschlüsselung nach öffentlichem Anfrageszenario.
breakdowns.daily_costarray
Täglicher Kostenverlauf.

Autorisierung

ManagementTokenAuth
AuthorizationBearer <token>

Management-Token-Authentifizierung. Erstellen oder verwalten Sie Management-Token unter Dashboard > API > Management Tokens.

Ort: header

Pfadparameter

keyId*string

Abfrageparameter

page?integer

Seitennummer (beginnend bei 1). Standard ist 1.

Bereich1 <= value
Standard1
limit?integer

Seitengröße. Standard ist 50, das Maximum ist 100.

Bereich1 <= value <= 100
Standard50
model?string

Nach angefordertem Modellnamen filtern. Maximale Länge 100.

Längelength <= 100
modelVendor?string

Nach öffentlichem Modell-Anbieter filtern. Maximale Länge 100.

Längelength <= 100
scene?string

Nach öffentlicher Anfrageszene filtern.

Zulässige Werte

  • "chat"
  • "image"
  • "audio"
  • "video"
  • "embedding"
  • "rerank"
  • "translation"
  • "music"
  • "3d"
  • "realtime"
  • "systemone"
startDate?string

Inklusiver Datumsfilter. Akzeptiert entweder RFC3339 mit Zeitzone (z. B. 2026-03-28T00:00:00+08:00) oder YYYY-MM-DD.

endDate?string

Inklusiver Datumsfilter. Akzeptiert entweder RFC3339 mit Zeitzone (z. B. 2026-03-28T00:00:00+08:00) oder YYYY-MM-DD.

Antwort

application/json

application/json

application/json

application/json

application/json