API axe Monitor
Introduction
L'API axe Monitor offre aux développeurs un moyen simplifié d'interagir avec les données de résultats de tests d'accessibilité en dehors de l'interface utilisateur de axe Monitor. Utilisant des services Web RESTful, l'API offre un accès à :
- Scans pour un utilisateur
- Exécutions de scan pour un scan
- Détails de la page pour une exécution de scan
- Détails du problème pour une exécution de scan
- Détails du problème pour une page
Les utilisateurs sous licence de axe Monitor peuvent utiliser l'API avec des applications externes, à condition que l'utilisation soit conforme au Contrat de Licence d'Abonnement.
Commencer
-
Créez une clé API via axe Account.
Référez-vous aux instructions spécifiques à votre région ci-dessous :
-
Compte axe dans la région US : axe.deque.com - Pour créer une clé API, cliquez sur ce lien : Créer une clé API.
-
Compte axe dans la région EU : axe-eu.deque.com - Pour créer une clé API, cliquez sur ce lien : Créer une clé API.
-
Compte axe dans la région AUS : axe-au.deque.com - Pour créer une clé API, cliquez sur ce lien : Créer une clé API.
Effectuez les étapes suivantes pour générer votre clé API :
-
Sur la page des clés API dans le compte axe, sélectionnez le bouton « Ajouter une nouvelle clé API ».
La boîte de dialogue AJOUTER UNE NOUVELLE CLÉ API apparaît. -
Sélectionnez axe Monitor dans le menu déroulant du produit, nommez votre clé API et sélectionnez le bouton Enregistrer.
-
Sous la colonne Actions, copiez la clé API dans votre presse-papiers.
-
-
Entrez l'URL de base de l'API : En utilisant votre plateforme API préférée, telle que Postman ou SwaggerUI, ou votre répertoire de travail, accédez à l'API axe Monitor. Remplacez « yourcompany » par le sous-domaine de votre instance axe Monitor.
https://yourcompany.dequecloud.com/monitor-public-api/v1/{endpoint}Ajoutez des en-têtes :
Pour accéder à l'API, vous devez vous authentifier en utilisant la clé API de axe Account.
X-API-Key: <your_api_key>Paramètres d'en-tête facultatifs
| Nom | Type | Description |
|---|---|---|
| X-Pagination-Per-Page | Entier | Le nombre maximum d'éléments renvoyés sur une seule page. Valeur par défaut : 10 |
| X-Pagination-Page | Entier | Le numéro de page demandé. Valeur par défaut : 1 |
Exemple de requête CURL
curl -X 'GET' \
'https://{base_url}/monitor-public-api/v1/scans/1/runs/1/issues?sortBy=testPageTitle&sortDir=desc' \
-H 'accept: application/json' \
-H 'X-API-Key: <your_api_key>'Points d'accès
Tous les points d'accès peuvent récupérer des informations avec des requêtes GET.
| Point d'accès | But |
|---|---|
/scans |
Lister tous les scans auxquels un utilisateur peut accéder. Vous permet de récupérer scanId. |
/scans/[scanId]/runs |
Lister tous les résultats des scans pour un scan, avec les informations générales du scan. Vous permet de récupérer le runId. |
/scans/[scanId]/runs/[runId]/pages |
Informations détaillées de la page pour une exécution de scan |
/scans/[scanId]/runs/[runId]/pages/[pageId]/issues |
Détails des problèmes d'accessibilité pour une page |
/scans/[scanId]/runs/[runId]/issues |
Détails des problèmes d'accessibilité pour une exécution de scan |
Lister les scans pour un utilisateur
Exemple de requête
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans
X-API-Key: <your_api_key>Exemple de réponse
{
"scans": [
"id": 1,
"name": "Test Scan",
"groups": [
"id": 1,
"name": "Group A"
]
]
}Exemple de réponse d’erreur
Exécutions de scan pour un scan
Exemple de requête
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs
X-API-KEY: <your_api_key>Paramètres obligatoires
| Nom | Type | Description |
|---|---|---|
| identifiantScan | Chaîne | L'identifiant unique du scan. |
Paramètres facultatifs
| Nom | Type | Description |
|---|---|---|
| needsReview | Chaîne | “true” ou “false” vous permet de contrôler si les problèmes “À revoir” sont comptés dans la réponse. |
Exemple de réponse
{
"scanRuns": [
{
"runNumber": 1,
"status": "Completed",
"queuedAt": "2025-08-21T06:50:27Z",
"startedAt": "2025-08-21T06:50:37Z",
"completedAt": "2025-08-21T06:51:52Z",
"axeVersion": "4.10.3",
"standard": "WCAG 2.1 AA",
"score": 0,
"issues": {
"total": 392,
"critical": 77,
"serious": 315,
"moderate": 0,
"minor": 0
},
"pages": {
"total": 18,
"completed": 17,
"critical": 17
},
"violationGroups": [
{
"name": "color",
"pageCount": 17
},
{
"name": "forms",
"pageCount": 17
},
{
"name": "name-role-value",
"pageCount": 10
},
{
"name": "parsing",
"pageCount": 1
},
{
"name": "text-alternatives",
"pageCount": 13
}
]
}
]
}Remarque : Si votre scan comporte une ou plusieurs phrases saisies dans le paramètre « Trouver le texte », la réponse de l'API inclut un tableau findText.
Chaque entrée contient :
- La phrase saisie.
- Le nombre de pages où la phrase a été identifiée.
Détails de la page pour une exécution de scan
Exemple de requête
GET https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs/[runNumber]/pages
X-API-KEY: <your_api_key>Paramètres de chemin requis
| Nom | Type | Description |
|---|---|---|
| identifiantScan | Chaîne | L'identifiant unique du scan. |
| numéroRun | Entier | Le numéro spécifique du run du scan. |
Paramètres de requête optionnels
| Nom | Type | Description |
|---|---|---|
| statut | chaîne | Filtre les pages par statut (Terminé, Échoué). |
| trierPar | Chaîne | Spécifie la colonne de tri (titre, url). La valeur par défaut est titre. |
| ordre | Chaîne | Spécifie le sens du tri (asc ou desc). La valeur par défaut est desc. |
Exemple de réponse
{
"pages": [
{
"id": 0,
"url": "string",
"title": "string",
"reasonForFailure": "string",
"totalCriticalIssues": 0,
"totalSeriousIssues": 0,
"totalModerateIssues": 0,
"totalMinorIssues": 0,
"totalNeedsReview": 0,
"totalFixedIssues": 0,
"totalOpenIssues": 0,
"health": "string",
"status": "string",
"scriptName": "string",
"scriptStep": 0,
"template": true,
"date": "2024-12-02T15:03:40.211Z",
"domainUrl": "string"
"findtext"
[ "Accessibility Statement",
"WCAG"
}
]
}Remarque : Lorsque le paramètre Trouver le texte est activé pour le scan, le tableau contient toutes les phrases du paramètre « Trouver le texte » qui ont été identifiées sur cette page.
Détails du problème pour une page
Exemple de requête
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs/[runNumber]/pages/[pageId]/issues
X-API-KEY: <your_api_key>Paramètres obligatoires
| Nom | Type | Description |
|---|---|---|
| identifiantScan | Chaîne | L'identifiant unique du scan. |
| numéroRun | Entier | Le numéro spécifique du run du scan. |
| identifiantPage | Chaîne | L'identifiant unique de la page. |
Paramètres facultatifs
| Nom | Type | Description |
|---|---|---|
| statut | chaîne | Filtre les problèmes par statut (ouvert, corrigé ou ignoré). |
| trierPar | Chaîne | Spécifie la colonne de tri (testPageTitle, testUrl, sélecteur, createdAt ou statut). La valeur par défaut est testPageTitle. |
| ordre | Chaîne | Spécifie le sens du tri (asc ou desc). La valeur par défaut est desc. |
Exemple de réponse
{
"issues": [
{
"issueId": 0,
"ruleId": "string",
"axeRuleId": "string",
"description": "string",
"help": "string",
"helpUrl": "string",
"impact": "string",
"issueGrouping": "string",
"needsReview": true,
"isExperimental": true,
"isManual": true,
"summary": "string",
"selector": [
"string"
],
"source": "string",
"tags": [
"string"
],
"igt": "string",
"testName": "string",
"createdAt": "2026-07-10T06:17:38.854Z",
"testUrl": "string",
"testPageTitle": "string",
"status": "string"
}
]
}
Détails du problème pour une exécution de scan
Exemple de requête
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/{scanId}/runs/{runNumber}/issues
X-API-KEY: <your_api_key>Paramètres obligatoires
| Nom | Type | Requis | Description |
|---|---|---|---|
| identifiantScan | Chaîne | Oui | L'identifiant unique du scan. |
| numéroRun | Entier | Oui | Le numéro spécifique du run du scan. |
Paramètres de requête optionnels
| Nom | Type | Requis | Description |
|---|---|---|---|
| statut | chaîne | Non | Filtre les problèmes par statut (ouvert, corrigé ou ignoré). |
| trierPar | Chaîne | Non | Spécifie la colonne de tri (testPageTitle, testUrl, sélecteur, createdAt ou statut). La valeur par défaut est testPageTitle. |
| ordre | Chaîne | Non | Spécifie le sens du tri (asc ou desc). La valeur par défaut est desc. |
Exemple de réponse
{
"issues": [
{
"issueId": 0,
"ruleId": "string",
"axeRuleId": "string",
"description": "string",
"help": "string",
"helpUrl": "string",
"impact": "string",
"issueGrouping": "string",
"needsReview": true,
"isExperimental": true,
"isManual": true,
"summary": "string",
"selector": [
"string"
],
"source": "string",
"tags": [
"string"
],
"igt": "string",
"testName": "string",
"createdAt": "2026-07-10T06:17:38.854Z",
"testUrl": "string",
"testPageTitle": "string",
"status": "string"
}
]
}Erreurs
| Code de statut HTTP | Type d'erreur | Description |
|---|---|---|
| 401 | Non autorisé | L'utilisateur n'est pas authentifié ou ne dispose pas des droits d'accès. |
| 400 | Requête invalide | La requête contient des paramètres invalides. |
| 500 | Erreur interne du serveur | Une erreur s'est produite lors du traitement de la requête. |
