Referência da API de Projetos
Liste seus projetos no Axe Developer Hub e obtenha programaticamente um ID de projeto usando a API REST
O endpoint de Projetos retorna a lista de projetos do Axe Developer Hub que sua chave de API pode acessar. Use-o para descobrir o ID de um projeto a partir do seu nome, para que você possa passar esse ID para a API de Sessões e Resultados.
Se você já souber o ID do seu projeto, poderá encontrá-lo no Axe Developer Hub e chamar a API de Sessões e Resultados diretamente; você não precisa deste endpoint.
Autenticação
Todas as solicitações requerem uma chave de API. Forneça-a usando o cabeçalho X-API-Key:
X-API-Key: <DEQUE_API_KEY>Encontre sua chave de API no Portal de Contas Axe. Escolha uma chave de API do Axe Developer Hub para projetos web ou CI/CD, ou uma chave de API do Axe DevTools Mobile para projetos móveis.
Controle de Acesso
- Membros do projeto veem apenas os projetos aos quais pertencem.
- Admins da organização com uma assinatura ativa do Axe Developer Hub ou Axe DevTools Mobile veem todos os projetos de sua organização desse tipo de produto, independentemente da participação no projeto.
- Em ambos os casos, a resposta está relacionada ao produto da chave de API: uma chave de API do Axe Developer Hub retorna apenas projetos do Axe Developer Hub, e uma chave de API do Axe DevTools Mobile retorna apenas projetos do Axe DevTools Mobile.
Uma assinatura inativa retorna 401 Unauthorized.
Endpoint de Projetos
Retorna a lista de projetos que a chave de API autenticada pode acessar.
Solicitação
- Endpoint:
GET https://axe.deque.com/api-pub/v1/results/projects - Cabeçalhos (obrigatório):
X-API-Key: <DEQUE_API_KEY>Accept: application/json
Parâmetros de Consulta
Todos os parâmetros de consulta são opcionais.
| Parâmetro | Descrição |
|---|---|
project_types |
Lista separada por vírgulas dos tipos de projeto para retornar, por exemplo, axe-devtools-watcher,axe-devtools-html. Também aceita os aliases web e mobile, que expandem para os tipos concretos desse produto. Quando omitido, todos os tipos de projeto que sua chave de API pode acessar são retornados. |
page_size |
Número de projetos a serem retornados por página. Padrão: 30. Máximo: 100. Valores acima do máximo são limitados a 100. Veja Paginação por Cursor. |
after |
Valor do cursor da resposta anterior, usado para recuperar a próxima página. Veja Paginação por Cursor. |
Corpo da Resposta
Uma resposta bem-sucedida retorna um array JSON de objetos de projeto. Cada objeto de projeto inclui os seguintes campos:
| Campo | Tipo | Descrição |
|---|---|---|
project_id |
String | Identificador único para o projeto. Use este valor como {project_id} ao chamar o Endpoint de Sessões. |
name |
String | O nome de exibição do projeto. |
selected_project_type |
String | O tipo do projeto, por exemplo, axe-devtools-watcher ou axe-devtools-html. |
role |
String | Seu papel no projeto, por exemplo, admin. |
created_at |
String | Timestamp UTC ISO 8601 para quando o projeto foi criado. |
last_session_created_at |
String | Timestamp UTC ISO 8601 da sessão mais recente do projeto. null quando o projeto não tem sessões. |
has_git_information |
Booleano | Se o projeto possui metadados Git associados. |
git_url |
String | URL do repositório Git associado ao projeto. null quando o projeto não possui informações Git. |
latest_session |
Objeto | Detalhes da sessão mais recente do projeto, ou null quando o projeto não tem sessões. Para enumerar as sessões de um projeto, use a Endpoint de Sessões em vez deste campo. |
Exemplo de Corpo de Resposta
[
{
"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
}
]Paginação por Cursor
A paginação é opcional. Uma solicitação que não envia nem page_size nem after retorna sua lista completa de projetos em uma única resposta, sem cabeçalho de cursor, exatamente como se esses parâmetros não existissem.
Para paginar pelos resultados, o endpoint de Projetos usa a mesma paginação baseada em cursor que o Endpoint de Sessões: quando há mais resultados além da página atual, um valor de cursor opaco é retornado no cabeçalho da resposta x-pagination-cursor. Passe este valor como o parâmetro de consulta after na sua próxima requisição para recuperar a próxima página.
Quando o cabeçalho x-pagination-cursor está ausente da resposta, você chegou à última página.
Buscar um ID de Projeto pelo Nome
Este exemplo usa curl e jq para encontrar o ID de um projeto a partir do seu 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'Passe o ID retornado para o Endpoint de Sessões para listar as sessões desse projeto.
Respostas de Erro do Endpoint de Projetos
| Status | Causa |
|---|---|
400 Bad Request |
O valor project_types contém um tipo de projeto inválido, o cursor after está malformado ou page_size/after foi repetido na string de consulta. |
401 Unauthorized |
A chave da API é inválida, está ausente ou a assinatura associada está inativa. |
