Obtenir les logs du compte
GET /api/open/v1/logsParamètres de requête
Section intitulée « Paramètres de requête »| Paramètre | Emplacement | Type | Requis | Défaut | Description |
|---|---|---|---|---|---|
start_timestamp | query | integer | Non | Voir ci-dessous | Date de début (incluse), secondes unix |
end_timestamp | query | integer | Non | Voir ci-dessous | Date de fin (incluse), secondes unix |
model_name | query | string | Non | — | Nom de modèle exact ; répétez le paramètre pour plusieurs valeurs (?model_name=a&model_name=b) ou séparez par des virgules |
key_name | query | string | Non | — | Nom de Key exact ; répétez le paramètre pour plusieurs valeurs. Les virgules ne sont pas prises en charge car les noms peuvent en contenir |
key_id | query | integer | Non | — | ID de Key, entier positif ; répétez le paramètre ou séparez par des virgules. Les ID d’autres utilisateurs ne renvoient aucune ligne |
type | query | integer | Non | 2 | Type de log : 2 pour les requêtes de consommation (facturées), 7 pour les requêtes ayant définitivement échoué (non facturées). Répétez le paramètre ou séparez par des virgules (?type=2,7) ; toute autre valeur renvoie 400 |
p | query | integer | Non | 1 | Numéro de page, de 1 à 1000000 |
page_size | query | integer | Non | 10 | Éléments par page, de 1 à 1000 |
Règles de plage temporelle :
- Les deux omis : les 30 derniers jours.
- Seulement
start_timestamp: 30 jours vers l’avant, plafonné à l’heure actuelle. - Seulement
end_timestamp: 30 jours vers l’arrière. - La plage peut couvrir au maximum 366 jours.
Chaque paramètre multi-valeurs accepte au maximum 50 valeurs ; au-delà, la réponse est 400 invalid_request. Un p / page_size fourni explicitement et invalide retourne 400 ; voir Pagination. Les timestamps doivent être des entiers non négatifs, sinon 400.
Exemple de requête
Section intitulée « Exemple de requête »curl "https://www.routeapi.ai/api/open/v1/logs?start_timestamp=1726408000&end_timestamp=1729000000&key_name=bot&model_name=gpt-4o&p=1&page_size=20" \ -H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY"Exemple de réponse
Section intitulée « Exemple de réponse »{ "success": true, "message": "", "data": { "items": [ { "id": 12345, "created_at": 1729000000, "type": 2, "key_id": 12, "key_name": "bot", "key": "sk-abcd**********wxyz", "model_name": "gpt-4o", "prompt_tokens": 1200, "completion_tokens": 300, "total_tokens": 1500, "amount": 0.05, "use_time": 3, "is_stream": true, "first_response_ms": 420, "cache_read_tokens": 800, "cache_creation_tokens": 0, "reasoning_effort": "medium", "request_path": "/v1/chat/completions", "web_search_calls": 0, "audio_input_tokens": 0, "audio_output_tokens": 0, "billing_source": "wallet", "request_id": "20261020120000123456789" } ], "total": 1, "page": 1, "page_size": 20, "start_timestamp": 1726408000, "end_timestamp": 1729000000 }}Champs de réponse
Section intitulée « Champs de réponse »| Champ | Type | Description |
|---|---|---|
items[].id | integer | ID du log |
items[].created_at | integer | Date du log, secondes unix |
items[].type | integer | 2 consommation, 7 échec définitif de la requête |
items[].key_id | integer | ID de la Key ayant émis la requête |
items[].key_name | string | Nom de la Key au moment de la requête |
items[].key | string | Valeur masquée de la Key, au même format que Lister les API Keys, par exemple sk-abcd**********wxyz ; chaîne vide si la Key a été définitivement supprimée |
items[].model_name | string | Nom du modèle |
items[].prompt_tokens | integer | Tokens d’entrée |
items[].completion_tokens | integer | Tokens de sortie |
items[].total_tokens | integer | Total des tokens d’entrée et de sortie |
items[].amount | number | Montant consommé dans la devise du site, deux décimales ; peut valoir 0.00 pour les très petits montants |
items[].use_time | integer | Durée de la requête, en secondes |
items[].is_stream | boolean | Indique si la requête était en streaming |
items[].first_response_ms | integer | Temps jusqu’à la première réponse, en millisecondes ; 0 si inconnu (par exemple requêtes non streamées) |
items[].cache_read_tokens | integer | Tokens lus depuis le cache de prompt |
items[].cache_creation_tokens | integer | Tokens écrits dans le cache de prompt |
items[].reasoning_effort | string | Effort de raisonnement (low, medium, high, etc.) ; chaîne vide si non défini |
items[].request_path | string | Chemin de la requête, par exemple /v1/chat/completions |
items[].web_search_calls | integer | Nombre d’appels de recherche web effectués pendant la requête |
items[].audio_input_tokens | integer | Tokens audio d’entrée |
items[].audio_output_tokens | integer | Tokens audio de sortie |
items[].billing_source | string | wallet pour le solde du portefeuille, subscription pour un abonnement, chaîne vide si inconnu |
items[].request_id | string | ID de requête, utile pour le diagnostic |
total | integer | Nombre de logs correspondants, compté jusqu’à 10000 |
page | integer | Numéro de page courant |
page_size | integer | Nombre effectif d’éléments par page |
start_timestamp | integer | Date de début effective |
end_timestamp | integer | Date de fin effective |
| HTTP | code | Scénario |
|---|---|---|
| 400 | invalid_request | Un timestamp est négatif, la plage dépasse 366 jours, start_timestamp est supérieur à end_timestamp, les paramètres de pagination sont invalides, un paramètre multi-valeurs dépasse 50 valeurs, key_id n’est pas un entier positif, ou type n’est ni 2 ni 7 |
| 429 | — | Limite de requêtes par utilisateur dépassée (30/minute par défaut) ; le corps peut être vide |
Pour les autres codes d’erreur communs, voir Erreurs de l’API de la plateforme.
Remarques
Section intitulée « Remarques »- Par défaut, seuls les logs de consommation (facturation) sont renvoyés. Ajoutez
type=2,7pour inclure aussi les requêtes ayant définitivement échoué (non facturées). - Les résultats sont triés par
created_atdécroissant (les plus récents en premier) ; les enregistrements de même horodatage sont triés par ID de log décroissant, la pagination est donc stable. key_nameest le nom de la Key au moment de la requête ; renommer une Key ne réécrit pas les enregistrements passés.keyest la valeur masquée ; elle est vide si la Key a depuis été définitivement supprimée.- Les champs
use_time,first_response_ms, cache, recherche, audio et raisonnement valent0ou une chaîne vide lorsque la donnée correspondante n’a pas été enregistrée ; les champs sont toujours présents. - Les nombres de tokens sont des comptes bruts, pas des millions.
- Les montants utilisent la devise d’affichage du site, voir Obtenir le solde.
- Cet endpoint partage la limite de requêtes par utilisateur (30/minute par défaut) avec Exporter les logs, Usage, Usage par modèle et Usage par Key. Voir Limites de débit.
- Pour exporter toutes les lignes correspondantes en une fois (CSV ou JSONL), utilisez Exporter les logs au lieu de paginer puis concaténer cet endpoint.