Introduction
L'API axe Monitor offre aux développeurs un moyen simplifié d'interagir avec les données de résultats des tests d'accessibilité en dehors de l'interface utilisateur d'axe Monitor. En utilisant les services Web RESTful, l'API donne accès à :
Analyses pour un utilisateur
Exécutions d'analyse pour une analyse
Détails de la page pour une exécution d'analyse
Détails du problème pour une analyse
Détails du problème pour une page
Les utilisateurs sous licence d'axe Monitor peuvent utiliser l'API avec des applications externes, à condition que l'utilisation soit conforme au contrat de licence d'abonnement.
Pour commencer
Créer une clé API via axe Account.
Sur la page Clés API dans axe Account, sélectionnez le bouton « Ajouter une nouvelle clé API ».
Une fenêtre modale apparaîtra. Sélectionnez axe Monitor dans la liste déroulante du produit, nommez votre clé API et sélectionnez le bouton Enregistrer.
Sous la colonne Actions, copiez la clé API dans votre presse-papiers.
Saisissez l'URL de base de l'API : À l'aide de votre plateforme API préférée, telle que Postman ou SwaggerUI, ou de votre répertoire de travail, accédez à l'API axe Monitor. Remplacez « votreentreprise » 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 à l'aide de la clé API du compte axe.
X-API-Key: <your_api_key>
Paramètres d'en-tête facultatifs
Nom
Type
Description
X-Pagination-Per-Page
Integer
Valeur par défaut : 10
Le nombre maximum d'éléments renvoyés sur une seule page
X-Pagination-Page
Integer
Valeur par défaut : 1
Le numéro de page demandé
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-KeyAuthorization: <your_api_key>' '
Points de terminaison
Tous les points de terminaison peuvent récupérer des informations avec des requêtes GET.
Endpoint
Objectif
/scans
Répertoriez toutes les analyses auxquelles un utilisateur peut accéder. Permet de récupérer scanId.
/scans/[scanId]/runs
Répertoriez toutes les exécutions d'analyse pour une analyse, avec des informations d'aperçu de l'analyse. Permet de récupérer le runId.
/scans/[scanId]/runs/[runId]/pages
Informations détaillées sur la page pour une exécution d'analyse
/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 une analyse
Lister les analyses pour un utilisateur
Exemple de demande
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 une analyse
Exemple de demande
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
String
L'identifiant unique du scan.
Paramètres optionnels
Nom
Type
Description
needsReview
String
« true » ou « false » vous permet de contrôler si les problèmes « Nécessite une révision » sont comptabilisés dans la réponse.
Exemple de réponse
{
"runs": [
{
"runNumber" : 1,
"status" : "Complete",
"queuedAt": "2024-09-30T05:11:42Z",
"startedAt": "2024-09-30T05:11:45Z",
"completedAt": "2024-09-30T05:12:30Z",
"totalIssueCount": 29,
"completedPages": 1,
"axeVersion" : "4.9.0",
"standard" : "WCAG 2.2 AA"
“score”: “0”
“issues”: “28”
[ "criticalissues": “20”,
"seriousissues": “2”,
"moderateissues": “4”,
"minorissues": “2”,
]
pages: “40”
[ "criticalpages": “20”,
“aria”: “2”,
“color”: “2”,
“forms”: “2”,
“keyboard”: “2”,
“language”: “2”,
“namerolevalue”: “2”,
“pdf”: “2”,
“parsing”: “2”,
“semantics”: “2”,
“sensoryvisual”: “2”,
“structure”: “2”,
“tables”: “2”,
“alttext”: “2”,
“timemedia”: “2”
]
}
]
}
Détails de l'exécution d'une analyse pour une page
Exemple de demande
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
String
L'identifiant unique du scan.
runNumber
Integer
Le numéro d'exécution spécifique de l'analyse.
Paramètres de demande facultatifs
Nom
Type
Description
status
String
Filtre les pages par statut (Terminé, Échec).
sortBy
String
Spécifie la colonne par laquelle trier (titre, URL). La valeur par défaut est le titre
order
String
Spécifie le sens de 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"
}
]
}
Détails du problème pour une page
Exemple de demande
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
String
L'identifiant unique du scan.
runNumber
Integer
Le numéro d'exécution spécifique de l'analyse.
pageId
String
L'identifiant unique de la page.
Paramètres optionnels
Nom
Type
Description
status
String
Filtre les problèmes par statut (ouvert, résolu ou ignoré).
sortBy
String
Spécifie la colonne par laquelle trier (testPageTitle, testUrl, sélecteur, createdAt ou statut). La valeur par défaut est testPageTitle.
order
String
Spécifie le sens de 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 du problème pour une exécution d'analyse
Exemple de demande
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
Obligatoire
Description
scanId
String
Oui
L'identifiant unique du scan.
runNumber
Integer
Oui
Le numéro d'exécution spécifique de l'analyse.
pageId
String
Oui
L'identifiant unique de la page.
Paramètres de demande facultatifs
Nom
Type
Obligatoire
Description
status
String
Non
Filtre les problèmes par statut (ouvert, résolu ou ignoré).
sortBy
String
Non
Spécifie la colonne par laquelle trier (testPageTitle, testUrl, sélecteur, createdAt ou statut). La valeur par défaut est testPageTitle.
order
String
Non
Spécifie le sens de 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"
}
]
}
Erreurs
Code d'état HTTP
Type d'erreur
Description
401
Non autorisé
L'utilisateur n'est pas authentifié ou ne dispose pas de droits d'accès.
400
Demande invalide
La demande contient des paramètres non valides.
500
Erreur interne du serveur
Une erreur s'est produite lors du traitement de la demande.