Projekte API-Referenz

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

Listen Sie Ihre Axe Developer Hub-Projekte auf und rufen Sie eine Projekt-ID programmatisch mithilfe der REST-API ab

Not for use with personal data

Der Endpunkt Projekte gibt die Liste der Axe Developer Hub-Projekte zurück, auf die Ihr API-Schlüssel zugreifen kann. Verwenden Sie ihn, um die ID eines Projekts anhand seines Namens zu entdecken, damit Sie diese ID an die Sitzungen und Ergebnisse API übergeben können.

Wenn Sie Ihre Projekt-ID bereits kennen, finden Sie sie in Axe Developer Hub und können die Sitzungen und Ergebnisse API direkt aufrufen; Sie benötigen diesen Endpunkt nicht.

Authentifizierung

Alle Anfragen erfordern einen API-Schlüssel. Geben Sie ihn im X-API-Key Header an:

X-API-Key: <DEQUE_API_KEY>

Finden Sie Ihren API-Schlüssel im Axe Account-Portal. Wählen Sie einen Axe Developer Hub API-Schlüssel für Web- oder CI/CD-Projekte oder einen Axe DevTools Mobile API-Schlüssel für mobile Projekte.

Zugangskontrolle

  • Projektmitglieder sehen nur die Projekte, zu denen sie gehören.
  • Org-Admins mit einem aktiven Axe Developer Hub- oder Axe DevTools Mobile-Abonnement sehen jedes Projekt ihrer Organisation von diesem Produkttyp, unabhängig von der Projektmitgliedschaft.
  • In beiden Fällen ist die Antwort auf das Produkt des API-Schlüssels beschränkt: Ein Axe Developer Hub API-Schlüssel gibt nur Axe Developer Hub-Projekte zurück, und ein Axe DevTools Mobile API-Schlüssel gibt nur Axe DevTools Mobile-Projekte zurück.

Ein inaktives Abonnement gibt 401 Unauthorized zurück.

Endpunkt Projekte

Gibt die Liste der Projekte zurück, auf die der authentifizierte API-Schlüssel zugreifen kann.

Anfrage

  • Endpunkt: GET https://axe.deque.com/api-pub/v1/results/projects
  • Header (erforderlich):
    • X-API-Key: <DEQUE_API_KEY>
    • Accept: application/json

Abfrageparameter

Alle Abfrageparameter sind optional.

Parameter Beschreibung
project_types Kommagetrennte Liste von Projekttypen, die zurückgegeben werden sollen, zum Beispiel axe-devtools-watcher,axe-devtools-html. Akzeptiert auch die Aliase web und mobile, die jeweils zu den konkreten Typen für dieses Produkt expandieren. Wird es weggelassen, werden alle Projekttypen zurückgegeben, auf die Ihr API-Schlüssel zugreifen kann.
page_size Anzahl der Projekte, die pro Seite zurückgegeben werden sollen. Standard: 30. Maximum: 100. Werte über dem Maximum werden auf 100 begrenzt. Siehe Cursor-Paginierung.
after Cursor-Wert aus der vorherigen Antwort, der verwendet wird, um die nächste Seite abzurufen. Siehe Cursor-Paginierung.

Antwortinhalt

Eine erfolgreiche Antwort liefert ein JSON-Array von Projektobjekten. Jedes Projektobjekt enthält die folgenden Felder:

Feld Typ Beschreibung
project_id Zeichenkette Eindeutiger Bezeichner für das Projekt. Verwenden Sie diesen Wert als {project_id} beim Aufrufen der Endpunkt Sitzungen.
name Zeichenkette Der Anzeigename des Projekts.
selected_project_type Zeichenkette Der Typ des Projekts, zum Beispiel axe-devtools-watcher oder axe-devtools-html.
role Zeichenkette Ihre Rolle im Projekt, zum Beispiel admin.
created_at Zeichenkette ISO 8601 UTC-Zeitstempel, wann das Projekt erstellt wurde.
last_session_created_at Zeichenkette ISO 8601 UTC-Zeitstempel der letzten Sitzung des Projekts. null, wenn das Projekt keine Sitzungen hat.
has_git_information Boolescher Wert Ob das Projekt mit Git-Metadaten verknüpft ist.
git_url Zeichenkette Git-Repository-URL, die mit dem Projekt verknüpft ist. null, wenn das Projekt keine Git-Informationen hat.
latest_session Objekt Details zur letzten Sitzung des Projekts, oder null, wenn das Projekt keine Sitzungen hat. Um die Sitzungen eines Projekts aufzulisten, verwenden Sie den Endpunkt Sitzungen anstelle dieses Feldes.

Beispielantwortkörper

[
  {
    "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
  }
]

Cursor-Paginierung

Die Paginierung ist optional. Eine Anfrage, die weder page_size noch after sendet, gibt Ihnen Ihre vollständige Projektliste in einer einzigen Antwort zurück, ohne einen Cursor-Header, genau so, als ob diese Parameter nicht existierten.

Um stattdessen durch Ergebnisse zu blättern, verwendet der Projects-Endpunkt die gleiche cursorbasierte Paginierung wie der Endpunkt Sitzungen: Wenn es mehr Ergebnisse jenseits der aktuellen Seite gibt, wird ein undurchsichtiger Cursor-Wert im x-pagination-cursor Antwort-Header zurückgegeben. Geben Sie diesen Wert als after Query-Parameter in Ihrer nächsten Anfrage weiter, um die nächste Seite abzurufen.

Wenn der x-pagination-cursor Header in der Antwort fehlt, haben Sie die letzte Seite erreicht.

Eine Projekt-ID nach Namen suchen

Dieses Beispiel verwendet curl und jq, um die ID eines Projekts anhand seines Namens zu finden:

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'

Geben Sie die zurückgegebene ID an den Endpunkt Sitzungen weiter, um die Sitzungen dieses Projekts aufzulisten.

Error Responses des Projects-Endpunkts

Status Ursache
400 Bad Request Der project_types Wert enthält einen ungültigen Projekttyp, der after Cursor ist fehlerhaft, oder page_size/after wurde in der Query-Zeichenkette wiederholt.
401 Unauthorized Der API-Schlüssel ist ungültig, fehlt oder das zugehörige Abonnement ist inaktiv.