fr-FR

API

API de vérification pour agents IA

Cette API s’adresse aux agents IA, pas aux navigateurs. C’est un service de vérification, pas une autre manière de consulter l’annuaire.

Avant d’écrire une valeur de registre sur une flotte, un agent peut vérifier si elle est valide pour l’OS cible, s’il existe un équivalent Intune et à quelle portée elle s’applique. La valeur n’est pas seulement de connaître la documentation publique de Microsoft ; les modèles en connaissent déjà une grande partie. La valeur est de prouver une réponse avec une provenance, une version de source et une date de fraîcheur.

Règle fondatrice

Ne jamais combler une absence par une supposition.

Une demande de compatibilité pour 22H2 sans famille d’OS ne produit pas de verdict. 22H2 désigne le build 10.0.19045 sur Windows 10 et le build 10.0.22621 sur Windows 11. L’API renvoie verdict: "unknown", les deux candidats et la manière dont l’agent peut lever l’ambiguïté.

Couverture mesurée

Jeu de données 6a69d203, mesure du 29 juillet 2026. Ces valeurs sont des frontières de couverture, pas des estimations.

Indicateur Valeur
paramètres par langue 9 657 (2 langues)
paires clé + valeur de registre par langue 16 497
correspondances Intune (CSP) par langue 2 458 (25,5 %)
paramètres sans équivalent Intune 7 199
sources actives 14 / 16 déclarées

Points d’entrée

Base : https://api.gporais.com

Méthode Chemin Vérification effectuée
POST /v1/resolve Clé de registre vers paramètre, avec verdict de compatibilité
POST /v1/csp OMA-URI vers paramètre et clé de registre
POST /v1/search Texte vers paramètres
GET /v1/setting/{slug} Fiche complète du paramètre
GET /v1/health État du service et version du jeu de données ; sans authentification

Enveloppe de réponse

Chaque réponse authentifiée porte les mêmes six champs de premier niveau afin que l’agent distingue preuve, déduction et incertitude.

Champ Garantie
query La requête normalisée que l’API a réellement évaluée.
result Les correspondances, la fiche demandée ou une raison lorsqu’aucune correspondance n’existe.
confidence official signifie que Microsoft affirme la correspondance ; derived signifie que GPORais l’a déduite ; none signifie qu’aucune correspondance Intune n’existe. none est une réponse, pas une erreur, et vient toujours avec result.reason.
provenance La source, sa version et l’URL Microsoft Learn lorsqu’elle existe.
dataset La version et la date de génération du jeu de données sur chaque réponse. C’est la preuve de fraîcheur.
warnings Ce que l’API a remarqué sans trancher à la place de l’agent.

result.compatibility

La compatibilité a quatre verdicts explicites. Aucun n’est une devinette.

Verdict Signification
supported Le build cible atteint le plancher documenté.
unsupported Le build cible n’atteint pas le plancher documenté.
unverified Une valeur minOs existe, mais elle ne contient aucun numéro de build lisible.
unknown L’OS cible est absent, non reconnu ou porte une étiquette ambiguë.

requiredBuildAlternatives — requiredBuildAlternatives est présent uniquement lorsque Microsoft énumère plusieurs builds minimums.

Exemples

Les extraits de réponse ci-dessous proviennent du jeu de données de production 6a69d203. Les longs tableaux sont abrégés en omettant des entrées ; les champs et valeurs affichés sont inchangés.

Authentification

Sans clé, appelez les points d’entrée sous https://api.gporais.com/v1/. Avec une clé, appelez les mêmes points d’entrée sous https://api.gporais.com/k/v1/ et envoyez la clé dans l’en-tête X-API-Key. Le point d’entrée de santé est public.

curl sans clé (accès anonyme)

curl -X POST 'https://api.gporais.com/v1/resolve' -H 'Content-Type: application/json' --data '{"key":"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Uninstall","value":"noaddfromcdorfloppy","lang":"en-US","targetOs":"Windows 10 22H2"}'

PowerShell

Invoke-RestMethod -Uri 'https://api.gporais.com/k/v1/resolve' -Method Post -Headers @{'X-API-Key'='VOTRE_CLE_API'; 'Content-Type'='application/json'} -Body '{"key":"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Uninstall","value":"noaddfromcdorfloppy","lang":"en-US","targetOs":"Windows 10 22H2"}'

curl

curl -X POST 'https://api.gporais.com/k/v1/resolve' -H 'X-API-Key: VOTRE_CLE_API' -H 'Content-Type: application/json' --data '{"key":"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Uninstall","value":"noaddfromcdorfloppy","lang":"en-US","targetOs":"Windows 10 22H2"}'

Résolution de registre avec verdict supported

