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 axe Monitor. Utilisant des services web RESTful, l'API permet d'accéder à :
- Analyser pour un utilisateur
- Exécutions d'analyse pour une analyse
- Détails des pages pour une exécution d'analyse
- Détails des problèmes pour une exécution d'analyse
- Détails des problèmes pour une page
Les utilisateurs titulaires d'une licence 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.
Consultez les 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 Clés API dans axe Account, 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 des produits, 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 plate-forme 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}Ajouter 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 optionnels
| 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 de terminaison
Tous les points de terminaison peuvent récupérer des informations avec des requêtes GET.
| Point de terminaison | Objectif |
|---|---|
/scans |
Lister tous les scans accessibles par un utilisateur. Vous permet de récupérer scanId. |
/scans/[scanId]/runs |
Lister tous les lancements de scan pour un scan, avec des informations d'aperçu du scan. Vous permet de récupérer le runId. |
/scans/[scanId]/runs/[runId]/pages |
Informations détaillées sur une page pour un lancement de scan |
/scans/[scanId]/runs/[runId]/pages/[pageId]/issues |
Problèmes d'accessibilité détaillés pour une page |
/scans/[scanId]/runs/[runId]/issues |
Problèmes d'accessibilité détaillés pour un lancement de scan |
Lister les scans pour un utilisateur
Demande d'exemple
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans
X-API-Key: <your_api_key>Réponse d'exemple
{
"scans": [
"id": 1,
"name": "Test Scan",
"groups": [
"id": 1,
"name": "Group A"
]
]
}Réponse d'erreur d'exemple
Lancements de scan pour un scan
Demande d'exemple
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs
X-API-KEY: <your_api_key>Paramètres requis
| Nom | Type | Description |
|---|---|---|
| scanId | Chaîne | L'identifiant unique du scan. |
Paramètres optionnels
| Nom | Type | Description |
|---|---|---|
| needsReview | Chaîne | „true“ ou „false“ vous permet de contrôler si les problèmes „Besoin d'examen“ sont comptés dans la réponse. |
Réponse d'exemple
{
"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 du 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 pages pour un lancement de scan
Demande d'exemple
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 |
|---|---|---|
| scanId | Chaîne | L'identifiant unique du scan. |
| runNumber | Entier | Le numéro de lancement spécifique du scan. |
Paramètres de requête optionnels
| Nom | Type | Description |
|---|---|---|
| statut | chaîne | Filtre les pages par statut (Terminée, Échouée). |
| trierPar | Chaîne | Spécifie la colonne par laquelle trier (titre, url). La valeur par défaut est titre. |
| ordre | Chaîne | Spécifie la direction 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 Rechercher un texte est activé pour l'analyse, le tableau contient toutes les phrases du paramètre „Rechercher un texte“ qui ont été identifiées sur cette page.
Détails des problèmes 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 requis
| Nom | Type | Description |
|---|---|---|
| scanId | Chaîne | L'identifiant unique de l'analyse. |
| numéroExécution | Entier | Le numéro d'exécution spécifique de l'analyse. |
| pageId | Chaîne | L'identifiant unique de la page. |
Paramètres optionnels
| Nom | Type | Description |
|---|---|---|
| statut | chaîne | Filtre les problèmes par statut (ouvert, corrigé, ou ignoré). |
| trierPar | Chaîne | Spécifie la colonne par laquelle trier (titrePageTest, urlTest, sélecteur, crééLe, ou statut). La valeur par défaut est titrePageTest. |
| ordre | Chaîne | Spécifie la direction du tri (asc ou desc). La valeur par défaut est desc. |
Exemple de réponse
{
"issues": [
{
"issueId": 0,
"ruleId": "string",
"description": "string",
"help": "string",
"helpUrl": "string",
"impact": "string",
"issuegroup”: “string"
"needsReview": true,
"isExperimental": true,
"isManual": true,
"summary": "string",
"selector": [
"string"
],
"source": "string",
"tags": [
"string"
],
"igt": "string",
"testName": "string",
"createdAt": "2024-12-02T14:59:24.232Z",
"testUrl": "string",
"testPageTitle": "string",
"status": "string"
}
]
}
Détails des problèmes pour une exécution d'analyse
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 requis
| Nom | Type | Requis | Description |
|---|---|---|---|
| scanId | Chaîne | Oui | L'identifiant unique de l'analyse. |
| numéroExécution | Entier | Oui | Le numéro d'exécution spécifique de l'analyse. |
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 par laquelle trier (testPageTitle, testUrl, selector, createdAt ou status). La valeur par défaut est testPageTitle. |
| ordre | Chaîne | Non | Spécifie la direction du tri (asc ou desc). La valeur par défaut est desc. |
Exemple de réponse
{
"issues": [
{
"issueId": 0,
"ruleId": "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": "2025-08-07T10:54:30.268Z",
"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 n'a pas les droits d'accès. |
| 400 | Requête invalide | La requête contient des paramètres invalides. |
| 500 | Erreur interne du serveur | Une erreur est survenue lors du traitement de la requête. |
