Report di utilizzo delle deprecazioni

GET /v1/reports/deprecation-usage · autorizzazione reports:read

Mostra quali dei tuoi client chiamano ancora operazioni previste per la rimozione, così da poterli migrare prima della data di rimozione (vedi la politica di versionamento). Le chiamate sono conteggiate per giorno UTC e raggruppate per deprecazione, client e versione dell'SDK. Quando nessuna operazione è deprecata, il report è vuoto.

L'ambiente proviene sempre dalla chiave API; non esiste un parametro ambiente. Le righe non contengono indirizzi IP, User-Agent o identificatori di utenti finali.

Richiesta

Parametro In Obbligatorio Descrizione
from query no Primo giorno incluso, data completa (YYYY-MM-DD, UTC). Predefinito: to meno 30 giorni. Limitato dalla cronologia dei report del tuo piano (vedi sotto).
to query no Ultimo giorno incluso, data completa (YYYY-MM-DD, UTC). Predefinito: oggi. from non deve essere successivo a to.
limit query no Dimensione della pagina, da 1 a 100. Predefinito 50.
cursor query no next_cursor della pagina precedente. Valido solo per l'ambiente, from e to per cui è stato emesso.

Le righe sono ordinate per deprecation_id, client_id, sdk_package, sdk_version. Entrambi gli estremi dell'intervallo sono inclusi. Un cursore ottenuto con un intervallo predefinito (senza from/to inviati) smette di funzionare quando cambia il giorno UTC; invia from e to in modo esplicito quando paginare.

Cronologia dei report per piano

Piano Cronologia
Free 30 giorni
Startup, Business 13 mesi
Enterprise 25 mesi, con un limite di 400 giorni

La tabella dei report conserva 400 giorni, quindi nessun piano risale oltre i 400 giorni. Un from più vecchio della cronologia consentita fallisce con 422 report_range_exceeds_plan; la data minima consentita è indicata nel messaggio e in errors[0].detail (earliest_allowed_date=YYYY-MM-DD).

Risposta

200 OK. data contiene le righe della pagina; next_cursor è null nell'ultima pagina.

Campo Descrizione
deprecation_id Identificatore nel registro delle deprecazioni (dep-YYYY-NN).
client_id key_… per una chiave API di gestione, app_… per un client OAuth di gestione, dashboard per la dashboard.
sdk_package Pacchetto SDK dall'intestazione Idp-Client; other per un pacchetto fuori dal catalogo, none quando l'intestazione è assente.
sdk_version Versione SemVer, oppure una stringa vuota.
call_count Chiamate nell'intervallo.
last_seen_at Ultima chiamata nell'intervallo (RFC 3339, UTC).
sunset_at Data di rimozione dal registro delle deprecazioni (YYYY-MM-DD), null se sconosciuta. Dopo questo giorno l'operazione risponde 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

Invia Accept: text/csv per ricevere le stesse colonne in CSV (RFC 4180) con una riga di intestazione. Le celle di testo che iniziano con =, +, -, @, una tabulazione o un ritorno a capo ricevono un apice singolo davanti, così che i fogli di calcolo non le eseguano come formule. Il cursore della pagina successiva è nell'intestazione Link (rel="next"); l'intervallo è esplicitato in quel link.

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

Note

I conteggi sono raccolti per minuto e scritti nel report in modo asincrono, quindi le chiamate più recenti possono impiegare alcuni minuti a comparire. Un arresto anomalo può far perdere fino a 60 secondi di conteggi. Il report non è un dato di fatturazione.

Errori

Ogni errore è un corpo application/problem+json con un code stabile.

HTTP code Quando
400 invalid_filter from o to non è una data YYYY-MM-DD, una data è ripetuta, o from è successivo a to.
400 invalid_cursor Il cursore è malformato o non è stato emesso per questo ambiente e intervallo.
422 report_range_exceeds_plan from è più vecchio della cronologia dei report del tuo piano.
422 validation_failed limit è fuori intervallo oppure un parametro è ripetuto.
401 unauthenticated La chiave API è mancante, non valida o revocata.
403 insufficient_permissions La chiave non ha reports:read.
429 rate_limited È stato superato il limite di frequenza; rispetta Retry-After.
503 service_unavailable Il servizio di report è temporaneamente non disponibile; riprova più tardi.

Esempio

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