Politique de versionnage et d'obsolescence de l'API

Cette page explique comment KeenAuth versionne ses API, comment une suppression est annoncée et pendant combien de temps les SDK, la CLI, le fournisseur Terraform/OpenTofu et le serveur MCP reçoivent des correctifs de sécurité. Chaque annonce est publiée dans le journal des modifications.

Versions de l'API

L'API de gestion porte sa version majeure dans le chemin (/v1). Dans v1, seules des modifications additives sont apportées :

Écrivez votre intégration de façon à accepter ces ajouts.

Une modification incompatible n'est apportée que dans une nouvelle version majeure (/v2). Les modifications incompatibles sont : supprimer ou renommer un champ, changer un type, ajouter un champ obligatoire, changer le comportement par défaut, et changer la pagination, le tri ou la valeur par défaut de limit. v1 reste disponible au moins 24 mois après la disponibilité générale de v2.

KeenAuth n'utilise pas d'en-têtes de version fondés sur une date ; la version majeure dans le chemin et la règle des seules modifications additives forment tout le contrat.

Opérations bêta et GA

Chaque opération est marquée x-idp-stability: beta ou x-idp-stability: ga dans le document OpenAPI. Une opération beta peut changer pendant une bêta privée ou publique et n'est pas couverte par les règles d'obsolescence ci-dessous ; ses réponses portent l'en-tête Idp-Stability: beta. Une opération ga est figée : elle ne change que selon les règles de cette page.

Événements et claims de jeton

Obsolescence et suppression

La suppression d'un point de terminaison, d'un paramètre, d'un claim, d'un scope, d'un type d'événement, d'un algorithme de signature ou d'une autre surface est annoncée dans le journal des modifications au moins 365 jours avant la date de suppression. Chaque obsolescence a un identifiant de la forme dep-<YYYY>-<NN>, une date d'obsolescence, une date de suppression (sunset), un remplacement lorsqu'il existe et un guide de migration.

Exception de sécurité : pour corriger une vulnérabilité de sécurité, le comportement dans v1 peut changer sans le préavis de 365 jours. Une telle modification est publiée dans le journal des modifications avec l'étiquette security, et les environnements concernés sont avertis par e-mail.

Signaux dans les réponses de l'API

La réponse d'une opération en cours de suppression porte :

Après la date de suppression, l'opération répond 410 avec le code de problème endpoint_sunset. Les suppressions du protocole OAuth et OpenID Connect (un algorithme de signature, une méthode d'authentification du client, un paramètre) ne peuvent pas porter d'en-têtes ; elles sont comptées par client et passent par les mêmes notifications.

Où voir votre utilisation

Les SDK officiels, la CLI, le fournisseur et le serveur MCP envoient Idp-Client: <package>/<version> (<runtime>/<version>) avec chaque requête. Cet en-tête n'est pas une authentification ; il sert uniquement au comptage, et une valeur mal formée est ignorée. Les comptages d'utilisation ne stockent ni adresse IP, ni User-Agent, ni identifiant d'utilisateur final.

Politique de support des SDK et des outils

Les SDK, la CLI, le fournisseur Terraform/OpenTofu et le serveur MCP suivent le versionnage sémantique. Une version majeure n'augmente qu'avec une modification incompatible du langage lui-même ou avec une nouvelle version majeure de l'API.

Prise en charge des environnements d'exécution

Les SDK prennent en charge les versions d'environnement d'exécution que leurs éditeurs maintiennent encore avec des correctifs de sécurité : Node.js LTS, Python selon le calendrier de support amont, les deux dernières versions de Go, Java 17 et 21, .NET LTS, PHP 8.2 et ultérieur, Ruby 3.2 et ultérieur, iOS 16 et ultérieur, Android API 26 et ultérieur. La matrice minimale des environnements d'exécution est publiée avec chaque version majeure. Un environnement d'exécution qui perd le support de son éditeur est abandonné dans une version mineure, annoncée dans le journal des modifications 90 jours à l'avance.