▸ API · Referência

Apps

GET /apps — os apps monitorados e o que verified significa.

atualizado em 2 set 2026versão v1

Lista os apps monitorados

GET/v1/public/appsescopo: apps:read

Os apps da conta. Um app entra aqui de duas formas: cadastrado no painel (nasce com last_scan_at: null) ou automaticamente na primeira ronda contra o hostname — pelo painel ou por POST /scans. Nos dois casos ocupa uma vaga do limite do plano.

A lista não é paginada: o número de apps é limitado pelo plano (Pro: 10 · Business: sem limite), então cabe numa resposta.

Projetos protegidos pela integração da Vercel ou do Lovable NÃO aparecem: eles ocupam a vaga do plano por um registro interno que nunca é alvo de rede. A ronda deles sai pela tela da integração — POST /scans contra o hostname de um projeto atestado responde 409 domain_provider_conflict.

Requisição

curl
curl https://api.guarita.dev/v1/public/apps \
  -H "Authorization: Bearer $GUARITA_API_KEY"

Resposta 200

Apps da conta. Objeto AppList.

200 · application/json
{
  "data": [
    {
      "hostname": "app.exemplo.com.br",
      "created_at": "2026-05-14T09:21:44.108Z",
      "last_scan_at": "2026-08-27T14:09:24.106Z",
      "verified": true
    },
    {
      "hostname": "staging.exemplo.com.br",
      "created_at": "2026-07-02T18:40:02.771Z",
      "last_scan_at": null,
      "verified": false
    }
  ]
}

Campos da resposta

CampoDescrição
data
App[]sempre
Apps da conta, na ordem de cadastro.

Erros

  • 401unauthorizedChave ausente, fora do formato Bearer gsk_…, inexistente, revogada — ou o plano da conta deixou de incluir a API. O corpo é o MESMO em todos os casos, de propósito. Vem com o header WWW-Authenticate.
  • 403insufficient_scopeA chave é válida, mas não tem o escopo da rota.
  • 400bad_requestCorpo malformado (JSON inválido). O status acompanha o motivo: 413 com corpo acima de 1 MB, 415 com Content-Type que não seja JSON — o código error continua bad_request.
  • 500internalErro nosso.
Achou algo errado ou faltando? help@guarita.dev — com o x-request-id, se for sobre uma resposta.