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