Placez le chemin de registre exact dans le corps de requête ; l’API normalise la clé, en extrait la ruche et affiche cette requête normalisée dans `query`.

Requête

{
  "key": "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Uninstall",
  "value": "noaddfromcdorfloppy",
  "lang": "en-US",
  "targetOs": "Windows 10 22H2"
}

PowerShell

Invoke-RestMethod -Uri 'https://api.gporais.com/k/v1/resolve' -Method Post -Headers @{'X-API-Key'='VOTRE_CLE_API'; 'Content-Type'='application/json'} -Body '{"key":"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Uninstall","value":"noaddfromcdorfloppy","lang":"en-US","targetOs":"Windows 10 22H2"}'

curl

curl -X POST 'https://api.gporais.com/k/v1/resolve' -H 'X-API-Key: VOTRE_CLE_API' -H 'Content-Type: application/json' --data '{"key":"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Uninstall","value":"noaddfromcdorfloppy","lang":"en-US","targetOs":"Windows 10 22H2"}'

Extrait de réponse

{
  "query": {
    "key": "software\\microsoft\\windows\\currentversion\\policies\\uninstall",
    "value": "noaddfromcdorfloppy",
    "lang": "en-US",
    "hive": "HKCU",
    "targetOs": "Windows 10 22H2"
  },
  "result": {
    "matches": [
      {
        "slug": "addremoveprograms-noaddfromcdorfloppy",
        "lang": "en-US",
        "name": "NoAddFromCDorFloppy",
        "displayName": "Hide the \"Add a program from CD-ROM or floppy disk\" option",
        "class": "User",
        "registryKey": "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Uninstall",
        "valueName": "NoAddFromCDorFloppy",
        "source": "windows",
        "sourceVersion": "Windows 11 25H2",
        "confidence": "official"
      }
    ],
    "compatibility": {
      "verdict": "supported",
      "reason": "target build 10.0.19045 (Windows 10 22H2) meets minimum 10.0.19041.1202",
      "targetBuild": "10.0.19045",
      "requiredBuild": "10.0.19041.1202",
      "requiredBuildAlternatives": [
        "10.0.19041.1202",
        "10.0.19042.1202",
        "10.0.19043.1202",
        "10.0.22000"
      ]
    }
  },
  "confidence": "official",
  "provenance": {
    "source": "windows",
    "sourceVersion": "Windows 11 25H2"
  },
  "dataset": {
    "version": "6a69d203",
    "generatedAt": "2026-07-29T10:12:19Z"
  },
  "warnings": []
}

Étiquette d’OS ambiguë : aucun verdict inventé

Avec targetOs limité à 22H2, la réponse identifie les deux familles Windows possibles et explique comment trancher.

Extrait de réponse

{
  "query": {
    "key": "software\\microsoft\\windows\\currentversion\\policies\\uninstall",
    "value": "noaddfromcdorfloppy",
    "lang": "en-US",
    "hive": "HKCU",
    "targetOs": "22H2"
  },
  "result": {
    "compatibility": {
      "verdict": "unknown",
      "reason": "version 22H2 ambigue : Windows 10 (10.0.19045) ou Windows 11 (10.0.22621). Precisez la famille (ex. \"Windows 10 22H2\") ou fournissez le numero de build."
    }
  },
  "confidence": "official",
  "dataset": {
    "version": "6a69d203",
    "generatedAt": "2026-07-29T10:12:19Z"
  },
  "warnings": []
}

Deux paramètres écrivent la même paire de registre

L’API renvoie les deux correspondances et avertit l’agent au lieu d’en sélectionner une à sa place. Cette ambiguïté préservée est une preuve, pas une faiblesse.

Extrait de réponse

{
  "query": {
    "key": "software\\policies\\microsoft\\windows\\windowsupdate\\au",
    "value": "noautoupdate",
    "lang": "en-US",
    "hive": "HKLM",
    "targetOs": null
  },
  "result": {
    "matches": [
      {
        "slug": "wuau-autoupdatecfg",
        "displayName": "Configure Automatic Updates",
        "registryKey": "Software\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU",
        "valueName": "NoAutoUpdate",
        "sourceVersion": "Windows 11 25H2",
        "confidence": "official"
      },
      {
        "slug": "icm-internetmanagement-restrictcommunication-2",
        "displayName": "Restrict Internet communication",
        "registryKey": "Software\\Policies\\Microsoft\\InternetManagement",
        "valueName": "RestrictCommunication",
        "sourceVersion": "Windows 11 25H2",
        "confidence": "official"
      }
    ],
    "compatibility": {
      "verdict": "unknown",
      "reason": "aucun OS cible fourni"
    }
  },
  "confidence": "official",
  "dataset": {
    "version": "6a69d203",
    "generatedAt": "2026-07-29T10:12:19Z"
  },
  "warnings": [
    "The registry pair HKLM\\software\\policies\\microsoft\\windows\\windowsupdate\\au\\noautoupdate is written by 2 parameters: wuau-autoupdatecfg, icm-internetmanagement-restrictcommunication-2. Returning all matches and letting the agent choose."
  ]
}

