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
Envoyez la clé d’accès dans l’en-tête X-API-Key. Le point d’entrée de santé est public.
PowerShell
Invoke-RestMethod -Uri 'https://api.gporais.com/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/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/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/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 | L’authentification utilise l’en-tête X-API-Key. GET /v1/health reste public. |
| Limitation de débit | La limite est de 120 requêtes par minute et par adresse IP. |
| 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 l’accès avec les coordonnées existantes sur la page À propos. Aucun formulaire supplémentaire ni collecte de données personnelles ne sont utilisés. |
| 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. |