Vue d’ensemble
La Management API permet de gérer les API Keys d’organisation et de consulter l’usage ainsi que la facturation par clé, sans utiliser de clé d’inférence classique.
Les management tokens peuvent être créés et rotés depuis la page Settings du Dashboard.
Authorization: Bearer mt-your-management-token
Les management tokens sont différents des API Keys d’inférence. Utilisez mt-... pour /v1/management/* et sk-... pour les endpoints de modèle comme /v1/responses.
Endpoints disponibles
| Endpoint | Method | Description |
|---|
/v1/management/api-keys | GET | Liste les API Keys utilisateur de l’organisation courante |
/v1/management/api-keys | POST | Crée une nouvelle API Key utilisateur |
/v1/management/api-keys/{keyId} | PATCH | Met à jour le nom, le plafond, les modèles autorisés, l’expiration ou le statut |
/v1/management/api-keys/{keyId}/usage | GET | Retourne les détails d’usage paginés pour une clé |
/v1/management/api-keys/{keyId}/billing | GET | Retourne un découpage agrégé de facturation pour une clé |
Contrat des filtres d’usage
GET /v1/management/api-keys/{keyId}/usage prend en charge les paramètres de requête suivants :
| Paramètre | Type | Valeurs par défaut / limites | Description |
|---|
page | integer | valeur par défaut 1, min. 1 | Numéro de page à partir de 1 |
limit | integer | valeur par défaut 50, min. 1, max. 100 | Nombre d’éléments par page |
logicalModel | string | longueur maximale 100 | Nom du modèle logique demandé |
modelVendor | string | longueur maximale 100 | Fournisseur public du modèle |
scene | enum | - | chat, image, audio, video, embedding, rerank, translation, music, 3d |
accessChannel | enum | - | platform ou byok |
startDate | string | - | Borne inférieure incluse ; accepte RFC3339 avec fuseau horaire ou YYYY-MM-DD |
endDate | string | - | Borne supérieure incluse ; accepte RFC3339 avec fuseau horaire ou YYYY-MM-DD |
Si startDate et endDate sont fournis ensemble, startDate doit être antérieur ou égal à endDate.
Contrat du body API Key
POST /v1/management/api-keys
| Champ | Type | Valeurs par défaut / limites | Description |
|---|
name | string | requis, valeur par défaut Default Key, longueur 1-50 | Nom affiché ; les espaces de début et de fin sont retirés côté serveur |
limitAmount | number | null | min. 0, max. 100000 | null ou omis = illimité, 0 = aucun budget exploitable, valeur positive = plafond en USD |
limitCurrency | enum | valeur par défaut USD | Optionnel : USD ou CNY. Si défini sur CNY, limitAmount est interprété en RMB puis converti en USD côté serveur avant le stockage |
models | string[] | valeur par défaut [] | Liste d’autorisation optionnelle des modèles logiques |
expiresAt | string | null | datetime RFC3339 | null signifie sans date d’expiration |
PATCH /v1/management/api-keys/
| Champ | Type | Valeurs par défaut / limites | Description |
|---|
status | enum | - | active, inactive, revoked |
name | string | longueur 1-50 | Nom affiché mis à jour |
limitAmount | number | null | min. 0, max. 100000 | null = illimité, 0 = aucun budget exploitable |
limitCurrency | enum | valeur par défaut USD | Optionnel : USD ou CNY. Si défini sur CNY, limitAmount est interprété en RMB puis converti en USD côté serveur avant le stockage |
models | string[] | - | Liste d’autorisation des modèles logiques mise à jour |
expiresAt | string | null | datetime RFC3339 | null efface la date d’expiration |
Au moins un champ doit être fourni dans la requête PATCH.
Contrat monétaire
- Par défaut,
limitAmount côté requête est interprété en USD. Définissez limitCurrency: "CNY" pour envoyer un plafond en RMB ; le serveur le convertira en USD avec le taux actuel avant le stockage.
- Les champs monétaires de la réponse conservent la valeur d’origine en USD et ajoutent un équivalent RMB avec le suffixe
_cny.
exchange_rate est renvoyé avec les métadonnées de l’API key et représente le taux USD→CNY utilisé pour chaque valeur *_cny de cette réponse.
Sémantique des rapports
logicalModel désigne le modèle logique public demandé par l’appelant.
modelVendor désigne le fournisseur public du modèle, et non la route physique cachée.
scene correspond à la scène publique de la requête, dérivée de l’endpoint ou du type de tâche.
accessChannel=platform signifie que la requête a été facturée via le canal plateforme de LemonData.
accessChannel=byok signifie que la requête a utilisé votre propre clé de fournisseur upstream.
Les réponses n’exposent que des champs publics de billing et de reporting ; les détails de routage interne et les métadonnées physiques restent masqués.
/usage est paginé. /billing est actuellement un endpoint agrégé et ne renvoie pas de métadonnées de pagination de type page / limit. Pour des enregistrements ligne à ligne, utilisez /usage.
Exemple rapide
Commencez par lister les API Keys disponibles pour le management token courant :
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"
}
]
}
Étapes suivantes