Résoudre un OMA-URI

Le point d’entrée CSP renvoie le paramètre correspondant et l’écriture de registre. Voici un extrait de la réponse de production enregistrée.

Requête

{
  "omaUri": "./device/vendor/msft/policy/config/admx_externalboot/portableoperatingsystem_hibernate",
  "lang": "en-US",
  "scope": "Device"
}

Extrait de réponse

{
  "query": {
    "omaUri": "./device/vendor/msft/policy/config/admx_externalboot/portableoperatingsystem_hibernate",
    "lang": "en-US",
    "scope": "Device"
  },
  "result": {
    "matches": [
      {
        "displayName": "Allow hibernate (S4) when starting from a Windows To Go workspace",
        "class": "Machine",
        "registryKey": "System\\CurrentControlSet\\Policies\\Microsoft\\PortableOperatingSystem",
        "valueName": "Hibernate",
        "source": "windows",
        "sourceVersion": "Windows 11 25H2",
        "confidence": "official",
        "csp": {
          "scope": "Device",
          "minOs": "Windows 10, version 2004 with KB5005101 [10.0.19041.1202] and later | Windows 10, version 20H2 with KB5005101 [10.0.19042.1202] and later | Windows 10, version 21H1 with KB5005101 [10.0.19043.1202] and later | Windows 11, version 21H2 [10.0.22000] and later"
        }
      }
    ]
  },
  "confidence": "official",
  "provenance": {
    "source": "windows",
    "sourceVersion": "Windows 11 25H2"
  },
  "dataset": {
    "version": "6a69d203",
    "generatedAt": "2026-07-29T10:12:19Z"
  },
  "warnings": []
}

Rechercher des paramètres

Utilisez un nom de paramètre qui renvoie des résultats, comme DisableSearchHistory. Cet exemple montre uniquement la requête, car la réponse de recherche fournie utilisait une autre requête qui ne renvoyait aucun résultat.

Requête

{
  "q": "DisableSearchHistory",
  "lang": "en-US",
  "limit": 3
}

Accès, limites et frontières documentées

Aspect Règle
Authentification Sans clé, GET /v1/setting/{slug} et les POST /v1/resolve, /v1/csp et /v1/search sont ouverts à tous ; l’en-tête X-API-Key y est ignoré. Avec une clé gratuite, appelez les mêmes points d’entrée sous le préfixe /k/v1/ avec l’en-tête X-API-Key. Sur /k/v1/, une clé absente, invalide ou révoquée renvoie 401. GET /v1/health et GET /k/v1/health sont toujours publics.
Limitation de débit Les limites sont appliquées par l’hébergeur, Netlify, par adresse IP : 10 requêtes par minute sous /v1/ et 60 requêtes par minute sous /k/v1/. Au-delà, les requêtes reçoivent un HTTP 429 jusqu’à la fin de la fenêtre d’une minute.
En-têtes de réponse Les réponses calculées par l’API portent X-GPORais-Tier (anonymous ou key) et X-RateLimit-Limit. Il n’y a pas de compteur de requêtes restantes. Un 429 renvoyé par le limiteur de débit peut avoir un corps vide. Les réponses GET peuvent être servies depuis un cache ; chaque réponse porte la version du jeu de données (dataset.version).
Erreurs Les erreurs suivent le format « problem details » de la RFC 9457.
Demander une clé Il n’y a pas d’inscription en libre-service. Demandez une clé avec les coordonnées existantes sur la page À propos, en précisant l’usage prévu. Une clé peut être révoquée en cas d’abus.
Conditions d’utilisation Les données sont fournies en l’état, sans garantie. Vérifiez avant toute écriture sur une flotte de production. Seuls des faits (chemins de registre, OMA-URI, versions) sont servis ; le texte explicatif n’est pas redistribué, un lien vers la source est renvoyé à la place. Un usage abusif peut entraîner la révocation de la clé ou un blocage. Les limites sont susceptibles d’évoluer.
Facturation Il n’y a pas de facturation à ce jour.
Couverture La couverture Intune est de 25,5 % : 2 458 correspondances par langue. C’est une frontière documentée. Pour 7 199 paramètres, répondre « aucun équivalent Intune n’existe, et voici pourquoi » est le service rendu.
Indépendance GPORais est une ressource technique indépendante, ni affiliée à Microsoft ni validée par lui.