WASViking Docs
⌘K
Referência da API

Endpoints

Os principais endpoints REST, agrupados por recurso. Todo endpoint exige um header ApiKey.

URL base: https://api.wasviking.com/v1/. Todos os endpoints exigem o header Authorization: ApiKey wv_live_…. Todos os corpos são JSON.

Scans

Método Caminho Escopo Finalidade
POST /scans scans:run Dispara um novo scan.
GET /scans/{id} scans:read Status e metadados do scan.
GET /scans/{id}/findings findings:read Achados produzidos por um scan.
GET /scans/{id}/report.pdf scans:read Relatório em PDF.
POST /scans/{id}/cancel scans:run Cancela um scan em execução.

Dispare um scan

curl -sS https://api.wasviking.com/v1/scans \
  -H "Authorization: ApiKey ${KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "target": "https://app.example.com",
    "template": "prod-web-strict"
  }'
{
  "id": "scan_8fae22c4",
  "status": "queued",
  "template": "prod-web-strict",
  "created_at": "2026-05-21T14:08:11Z"
}

Achados

Método Caminho Escopo Finalidade
GET /findings findings:read Lista os achados, com filtros.
GET /findings/{id} findings:read Detalhe do achado, com evidências.
PATCH /findings/{id} findings:update Transição de status, comentário, responsável.
POST /findings/bulk findings:update Atualização em lote.

Liste os achados

curl -sS "https://api.wasviking.com/v1/findings?status=open&min_risk=70" \
  -H "Authorization: ApiKey ${KEY}"

Parâmetros de consulta suportados:

Parâmetro Observações
status open, accepted, mitigated, false_positive, fixed.
category sqli, xss, cve, token_exposure, etc.
severity critical, high, medium, low.
min_risk, max_risk 0-100.
asset_id Restringe a um único ativo.
since Timestamp ISO 8601.
cursor Cursor de paginação.
limit Padrão 50, máximo 200.

Alvos

Método Caminho Escopo
GET /targets inventory:read
POST /targets targets:manage
GET /targets/{id} inventory:read
PATCH /targets/{id} targets:manage
POST /targets/{id}/archive targets:manage

Inventário

Método Caminho Escopo
GET /inventory/assets inventory:read
GET /inventory/assets/{id} inventory:read
GET /inventory/components/search sca:read
GET /inventory/sbom sca:read

SBOM (envio pelo Sentinel + leitura)

Método Caminho Escopo
POST /sentinel/sbom/submit sca:submit
GET /sca/bundles sca:read
POST /sca/bundles evidence.share
POST /sca/bundles/{id}/revoke evidence.share

Secrets

Método Caminho Escopo
POST /sentinel/secrets/submit secrets:submit
GET /inventory/secrets findings:read

Trilha de auditoria

Método Caminho Escopo
GET /audit-log audit_logs:read

Aceita since, actor, action, cursor, limit.

Webhooks

Método Caminho Escopo
GET /webhooks webhooks:manage
POST /webhooks webhooks:manage
DELETE /webhooks/{id} webhooks:manage
POST /webhooks/{id}/test webhooks:manage

Consulte Eventos de webhook para o catálogo de eventos.

Paginação

Baseada em cursor. A resposta traz next_cursor e prev_cursor quando existem mais páginas. Os cursores são opacos; não tente interpretá-los.

{
  "items": [...],
  "next_cursor": "Y3Vyc29yX2FiYzEyMw==",
  "prev_cursor": null
}

Idempotência

Os endpoints POST aceitam o header Idempotency-Key para novas tentativas seguras. A mesma chave reproduz a mesma resposta dentro de 24 horas.