Skip to content

Developers

API reference · v1

JSON over HTTPS. Errors return {error: {code, message, request_id}} with stable codes such as invalid_input, private_target and rate_limited. Anonymous scans are rate-limited per client.

POST/api/v1/scans

Create a scan. Body: {"input": "example.com"}. Returns 202 with a scan id; the scan runs asynchronously.

GET/api/v1/scans/{id}

Scan status, component progress and summary. Add ?full=1 for the full report.

GET/api/v1/scans/{id}/findings

Paginated checks. Filters: status, category, severity, page, per_page.

GET/api/v1/scans/{id}/report

Complete immutable report snapshot as a JSON download.

GET/api/v1/websites/{domain}/history

Completed scans for a domain, newest first.

GET/api/v1/scans/compare?before=&after=

New, resolved and persistent issues plus score changes.

POST/api/v1/domains/verify

Get ({domain}) or check ({domain, check: true}) the DNS TXT ownership proof.

POST/api/v1/requests

Submit a repair, rebuild or Voice-First request.

GET/api/v1/health

Service health and versions.

curl -X POST https://www.zapweb.ai/api/v1/scans \
  -H "content-type: application/json" \
  -d '{"input":"example.com"}'
# → {"id":"…","status":"running","links":{"self":"/api/v1/scans/…"}}