Rapport d'utilisation des obsolescences
GET /v1/reports/deprecation-usage · permission reports:read
Indique quels clients appellent encore des opérations programmées pour suppression, afin que vous puissiez les migrer avant la date de suppression (voir la politique de versionnement). Les appels sont comptés par jour UTC et regroupés par obsolescence, client et version du SDK. Lorsqu'aucune opération n'est obsolète, le rapport est vide.
L'environnement provient toujours de la clé d'API ; il n'existe aucun paramètre d'environnement. Les lignes ne contiennent aucune adresse IP, aucun User-Agent ni aucun identifiant d'utilisateur final.
Requête
| Paramètre | Dans | Obligatoire | Description |
|---|---|---|---|
from |
query | non | Premier jour inclus, date complète (YYYY-MM-DD, UTC). Par défaut, to moins 30 jours. Limité par l'historique de rapports de votre plan (voir ci-dessous). |
to |
query | non | Dernier jour inclus, date complète (YYYY-MM-DD, UTC). Par défaut, aujourd'hui. from ne doit pas être postérieur à to. |
limit |
query | non | Taille de page, de 1 à 100. Par défaut 50. |
cursor |
query | non | next_cursor de la page précédente. Valide uniquement pour l'environnement, from et to pour lesquels il a été émis. |
Les lignes sont triées par deprecation_id, client_id, sdk_package, sdk_version. Les deux bornes de la plage sont incluses. Un curseur issu d'une plage par défaut (sans from/to envoyés) cesse de fonctionner lorsque le jour UTC change ; envoyez from et to explicitement lorsque vous paginez.
Historique de rapports par plan
| Plan | Historique |
|---|---|
| Free | 30 jours |
| Startup, Business | 13 mois |
| Enterprise | 25 mois, plafonné à 400 jours |
La table des rapports conserve 400 jours, donc aucun plan ne remonte au-delà de 400 jours. Un from plus ancien que l'historique autorisé échoue avec 422 report_range_exceeds_plan ; la date la plus ancienne autorisée figure dans le message et dans errors[0].detail (earliest_allowed_date=YYYY-MM-DD).
Réponse
200 OK. data contient les lignes de la page ; next_cursor vaut null sur la dernière page.
| Champ | Description |
|---|---|
deprecation_id |
Identifiant dans le registre des obsolescences (dep-YYYY-NN). |
client_id |
key_… pour une clé d'API de gestion, app_… pour un client OAuth de gestion, dashboard pour le tableau de bord. |
sdk_package |
Paquet SDK issu de l'en-tête Idp-Client ; other pour un paquet hors catalogue, none lorsque l'en-tête est absent. |
sdk_version |
Version SemVer, ou une chaîne vide. |
call_count |
Appels dans la plage. |
last_seen_at |
Dernier appel dans la plage (RFC 3339, UTC). |
sunset_at |
Date de suppression issue du registre des obsolescences (YYYY-MM-DD), null si inconnue. Après ce jour, l'opération répond 410 endpoint_sunset. |
{
"data": [
{
"deprecation_id": "dep-2027-01",
"client_id": "key_01j9xk3m7q8r2s4t6v8w0y2z4d",
"sdk_package": "keenauth-go",
"sdk_version": "1.4.0",
"call_count": 1280,
"last_seen_at": "2027-03-02T09:30:00Z",
"sunset_at": "2028-01-17"
}
],
"next_cursor": null
}
CSV
Envoyez Accept: text/csv pour recevoir les mêmes colonnes au format CSV (RFC 4180) avec une ligne d'en-tête. Les cellules de texte commençant par =, +, -, @, une tabulation ou un retour chariot sont précédées d'une apostrophe simple afin que les tableurs ne les exécutent pas comme des formules. Le curseur de la page suivante figure dans l'en-tête Link (rel="next") ; la plage y est explicitement indiquée.
deprecation_id,client_id,sdk_package,sdk_version,call_count,last_seen_at,sunset_at
dep-2027-01,key_01j9xk3m7q8r2s4t6v8w0y2z4d,keenauth-go,1.4.0,1280,2027-03-02T09:30:00Z,2028-01-17
Remarques
Les compteurs sont collectés par minute et écrits dans le rapport de façon asynchrone ; les appels les plus récents peuvent donc mettre quelques minutes à apparaître. Un incident peut faire perdre jusqu'à 60 secondes de compteurs. Le rapport n'est pas une donnée de facturation.
Erreurs
Chaque erreur est un corps application/problem+json avec un code stable.
| HTTP | code |
Quand |
|---|---|---|
| 400 | invalid_filter |
from ou to n'est pas une date YYYY-MM-DD, une date est répétée, ou from est postérieur à to. |
| 400 | invalid_cursor |
Le curseur est mal formé ou n'a pas été émis pour cet environnement et cette plage. |
| 422 | report_range_exceeds_plan |
from est plus ancien que l'historique de rapports de votre plan. |
| 422 | validation_failed |
limit est hors plage ou un paramètre est répété. |
| 401 | unauthenticated |
La clé d'API est absente, invalide ou révoquée. |
| 403 | insufficient_permissions |
La clé ne dispose pas de reports:read. |
| 429 | rate_limited |
La limite de débit a été dépassée ; respectez Retry-After. |
| 503 | service_unavailable |
Le service de rapports est temporairement indisponible ; réessayez plus tard. |
Exemple
curl "https://api.eu.keenauth.com/v1/reports/deprecation-usage?from=2027-03-01&to=2027-03-31" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth reports deprecation-usage --from 2027-03-01 --to 2027-03-31
keenauth reports deprecation-usage --format csv > deprecation-usage.csv