Riferimento API dei Progetti
Elenca i tuoi progetti nell'Axe Developer Hub e cerca un ID progetto programmaticamente utilizzando l'API REST
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_size né after 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. |
