Référence de l'API des projets

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Répertoriez vos projets sur l'Axe Developer Hub et recherchez un ID de projet de manière programmatique en utilisant l'API REST

Not for use with personal data

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.