Référence de l'API des projets
Répertoriez vos projets sur l'Axe Developer Hub et recherchez un ID de projet de manière programmatique en utilisant l'API REST
Le point de terminaison Projects renvoie la liste des projets de l'Axe Developer Hub auxquels votre clé API peut accéder. Utilisez-le pour découvrir l'ID d'un projet à partir de son nom, afin de pouvoir passer cet ID à l'API de sessions et de résultats.
Si vous connaissez déjà l'ID de votre projet, vous pouvez le trouver dans Axe Developer Hub et appeler directement l'API de sessions et de résultats ; vous n'avez pas besoin de ce point de terminaison.
Authentification
Toutes les requêtes nécessitent une clé API. Fournissez-la en utilisant l'en-tête X-API-Key:
X-API-Key: <DEQUE_API_KEY>Trouvez votre clé API dans le Portail de compte Axe. Choisissez une clé API Axe Developer Hub pour des projets web ou CI/CD, ou une clé API Axe DevTools Mobile pour des projets mobiles.
Contrôle d'accès
- Membres du projet voient uniquement les projets auxquels ils appartiennent.
- Administrateurs de l'organisation ayant un abonnement actif à l'Axe Developer Hub ou à Axe DevTools Mobile voient tous les projets de leur organisation de ce type de produit, indépendamment de leur appartenance au projet.
- Dans les deux cas, la réponse est limitée au produit de la clé API : une clé API Axe Developer Hub renvoie uniquement des projets Axe Developer Hub, et une clé API Axe DevTools Mobile renvoie uniquement des projets Axe DevTools Mobile.
Un abonnement inactif renvoie 401 Unauthorized.
Point de terminaison des projets
Renvoie la liste des projets auxquels la clé API authentifiée peut accéder.
Requête
- Point de terminaison :
GET https://axe.deque.com/api-pub/v1/results/projects - En-têtes (obligatoires) :
X-API-Key: <DEQUE_API_KEY>Accept: application/json
Paramètres de requête
Tous les paramètres de requête sont optionnels.
| Paramètre | Description |
|---|---|
project_types |
Liste de types de projets à retourner, séparée par des virgules, par exemple axe-devtools-watcher,axe-devtools-html. Accepte également les alias web et mobile, qui s'étendent chacun aux types concrets pour ce produit. Lorsqu'aucun n'est spécifié, tous les types de projets auxquels votre clé API peut accéder sont retournés. |
page_size |
Nombre de projets à retourner par page. Par défaut : 30. Maximum : 100. Les valeurs au-dessus du maximum sont limitées à 100. Voir Pagination par curseur. |
after |
Valeur du curseur de la réponse précédente, utilisée pour récupérer la page suivante. Voir Pagination par curseur. |
Corps de la réponse
Une réponse réussie renvoie un tableau JSON d'objets projet. Chaque objet projet inclut les champs suivants :
| Champ | Type | Description |
|---|---|---|
project_id |
Chaîne de caractères | Identifiant unique pour le projet. Utilisez cette valeur comme {project_id} lors de l'appel de l'Point de terminaison Sessions. |
name |
Chaîne de caractères | Le nom d'affichage du projet. |
selected_project_type |
Chaîne de caractères | Type de projet, par exemple axe-devtools-watcher ou axe-devtools-html. |
role |
Chaîne de caractères | Votre rôle sur le projet, par exemple admin. |
created_at |
Chaîne de caractères | Horodatage UTC ISO 8601 pour la création du projet. |
last_session_created_at |
Chaîne de caractères | Horodatage UTC ISO 8601 de la session la plus récente du projet. null lorsque le projet n'a pas de sessions. |
has_git_information |
Booléen | Si le projet a des métadonnées Git associées. |
git_url |
Chaîne de caractères | URL du dépôt Git associé au projet. null quand le projet n'a pas d'informations Git. |
latest_session |
Objet | Détails de la session la plus récente du projet, ou null lorsque le projet n'a pas de sessions. Pour énumérer les sessions d'un projet, utilisez l'Point de terminaison Sessions plutôt que ce champ. |
Exemple de Corps de Réponse
[
{
"project_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "webapp-ci",
"selected_project_type": "axe-devtools-watcher",
"role": "admin",
"created_at": "2026-06-01T14:23:00.000Z",
"last_session_created_at": "2026-06-14T09:12:00.000Z",
"has_git_information": true,
"git_url": "https://github.com/example/webapp",
"latest_session": {
"session_id": "0d4a85a2-9e6f-44ef-b814-fee8412abeb0",
"created_at": "2026-06-14T09:12:00.000Z",
"git_branch": "main"
}
},
{
"project_id": "f0e1d2c3-b4a5-6789-0123-456789abcdef",
"name": "design-system",
"selected_project_type": "axe-devtools-html",
"role": "admin",
"created_at": "2026-05-20T08:00:00.000Z",
"last_session_created_at": null,
"has_git_information": false,
"git_url": null,
"latest_session": null
}
]Pagination par curseur
La pagination est en option. Une requête qui n'envoie ni page_size ni after renvoie la liste complète de vos projets en une seule réponse, sans en-tête de curseur, exactement comme si ces paramètres n'existaient pas.
Pour parcourir les résultats, le point de terminaison Projets utilise la même pagination basée sur le curseur que le Point de terminaison Sessions : lorsqu'il y a plus de résultats au-delà de la page actuelle, une valeur de curseur opaque est renvoyée dans l'en-tête de réponse x-pagination-cursor. Passez cette valeur comme paramètre de requête after dans votre prochaine requête pour récupérer la page suivante.
Lorsque l'en-tête x-pagination-cursor est absent de la réponse, vous avez atteint la dernière page.
Rechercher un ID de Projet par Nom
Cet exemple utilise curl et jq pour trouver l'ID d'un projet à partir de son nom :
curl -s \
-H "Accept: application/json" \
-H "X-API-Key: $API_KEY" \
"https://axe.deque.com/api-pub/v1/results/projects" \
| jq -r '.[] | select(.name == "webapp-ci") | .project_id'Passez l'ID retourné à Point de terminaison Sessions pour lister les sessions de ce projet.
Réponses d'Erreur du Point de Terminaison Projets
| Statut | Cause |
|---|---|
400 Bad Request |
La valeur project_types contient un type de projet invalide, le curseur after est mal formé, ou page_size/after a été répété dans la chaîne de requête. |
401 Unauthorized |
La clé API est invalide, manquante, ou l'abonnement associé est inactif. |
