Überblick
Mit der Management API können Sie Organisations-API-Keys verwalten und Nutzung sowie Billing pro Key abrufen, ohne einen normalen Inference-API-Key zu verwenden.
Management-Tokens können auf der Settings-Seite im Dashboard erstellt und rotiert werden.
Authorization: Bearer mt-your-management-token
Management-Tokens sind nicht dasselbe wie Inference-API-Keys. Verwenden Sie mt-... für /v1/management/* und sk-... für Modellendpunkte wie /v1/responses.
Verfügbare Endpunkte
| Endpoint | Method | Beschreibung |
|---|
/v1/management/api-keys | GET | Zeigt die Benutzer-API-Keys der aktuellen Organisation an |
/v1/management/api-keys | POST | Erstellt einen neuen Benutzer-API-Key |
/v1/management/api-keys/{keyId} | PATCH | Aktualisiert Name, Limit, erlaubte Modelle, Ablaufzeit oder Status |
/v1/management/api-keys/{keyId}/usage | GET | Ruft paginierte Nutzungsdetails für einen Key ab |
/v1/management/api-keys/{keyId}/billing | GET | Ruft aggregierte Billing-Aufschlüsselungen für einen Key ab |
Vertragsdetails für Nutzungsfilter
GET /v1/management/api-keys/{keyId}/usage unterstützt die folgenden Query-Parameter:
| Parameter | Typ | Standard / Grenzen | Beschreibung |
|---|
page | integer | Standard 1, min. 1 | Seitennummer ab 1 |
limit | integer | Standard 50, min. 1, max. 100 | Anzahl Einträge pro Seite |
logicalModel | string | max. Länge 100 | Angeforderter Name des logischen Modells |
modelVendor | string | max. Länge 100 | Öffentlicher Modellanbieter |
scene | enum | - | chat, image, audio, video, embedding, rerank, translation, music, 3d |
accessChannel | enum | - | platform oder byok |
startDate | string | - | Inklusive Untergrenze; akzeptiert RFC3339 mit Zeitzone oder YYYY-MM-DD |
endDate | string | - | Inklusive Obergrenze; akzeptiert RFC3339 mit Zeitzone oder YYYY-MM-DD |
Wenn startDate und endDate zusammen angegeben werden, muss startDate kleiner oder gleich endDate sein.
API-Key-Body-Vertrag
POST /v1/management/api-keys
| Feld | Typ | Standard / Grenzen | Beschreibung |
|---|
name | string | erforderlich, Standard Default Key, Länge 1-50 | Anzeigename; führende und nachgestellte Leerzeichen werden serverseitig entfernt |
limitAmount | number | null | min. 0, max. 100000 | null oder weggelassen = unbegrenzt, 0 = kein nutzbares Budget, positive Zahl = USD-Limit |
limitCurrency | enum | Standard USD | Optional: USD oder CNY. Wenn CNY gesetzt ist, wird limitAmount als RMB interpretiert und serverseitig vor dem Speichern in USD umgerechnet |
models | string[] | Standard [] | Optionale Allowlist für logische Modelle |
expiresAt | string | null | RFC3339-Datetime | null bedeutet ohne Ablaufzeit |
PATCH /v1/management/api-keys/
| Feld | Typ | Standard / Grenzen | Beschreibung |
|---|
status | enum | - | active, inactive, revoked |
name | string | Länge 1-50 | Aktualisierter Anzeigename |
limitAmount | number | null | min. 0, max. 100000 | null = unbegrenzt, 0 = kein nutzbares Budget |
limitCurrency | enum | Standard USD | Optional: USD oder CNY. Wenn CNY gesetzt ist, wird limitAmount als RMB interpretiert und serverseitig vor dem Speichern in USD umgerechnet |
models | string[] | - | Aktualisierte Allowlist für logische Modelle |
expiresAt | string | null | RFC3339-Datetime | null entfernt die Ablaufzeit |
Mindestens ein Feld muss in der PATCH-Anfrage angegeben werden.
Währungsvertrag
- Standardmäßig wird
limitAmount auf der Request-Seite als USD interpretiert. Mit limitCurrency: "CNY" kannst du ein Limit in RMB senden; der Server rechnet es vor dem Speichern mit dem aktuellen Kurs in USD um.
- Monetäre Antwortfelder behalten das ursprüngliche USD-Feld und ergänzen einen RMB-Begleitwert mit dem Suffix
_cny.
exchange_rate wird zusammen mit den API-Key-Metadaten zurückgegeben und ist der USD→CNY-Kurs für jeden *_cny-Wert in dieser Antwort.
Reporting-Semantik
logicalModel bezeichnet das öffentliche logische Modell, das vom Aufrufer angefordert wurde.
modelVendor bezeichnet den öffentlichen Modellanbieter, nicht die verborgene physische Route.
scene ist die öffentliche Request-Szene, die aus Endpoint oder Task-Typ abgeleitet wird.
accessChannel=platform bedeutet, dass die Anfrage über LemonDatas Plattformkanal abgerechnet wurde.
accessChannel=byok bedeutet, dass die Anfrage Ihren eigenen Upstream-Provider-Key verwendet hat.
Die Endpunkte geben nur öffentliche Reporting- und Billing-Felder zurück; interne Routing-Details und physische Kanalmetadaten bleiben verborgen.
Hinweis zur Billing-Paginierung
/usage ist paginiert. /billing ist derzeit ein aggregierter Breakdown-Endpunkt und liefert keine page / limit-Paginierungsmetadaten. Wenn Sie Einzelzeilen benötigen, verwenden Sie /usage.
Schnellbeispiel
Listen Sie zunächst die API-Keys auf, die dem aktuellen Management-Token zur Verfügung stehen:
curl "https://api.lemondata.cc/v1/management/api-keys" \
-H "Authorization: Bearer mt-your-management-token"
{
"object": "list",
"data": [
{
"id": "key_abc123def456",
"name": "Backend Worker",
"key_prefix": "sk-abc123...",
"status": "active",
"limit_amount": 500.0,
"limit_amount_cny": 3600.0,
"used_amount": 148.25,
"used_amount_cny": 1067.4,
"exchange_rate": 7.2,
"models": ["gpt-4o-mini", "claude-3-7-sonnet"],
"expires_at": "2026-04-30T00:00:00.000Z",
"last_used_at": "2026-03-27T08:12:45.000Z",
"created_at": "2026-03-01T10:00:00.000Z"
}
]
}
Nächste Schritte