Riferimento API dei Progetti

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

Elenca i tuoi progetti nell'Axe Developer Hub e cerca un ID progetto programmaticamente utilizzando l'API REST

Not for use with personal data

L'endpoint dei Progetti restituisce l'elenco dei progetti dell'Axe Developer Hub a cui la tua chiave API può accedere. Usalo per scoprire l'ID di un progetto dal suo nome, in modo da poter passare quell'ID alla API di Sessioni e Risultati.

Se già conosci il tuo ID progetto, puoi trovarlo in Axe Developer Hub e chiamare direttamente l'API di Sessioni e Risultati; non hai bisogno di questo endpoint.

Autenticazione

Tutte le richieste richiedono una chiave API. Forniscila utilizzando l'intestazione X-API-Key:

X-API-Key: <DEQUE_API_KEY>

Trova la tua chiave API nel Portale Account Axe. Scegli una chiave API per Axe Developer Hub per progetti web o CI/CD, oppure una chiave API per Axe DevTools Mobile per progetti mobile.

Controllo di Accesso

  • Membri del progetto vedono solo i progetti di cui fanno parte.
  • Amministratori dell'Org con un abbonamento attivo a Axe Developer Hub o Axe DevTools Mobile vedono ogni progetto nella loro organizzazione di quel tipo di prodotto, indipendentemente dall'appartenenza al progetto.
  • In entrambi i casi, la risposta è limitata al prodotto della chiave API: una chiave API per Axe Developer Hub restituisce solo progetti di Axe Developer Hub, e una chiave API per Axe DevTools Mobile restituisce solo progetti di Axe DevTools Mobile.

Una abbonamento inattivo restituisce 401 Unauthorized.

Endpoint dei Progetti

Restituisce l'elenco dei progetti a cui la chiave API autenticata può accedere.

Richiesta

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

Parametri di Query

Tutti i parametri di query sono opzionali.

Parametro Descrizione
project_types Elenco di tipi di progetto separati da virgole da restituire, per esempio axe-devtools-watcher,axe-devtools-html. Accetta anche gli alias web e mobile, che ognuno si espande ai tipi concreti per quel prodotto. Quando omesso, vengono restituiti tutti i tipi di progetto a cui la tua chiave API può accedere.
page_size Numero di progetti da restituire per pagina. Predefinito: 30. Massimo: 100. Valori al di sopra del massimo sono limitati a 100. Vedi Paginazione con Cursore.
after Valore del cursore dalla risposta precedente, usato per recuperare la pagina successiva. Vedi Paginazione con Cursore.

Corpo della Risposta

Una risposta di successo restituisce un array JSON di oggetti progetto. Ogni oggetto progetto include i seguenti campi:

Campo Tipo Descrizione
project_id Stringa Identificatore univoco per il progetto. Usa questo valore come {project_id} quando chiami il endpoint delle Sessioni.
name Stringa Il nome visualizzato del progetto.
selected_project_type Stringa Il tipo del progetto, per esempio axe-devtools-watcher o axe-devtools-html.
role Stringa Il tuo ruolo nel progetto, per esempio admin.
created_at Stringa Timestamp UTC ISO 8601 per quando il progetto è stato creato.
last_session_created_at Stringa Timestamp UTC ISO 8601 della sessione più recente del progetto. null quando il progetto non ha sessioni.
has_git_information Booleano Se il progetto ha associato metadati Git.
git_url Stringa URL del repository Git associato al progetto. null quando il progetto non ha informazioni Git.
latest_session Oggetto Dettagli della sessione più recente del progetto, oppure null quando il progetto non ha sessioni. Per enumerare le sessioni di un progetto, usa il endpoint delle Sessioni anziché questo campo.

Esempio di Corpo della Risposta

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

Paginazione con Cursore

La paginazione è opzionale. Una richiesta che non invia né page_sizeafter restituisce l'elenco completo dei progetti in un'unica risposta, senza intestazione del cursore, esattamente come se questi parametri non esistessero.

Per scorrere invece i risultati, l'endpoint dei Progetti utilizza la stessa paginazione basata su cursore del endpoint delle Sessioni: quando ci sono altri risultati oltre la pagina corrente, viene restituito un valore opaco del cursore nell'intestazione della risposta x-pagination-cursor. Passa questo valore come parametro di query after nella tua prossima richiesta per recuperare la pagina successiva.

Quando l'intestazione x-pagination-cursor è assente dalla risposta, hai raggiunto l'ultima pagina.

Individua un ID Progetto per Nome

Questo esempio utilizza curl e jq per trovare l'ID di un progetto dal suo nome:

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'

Passa l'ID restituito al endpoint delle Sessioni per elencare le sessioni di quel progetto.

Risposte di Errore dell'Endpoint Progetti

Stato Causa
400 Bad Request Il valore project_types contiene un tipo di progetto non valido, il cursore after è malformato, o page_size/after è stato ripetuto nella stringa di query.
401 Unauthorized La chiave API non è valida, è mancante, o l'abbonamento associato è inattivo.